|
|
@@ -37,6 +37,156 @@ RadioRampTimes_t = {
|
|
|
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",
|
|
|
+}
|
|
|
+
|
|
|
+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 = {
|
|
|
+ test = "测试",
|
|
|
+ PacketParams = PacketParams_t,
|
|
|
+ PacketStatus = PacketStatus_t,
|
|
|
+ ModulationParams = ModulationParams_t
|
|
|
+}
|
|
|
+
|
|
|
-- 定义Radio命令枚举(字符串格式,用于直接通信)
|
|
|
--[[
|
|
|
Represents all possible opcode understood by the radio
|