LoRa Send and Receive works

This commit is contained in:
2021-09-30 13:28:58 +03:00
parent 5f0cf28755
commit c6c656aa0d
6 changed files with 156 additions and 39 deletions

View File

@@ -23,7 +23,7 @@ enum sx1276_reg {
SX1276_REG_FIFO_RX_CURRENT_ADDR = 0x10, // Start address of last packet received
SX1276_REG_IRQ_FLAGS = 0x12, // IRQ flags
SX1276_REG_RX_NB_BYTES = 0x13, // Number of received bytes
SX1276_REG_MODEM_STATUS = 0x18, // Live LoRa modem status
SX1276_REG_MODEM_STATUS = 0x18, // Live LoRa modem status
SX1276_REG_PKT_SNR_VALUE = 0x19, // Espimation of last packet SNR
SX1276_REG_PKT_RSSI_VALUE = 0x1a, // RSSI of last packet
SX1276_REG_MODEM_CONFIG_1 = 0x1d, // Modem PHY config 1
@@ -31,6 +31,7 @@ enum sx1276_reg {
SX1276_REG_PREAMBLE_MSB = 0x20, // Size of preamble
SX1276_REG_PREAMBLE_LSB = 0x21, // Size of preamble
SX1276_REG_PAYLOAD_LENGTH = 0x22, // LoRa payload length
SX1276_REG_FIFO_RX_BYTE_PTR = 0x25, // Current value of RX databuffer pointer (written by Lora receiver)
SX1276_REG_MODEM_CONFIG_3 = 0x26, // Modem PHY config 3
SX1276_REG_RSSI_WIDEBAND = 0x2c, // Wideband RSSI measurement
SX1276_REG_DETECTION_OPTIMIZE = 0x31, // LoRa detection Optimize for SF6
@@ -60,10 +61,17 @@ enum sx1276_mode { // SX1276_REG_OP_MODE values
// PA config
#define PA_BOOST 1<<7
// IRQ masks
#define IRQ_TX_DONE_MASK 0x08
#define IRQ_PAYLOAD_CRC_ERROR_MASK 0x20
#define IRQ_RX_DONE_MASK 0x40
// LORA IRQ masks
enum sx1276_lora_irq {
SX1267_LORA_IRQ_RX_TIMEOUT = 1<<7,
SX1267_LORA_IRQ_RX_DONE = 1<<6,
SX1267_LORA_IRQ_PAYLOAD_CRC_ERR = 1<<5,
SX1267_LORA_IRQ_VALID_HEADER = 1<<4,
SX1267_LORA_IRQ_TX_DONE = 1<<3,
SX1267_LORA_IRQ_CAD_DONE = 1<<2,
SX1267_LORA_IRQ_FHSS_CHANGE_CH = 1<<1,
SX1267_LORA_IRQ_CAD_DETECTED = 1<<0,
};
// FSK IRQ FLAGS
#define IRQ_FLAGS1_MODE_READY 1<<7 // Set when the operation mode requested in Mode, is ready