Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmware: Develop a driver for the SX127x transceiver #60

Open
mgm8 opened this issue Dec 14, 2021 · 1 comment
Open

Firmware: Develop a driver for the SX127x transceiver #60

mgm8 opened this issue Dec 14, 2021 · 1 comment
Assignees
Labels
drivers Drivers firmware FIrmware sx127x SX127x

Comments

@mgm8
Copy link
Member

mgm8 commented Dec 14, 2021

Reference: https://www.semtech.com/products/wireless-rf/lora-core/sx1278
Driver reference: https://www.nicerf.com/products/detail/sx1278-wireless-module-lora1278f30.html

@miguelboing
Copy link
Member

miguelboing commented Jan 5, 2023

Implementation progress:

  • sx127x_init(void);
  • sx127x_rx_init(void);
  • sx127x_tx_packet(uint8_t *data, uint16_t len);
  • sx127x_rx_packet(uint8_t *data, uint16_t *len);
  • sx127x_wait_irq(uint8_t irq_mask);
  • sx127x_enter_standby_mode(void);
  • sx127x_enter_sleep_mode(void);
  • sx127x_clear_interrupt(void);
  • sx127x_set_frequency(uint32_t freq);
  • sx127x_set_rf_param(uint8_t bw, uint8_t cr, uint8_t sf, uint8_t crc);
  • sx127x_set_preamble_len(uint16_t len);
  • sx127x_set_header_mode(uint8_t mode);
  • sx127x_set_payload_len(uint8_t len);
  • sx127x_set_tx_power(uint8_t pwr);
  • sx127x_set_rx_timeout(uint16_t symb_timeout);
  • sx127x_read_rssi(uint8_t mode, uint8_t rssi_val);
  • sx127x_power_on_reset(void);
  • sx127x_config(void);
  • sx127x_set_ant_switch(sx127x_mode_t mode);
  • sx127x_set_fifo_addr_ptr(uint8_t adr);
  • sx127x_enter_rx_mode(void);
  • sx127x_enter_tx_mode(void);
  • sx127x_write_fifo(uint8_t *data, uint8_t len);
  • sx127x_read_fifo(uint8_t *data, uint8_t *len);
  • sx127x_set_tx_interrupt(void);
  • sx127x_set_rx_interrupt(void);
  • sx127x_read_reg(uint8_t adr, uint8_t *val);
  • sx127x_write_reg(uint8_t adr, uint8_t val);
  • sx127x_burst_read(uint8_t adr, uint8_t *ptr, uint8_t len);
  • sx127x_burst_write(uint8_t adr, uint8_t *ptr, uint8_t len);
  • sx127x_spi_init(void);
  • sx127x_spi_transfer(uint8_t *wd, uint8_t *rd, uint16_t len);
  • sx127x_spi_write_byte(uint8_t byte);
  • sx127x_spi_write(uint8_t *data, uint16_t len);
  • sx127x_spi_read(uint8_t *data, uint16_t len);
  • sx127x_gpio_init(void);
  • sx127X_gpio_write_reset(bool state);
  • sx127x_gpio_read_nirq(void);
  • sx127x_delay_ms(uint32_t ms);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
drivers Drivers firmware FIrmware sx127x SX127x
Projects
None yet
Development

No branches or pull requests

2 participants