Ver código fonte

第一版通讯失败

xuxinyi 4 meses atrás
pai
commit
225e74ad11
2 arquivos alterados com 31 adições e 8 exclusões
  1. 2 2
      drv_periph/Drv_spi.lua
  2. 29 6
      drv_periph/sx126x_driver.lua

+ 2 - 2
drv_periph/Drv_spi.lua

@@ -21,7 +21,7 @@ result = nil
 function SPI_GPIO_Init()
     result = spi.setup(spi.SPI_1,0,0,8,800000,1)--初始化spi,
     log.info("spi1",spi.SPI_1)
-    log.info("Lora Spi init :",result)
+    -- log.info("Lora Spi init :",result)
 end
 
 --[[
@@ -32,7 +32,7 @@ end
 ]]
 function drv_spi_read_write_byte(txDat,size)
     local ret = spi.send_recv(spi.SPI_1,string.fromHex(txDat)):toHex()
-    log.info("spi_read_write_byte",ret)
+    -- log.info("spi_read_write_byte",ret)
     if size == nil or size == 0 then
         return 0
     else

+ 29 - 6
drv_periph/sx126x_driver.lua

@@ -30,6 +30,11 @@ RadioPublicNetwork = RadioPublicNetwork_t
 SX126xResetGPIO = pins.setup(pio.P0_13,0)
 OperatingMode = sx126x_reg.RadioStandbyModes_t.STDBY_RC
 
+function gsonLoginfo(data)
+    local jsondata = json.encode(data)
+    log.info("SX126xSetModulationParams.encode",jsondata)
+end
+
 -- 初始化SPI
 function SX126xIoInit()
     Drv_spi.SPI_GPIO_Init()
@@ -214,7 +219,7 @@ function SX126xSetModulationParams(modulationParams)
     modulationParams.Params.LoRa.LowDatarateOptimize
     }
     local jsondata = json.encode(buf)
-log.info("testJson.encode",jsondata)
+    log.info("SX126xSetModulationParams.encode",jsondata)
     SX126xWriteCommand( sx126x_reg.RadioCommands.RADIO_SET_MODULATIONPARAMS,buf);
 end
 
@@ -226,10 +231,26 @@ function SX126xSetPacketParams(packetParams)
             packetParams.Params.LoRa.CrcMode, 
             packetParams.Params.LoRa.InvertIQ}
     local jsondata = json.encode(buf)
-    log.info("testJson.encode",jsondata)
+    log.info("SX126xSetPacketParams.encode",jsondata)
     SX126xWriteCommand(sx126x_reg.RadioCommands.RADIO_SET_PACKETPARAMS,buf);
 end
 
+--[[
+        modem : sx126x_reg.RadioModems_t.MODEM_LORA
+        power : 22 = 16
+        fdev  : 0  = 0
+        bandwidth : 2
+        datarate : 11
+        coderate : 1
+        preambleLen : 12
+        fixLen : false
+        crcOn : true
+        freqHopOn : false
+        hopPeriod : 0
+        iqInverted : 0
+        timeout : 3000
+]]
+--                   MODEM_LORA  16    0       1       7      1           12      false    true    false       0        0         3000
 function RadioSetTxConfig(modem,power,fdev,bandwidth,datarate,coderate,preambleLen,fixLen,crcOn,freqHopOn,hopPeriod,iqInverted,timeout)
     SX126xSetStopRxTimerOnPreambleDetect("00")  -- = flase
     SX126xSetLoRaSymbNumTimeout("00")
@@ -250,10 +271,13 @@ function RadioSetTxConfig(modem,power,fdev,bandwidth,datarate,coderate,preambleL
     SX126xCopy.PacketParams.Params.LoRa.PreambleLength = preambleLen
 
     SX126xCopy.PacketParams.Params.LoRa.HeaderType = fixLen
-	SX126xCopy.PacketParams.Params.LoRa.PayloadLength = MaxPayloadLength
+	SX126xCopy.PacketParams.Params.LoRa.PayloadLength = "FF"
 	SX126xCopy.PacketParams.Params.LoRa.CrcMode = crcOn
 	SX126xCopy.PacketParams.Params.LoRa.InvertIQ = iqInverted
 
+
+    gsonLoginfo("SX126xCopy",SX126xCopy.PacketParams.Params.LoRa)
+
     SX126xSetStandby(sx126x_reg.RadioStandbyModes_t.STDBY_RC)
     RadioSetModem(sx126x_reg.RadioModems_t.MODEM_LORA)
     SX126xSetModulationParams(SX126xCopy.ModulationParams)
@@ -318,8 +342,7 @@ function SX126xInit()
     SX126xSetStandby("00")
 
     sys.wait(2000)
-
-    RadioSetTxConfig(sx126x_reg.RadioModems_t.MODEM_LORA,"16",0,1,7,"01","0c","00","01",nil,nil,nil)
+    RadioSetTxConfig(sx126x_reg.RadioModems_t.MODEM_LORA,"16",0,1,7,"01","0c","00","01","00","00","00",3000)
 
     
     RadioSetChannel("19CF0E40") 
@@ -351,7 +374,7 @@ sys.taskInit(function ()
     
         sys.wait(20)
         log.info("计算结果")
-        RadioSend("A9",1,"00")
+        RadioSend("A9","01","00")
         SX126xReadCommand(sx126x_reg.RadioCommands.RADIO_GET_STATUS,1)
         sys.wait(2000)
     end