|
|
@@ -61,10 +61,10 @@ function SX126xWriteCommand(command,buffer)
|
|
|
for i, num in ipairs(buffer) do
|
|
|
bufferTotal = bufferTotal .. num
|
|
|
end
|
|
|
- Drv_spi.drv_spi_read_write_byte(command,0)
|
|
|
-
|
|
|
- sys.wait(20)
|
|
|
- Drv_spi.drv_spi_read_write_byte(bufferTotal,0)
|
|
|
+ Drv_spi.drv_spi_read_write_byte(command .. bufferTotal,0)
|
|
|
+ -- 50
|
|
|
+ -- sys.wait(20)
|
|
|
+ -- Drv_spi.drv_spi_read_write_byte(bufferTotal,0)
|
|
|
-- local ret = Drv_spi.drv_spi_read_write_byte("1d07400000",1);
|
|
|
-- log.info("SX126xWriteCommand",Drv_spi.drv_spi_read_write_byte(bufferTotal,1))
|
|
|
|
|
|
@@ -124,7 +124,7 @@ end
|
|
|
|
|
|
|
|
|
function SX126xSetStandby(standbyConfig)
|
|
|
- SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_STANDBY,{"00"})
|
|
|
+ SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_STANDBY,{standbyConfig})
|
|
|
-- log.info("SX126xSetStandby_操作模式",standbyConfig)
|
|
|
|
|
|
if standbyConfig == sx126x_reg.RadioStandbyModes_t.STDBY_RC then
|
|
|
@@ -145,29 +145,31 @@ end
|
|
|
|
|
|
function SX126xSetPaConfig(paDutyCycle,hpMax,deviceSel,paLut)
|
|
|
local buf = {paDutyCycle,hpMax,deviceSel,paLut}
|
|
|
- -- log.info("SX126xSetPaConfig",buf)
|
|
|
- SX126xWriteCommand("95",buf)
|
|
|
+ SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_PACONFIG,buf)
|
|
|
+ log.info("SX126xSetPaConfig",sx126x_reg.RadioCommands.RADIO_SET_PACONFIG)
|
|
|
end
|
|
|
|
|
|
function SX126xSetTxParams(power, rampTime)
|
|
|
local buf = {power,rampTime}
|
|
|
SX126xSetPaConfig("04","07","00","01")
|
|
|
- SX126xWriteRegister( sx126x_reg.REG_OCP, {"38"} );
|
|
|
+ SX126xWriteRegister( sx126x_reg.REG_OCP, {"38"} )
|
|
|
SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_TXPARAMS,buf)
|
|
|
|
|
|
end
|
|
|
|
|
|
-function SX126xSetDioIrqParams2222(timeout, freq, rfChain, power, preambleLen)
|
|
|
- local buf = {timeout, freq, rfChain, power, preambleLen}
|
|
|
- SX126xSetTxParams(power, sx126x_reg.RadioRampTimes_t.RADIO_RAMP_40_US)
|
|
|
- SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_TX,buf)
|
|
|
-end
|
|
|
+-- function SX126xSetDioIrqParams2222(timeout, freq, rfChain, power, preambleLen)
|
|
|
+-- local buf = {timeout, freq, rfChain, power, preambleLen}
|
|
|
+-- SX126xSetTxParams(power, sx126x_reg.RadioRampTimes_t.RADIO_RAMP_40_US)
|
|
|
+-- SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_TX,buf)
|
|
|
+-- end
|
|
|
|
|
|
|
|
|
function SX126xSetDioIrqParams(irqMask, dio1Mask, dio2Mask, dio3Mask )
|
|
|
- local buf = {"02","01","02","01","00","00","00","00"}
|
|
|
- buf[2] = irqMask
|
|
|
- buf[4] = irqMask
|
|
|
+ local buf = {"02","02","02","02","00","00","00","00"}
|
|
|
+ -- buf[2] = irqMask
|
|
|
+ -- buf[4] = irqMask
|
|
|
+ local jsondata = json.encode(buf)
|
|
|
+ log.info("SX126xSetModulationParams.encode",jsondata)
|
|
|
SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_CFG_DIOIRQ,buf)
|
|
|
end
|
|
|
|
|
|
@@ -182,7 +184,8 @@ end
|
|
|
|
|
|
function SX126xSetPacketType(packetType)
|
|
|
PacketType = packetType;
|
|
|
- SX126xWriteCommand( sx126x_reg.RadioCommands.RADIO_SET_PACKETTYPE,{PacketType});
|
|
|
+ SX126xWriteCommand( sx126x_reg.RadioCommands.RADIO_SET_PACKETTYPE,{PacketType})
|
|
|
+ log.info("PacketType:",PacketType,sx126x_reg.RadioCommands.RADIO_SET_PACKETTYPE)
|
|
|
end
|
|
|
|
|
|
function RadioSetPublicNetwork(enable)
|
|
|
@@ -226,7 +229,8 @@ end
|
|
|
|
|
|
|
|
|
function SX126xSetPacketParams(packetParams)
|
|
|
- buf = { packetParams.Params.LoRa.PreambleLength,
|
|
|
+ buf = { "00",
|
|
|
+ packetParams.Params.LoRa.PreambleLength,
|
|
|
packetParams.Params.LoRa.HeaderType,
|
|
|
packetParams.Params.LoRa.PayloadLength,
|
|
|
packetParams.Params.LoRa.CrcMode,
|
|
|
@@ -256,7 +260,8 @@ function RadioSetTxConfig(modem,power,fdev,bandwidth,datarate,coderate,preambleL
|
|
|
SX126xSetStopRxTimerOnPreambleDetect("00") -- = flase
|
|
|
SX126xSetLoRaSymbNumTimeout("00")
|
|
|
SX126xCopy.ModulationParams.PacketType = sx126x_reg.RadioPacketTypes_t.PACKET_TYPE_LORA
|
|
|
- SX126xCopy.ModulationParams.Params.LoRa.SpreadingFactor = "0b"
|
|
|
+
|
|
|
+ SX126xCopy.ModulationParams.Params.LoRa.SpreadingFactor = string.format("%02X", datarate)
|
|
|
SX126xCopy.ModulationParams.Params.LoRa.Bandwidth = "05"
|
|
|
SX126xCopy.ModulationParams.Params.LoRa.CodingRate= coderate
|
|
|
|
|
|
@@ -267,6 +272,8 @@ function RadioSetTxConfig(modem,power,fdev,bandwidth,datarate,coderate,preambleL
|
|
|
-- end
|
|
|
SX126xCopy.ModulationParams.Params.LoRa.LowDatarateOptimize = "00"
|
|
|
|
|
|
+
|
|
|
+
|
|
|
SX126xCopy.PacketParams.PacketType = sx126x_reg.RadioPacketTypes_t.PACKET_TYPE_LORA
|
|
|
|
|
|
SX126xCopy.PacketParams.Params.LoRa.PreambleLength = preambleLen
|
|
|
@@ -275,9 +282,7 @@ function RadioSetTxConfig(modem,power,fdev,bandwidth,datarate,coderate,preambleL
|
|
|
SX126xCopy.PacketParams.Params.LoRa.PayloadLength = "FF"
|
|
|
SX126xCopy.PacketParams.Params.LoRa.CrcMode = crcOn
|
|
|
SX126xCopy.PacketParams.Params.LoRa.InvertIQ = iqInverted
|
|
|
-
|
|
|
-
|
|
|
- gsonLoginfo("SX126xCopy",SX126xCopy.PacketParams.Params.LoRa)
|
|
|
+ -- gsonLoginfo("SX126xCopy",SX126xCopy.PacketParams.Params.LoRa)
|
|
|
|
|
|
SX126xSetStandby(sx126x_reg.RadioStandbyModes_t.STDBY_RC)
|
|
|
RadioSetModem(sx126x_reg.RadioModems_t.MODEM_LORA)
|
|
|
@@ -331,23 +336,22 @@ function SX126xInit()
|
|
|
SX126xIoInit()
|
|
|
SX126xReset()
|
|
|
SX126xWakeup()
|
|
|
- SX126xReadCommand(sx126x_reg.RadioCommands.RADIO_GET_STATUS,1)
|
|
|
-- local table = {sx126x_reg.RadioStandbyModes_t.STDBY_RC}
|
|
|
SX126xSetStandby(sx126x_reg.RadioStandbyModes_t.STDBY_RC)
|
|
|
- -- -- local table1 = {sx126x_reg.RadioStandbyModes_t.USE_DCDC}
|
|
|
- -- SX126xSetRegulatorMode(sx126x_reg.RadioStandbyModes_t.USE_DCDC)
|
|
|
- -- SX126xSetBufferBaseAddress("00","00")
|
|
|
- -- SX126xSetTxParams( "00", sx126x_reg.RadioRampTimes_t.RADIO_RAMP_200_US )
|
|
|
- -- SX126xSetDioIrqParams( sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE )
|
|
|
+ -- local table1 = {sx126x_reg.RadioStandbyModes_t.USE_DCDC}
|
|
|
+ SX126xSetRegulatorMode(sx126x_reg.RadioStandbyModes_t.USE_DCDC)
|
|
|
+ SX126xSetBufferBaseAddress("00","00")
|
|
|
+ SX126xSetTxParams( "00", sx126x_reg.RadioRampTimes_t.RADIO_RAMP_200_US )
|
|
|
+ SX126xSetDioIrqParams( sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_ALL, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE, sx126x_reg.RadioIrqMasks_t.IRQ_RADIO_NONE )
|
|
|
|
|
|
- -- -- -- local table2 = {sx126x_reg.RadioStandbyModes_t.STDBY_RC}
|
|
|
- -- SX126xSetStandby(sx126x_reg.RadioStandbyModes_t.STDBY_RC)
|
|
|
+ -- -- local table2 = {sx126x_reg.RadioStandbyModes_t.STDBY_RC}
|
|
|
+ SX126xSetStandby(sx126x_reg.RadioStandbyModes_t.STDBY_RC)
|
|
|
|
|
|
- -- sys.wait(2000)
|
|
|
- -- RadioSetTxConfig(sx126x_reg.RadioModems_t.MODEM_LORA,"16",0,1,7,"01","0c","00","01","00","00","00",3000)
|
|
|
+ sys.wait(2000)
|
|
|
+ RadioSetTxConfig(sx126x_reg.RadioModems_t.MODEM_LORA,"16",0,1,7,"01","0c","00","01","00","00","00",3000)
|
|
|
|
|
|
- -- log.info("RadioSetTxConfig",string.format("%02X", 433000000))
|
|
|
- -- RadioSetChannel(string.format("%02X", 433000000))
|
|
|
+ log.info("RadioSetTxConfig",string.format("%02X", 433000000))
|
|
|
+ RadioSetChannel(string.format("%02X", 433000000))
|
|
|
end
|
|
|
|
|
|
sys.taskInit(function ()
|
|
|
@@ -376,7 +380,7 @@ sys.taskInit(function ()
|
|
|
|
|
|
sys.wait(20)
|
|
|
log.info("计算结果")
|
|
|
- -- RadioSend("A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9A9","01","00")
|
|
|
+ RadioSend("A9","01","00")
|
|
|
SX126xReadCommand(sx126x_reg.RadioCommands.RADIO_GET_STATUS,1)
|
|
|
-- SX126xWakeup()
|
|
|
sys.wait(1000)
|