| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- --- 模块功能:存储sx126x寄存器数据
- module(...,package.seeall)
- --[[
- The addresses of the register holding LoRa Modem SyncWord value
- ]]
- REG_LR_SYNCWORD = "0740"
- REG_LR_SYNCWORD_LSB = "0741"
- REG_OCP = "08E7"
- LORA_MAC_PRIVATE_SYNCWORD = "1424"
- LORA_MAC_PUBLIC_SYNCWORD = "3444"
- RadioStandbyModes_t = {
- STDBY_RC = "00",
- STDBY_XOSC = "01",
- }
- RadioModems_t = {
- MODEM_FSK = 0,
- MODEM_LORA = 1,
- }
- RadioOperatingModes_t = {
- MODE_SLEEP = "00",
- MODE_STDBY_RC = "01",
- MODE_STDBY_XOSC = "02",
- MODE_FS = "03",
- MODE_TX = "04",
- MODE_RX = "05",
- MODE_RX_DC = "06",
- MODE_CAD = "07"
- }
- RadioRampTimes_t = {
- RADIO_RAMP_10_US = "00",
- RADIO_RAMP_20_US = "01",
- RADIO_RAMP_40_US = "02",
- RADIO_RAMP_80_US = "03",
- RADIO_RAMP_200_US = "04",
- RADIO_RAMP_800_US = "05",
- RADIO_RAMP_1700_US = "06",
- RADIO_RAMP_3400_US = "07"
- }
- RadioPreambleDetection_t = {
- RADIO_PREAMBLE_DETECTOR_OFF = "00",
- RADIO_PREAMBLE_DETECTOR_08_BITS = "01",
- RADIO_PREAMBLE_DETECTOR_16_BITS = "02",
- RADIO_PREAMBLE_DETECTOR_24_BITS = "03",
- RADIO_PREAMBLE_DETECTOR_32_BITS = "04"
- }
- RadioAddressComp_t = {
- RADIO_ADDRESSCOMP_FILT_OFF = "00",
- RADIO_ADDRESSCOMP_FILT_NODE = "01",
- RADIO_ADDRESSCOMP_FILT_NODE_BROAD = "02"
- }
- RadioPacketLengthModes_t = {
- RADIO_PACKET_FIXED_LENGTH = "00",
- RADIO_PACKET_VARIABLE_LENGTH = "01"
- }
- RadioCrcTypes_t = {
- RADIO_CRC_OFF = "01",
- RADIO_CRC_1_BYTES = "00",
- RADIO_CRC_2_BYTES = "02",
- RADIO_CRC_1_BYTES_INV = "04",
- RADIO_CRC_2_BYTES_INV = "06",
- RADIO_CRC_2_BYTES_IBM = "F1",
- RADIO_CRC_2_BYTES_CCIT = "F2"
- }
- RadioDcFree_t = {
- RADIO_DC_FREE_OFF = "00",
- RADIO_DC_FREEWHITENING = "01",
- }
- RadioLoRaPacketLengthsMode_t = {
- LORA_PACKET_VARIABLE_LENGTH = "00",
- LORA_PACKET_FIXED_LENGTH = "01",
- LORA_PACKET_EXPLICIT = LORA_PACKET_VARIABLE_LENGTH,
- LORA_PACKET_IMPLICIT = LORA_PACKET_FIXED_LENGTH,
- }
- RadioLoRaCrcModes_t = {
- LORA_CRC_ON = "01", -- //!< CRC activated
- LORA_CRC_OFF = "00", --//!< CRC not used
- }
- RadioLoRaIQModes_t = {
- LORA_IQ_NORMAL = "00",
- LORA_IQ_INVERTED = "01",
- }
- RadioPacketTypes_t = {
- PACKET_TYPE_GFSK = "00",
- PACKET_TYPE_LORA = "01",
- PACKET_TYPE_NONE = "0F",
- }
- RadioModShapings_t = {
- MOD_SHAPING_OFF = "00",
- MOD_SHAPING_G_BT_03 = "08",
- MOD_SHAPING_G_BT_05 = "09",
- MOD_SHAPING_G_BT_07 = "0A",
- MOD_SHAPING_G_BT_1 = "0B",
- }
- RadioLoRaSpreadingFactors_t = {
- LORA_SF5 = "05",
- LORA_SF6 = "06",
- LORA_SF7 = "07",
- LORA_SF8 = "08",
- LORA_SF9 = "09",
- LORA_SF10 = "0A",
- LORA_SF11 = "0B",
- LORA_SF12 = "0C",
- }
- RadioLoRaCodingRates_t = {
- LORA_CR_4_5 = "01",
- LORA_CR_4_6 = "02",
- LORA_CR_4_7 = "03",
- LORA_CR_4_8 = "04",
- }
- RadioLoRaBandwidths_t = {
- LORA_BW_125,
- LORA_BW_250,
- LORA_BW_500
- }
- Bandwidths = RadioLoRaBandwidths_t
- PacketParams_t = {
- PacketType = RadioPacketTypes_t,
- Params = {
- Gfsk = {
- PreambleLength = nil; -- //!< The preamble Tx length for GFSK packet type in bit
- PreambleMinDetect = RadioPreambleDetection_t; --//!< The preamble Rx length minimal for GFSK packet type
- SyncWordLength = nil; --//!< The synchronization word length for GFSK packet type
- AddrComp = RadioAddressComp_t; --//!< Activated SyncWord correlators
- HeaderType = RadioPacketLengthModes_t; --//!< If the header is explicit, it will be transmitted in the GFSK packet. If the header is implicit, it will not be transmitted
- PayloadLength = nil; --//!< Size of the payload in the GFSK packet
- CrcLength = RadioCrcTypes_t; --//!< Size of the CRC block in the GFSK packet
- DcFree = RadioDcFree_t;
- },
- LoRa = {
- PreambleLength = nil;
- HeaderType = RadioLoRaPacketLengthsMode_t;
- PayloadLength = nil;
- CrcMode = RadioLoRaCrcModes_t;
- InvertIQ = RadioLoRaIQModes_t;
- }
- }
- }
- PacketStatus_t = {
- PacketType = RadioPacketTypes_t,
- Params = {
- Gfsk = {
- RxStatus = nil,
- RssiAvg = nil, --//!< The averaged RSSI
- RssiSync = nil, --//!< The RSSI measured on last packet
- FreqError = nil
- },
- LoRa = {
- RssiPkt = nil, -- //!< The RSSI of the last packet
- SnrPkt = nil, -- //!< The SNR of the last packet
- SignalRssiPkt = nil,
- FreqError = nil
- }
- }
- }
- ModulationParams_t = {
- PacketType = RadioPacketTypes_t,
- Params = {
- Gfsk = {
- BitRate = nil,
- Fdev = nil,
- ModulationShaping =RadioModShapings_t,
- Bandwidth = nil
- },
- LoRa = {
- SpreadingFactor = RadioLoRaSpreadingFactors_t, --//!< Spreading Factor for the LoRa modulation
- Bandwidth = RadioLoRaBandwidths_t, --//!< Bandwidth for the LoRa modulation
- CodingRate = RadioLoRaCodingRates_t, --//!< Coding rate for the LoRa modulation
- LowDatarateOptimize = nil; -- //!< Indicates if the modem uses the low datarate optimization
- }
- }
- }
- SX126x_t = {
- PacketParams = PacketParams_t,
- PacketStatus = PacketStatus_t,
- ModulationParams = ModulationParams_t
- }
- -- 定义Radio命令枚举(字符串格式,用于直接通信)
- --[[
- Represents all possible opcode understood by the radio
- ]]
- RadioCommands = {
- RADIO_GET_STATUS = "C0",
- RADIO_WRITE_REGISTER = "0D",
- RADIO_READ_REGISTER = "1D",
- RADIO_WRITE_BUFFER = "0E",
- RADIO_READ_BUFFER = "1E",
- RADIO_SET_SLEEP = "84",
- RADIO_SET_STANDBY = "80",
- RADIO_SET_FS = "C1",
- RADIO_SET_TX = "83",
- RADIO_SET_RX = "82",
- RADIO_SET_RXDUTYCYCLE = "94",
- RADIO_SET_CAD = "C5",
- RADIO_SET_TXCONTINUOUSWAVE = "D1",
- RADIO_SET_TXCONTINUOUSPREAMBLE = "D2",
- RADIO_SET_PACKETTYPE = "8A",
- RADIO_GET_PACKETTYPE = "11",
- RADIO_SET_RFFREQUENCY = "86",
- RADIO_SET_TXPARAMS = "8E",
- RADIO_SET_PACONFIG = "95",
- RADIO_SET_CADPARAMS = "88",
- RADIO_SET_BUFFERBASEADDRESS = "8F",
- RADIO_SET_MODULATIONPARAMS = "8B",
- RADIO_SET_PACKETPARAMS = "8C",
- RADIO_GET_RXBUFFERSTATUS = "13",
- RADIO_GET_PACKETSTATUS = "14",
- RADIO_GET_RSSIINST = "15",
- RADIO_GET_STATS = "10",
- RADIO_RESET_STATS = "00",
- RADIO_CFG_DIOIRQ = "08",
- RADIO_GET_IRQSTATUS = "12",
- RADIO_CLR_IRQSTATUS = "02",
- RADIO_CALIBRATE = "89",
- RADIO_CALIBRATEIMAGE = "98",
- RADIO_SET_REGULATORMODE = "96",
- RADIO_GET_ERROR = "17",
- RADIO_CLR_ERROR = "07",
- RADIO_SET_TCXOMODE = "97",
- RADIO_SET_TXFALLBACKMODE = "93",
- RADIO_SET_RFSWITCHMODE = "9D",
- RADIO_SET_STOPRXTIMERONPREAMBLE = "9F",
- RADIO_SET_LORASYMBTIMEOUT = "A0"
- }
|