Jelajahi Sumber

完成发生函数修改。未发生成功

xuxinyi 4 bulan lalu
induk
melakukan
17c62e8e63
1 mengubah file dengan 46 tambahan dan 2 penghapusan
  1. 46 2
      drv_periph/sx126x_driver.lua

+ 46 - 2
drv_periph/sx126x_driver.lua

@@ -258,9 +258,49 @@ function RadioSetTxConfig(modem,power,fdev,bandwidth,datarate,coderate,preambleL
     RadioSetModem(sx126x_reg.RadioModems_t.MODEM_LORA)
     SX126xSetModulationParams(SX126xCopy.ModulationParams)
     SX126xSetPacketParams(SX126xCopy.PacketParams)
-    SX126xSetTxParams(power,sx126x_reg.RADIO_RAMP_40_US)
+    SX126xSetTxParams(power,sx126x_reg.RadioRampTimes_t.RADIO_RAMP_40_US)
 end
 
+function SX126xSetRfFrequency(frequency)
+     SX126xWriteCommand( sx126x_reg.RadioCommands.RADIO_SET_RFFREQUENCY, {frequency});
+end
+
+function RadioSetChannel(frequency) 
+    SX126xSetRfFrequency(frequency)
+end
+
+function SX126xWriteBuffer(offset, buffer,size) 
+    log.info("SX126xWriteBuffer",offset,buffer,size)
+    local sentdata = offset .. buffer
+    Drv_spi.drv_spi_read_write_byte(sx126x_reg.RadioCommands.RADIO_WRITE_BUFFER,0)
+    Drv_spi.drv_spi_read_write_byte(sentdata,0)
+
+end
+
+function SX126xSetPayload (payload,size)
+    log.info("SX126xSetPayload",payload,size)
+    SX126xWriteBuffer( "00", payload, size );
+end
+
+function SX126xSetTx(timeout) 
+    SX126xWriteCommand( sx126x_reg.RadioCommands.RADIO_SET_TX, {timeout});
+end
+
+
+function SX126xSendPayload(payload,size,timeout) 
+    log.info("SX126xSendPayload",payload,size,timeout)
+    SX126xSetPayload( payload, size );
+    SX126xSetTx( timeout );
+end
+
+function RadioSend(buffer,size,time_out) 
+    log.info("RadioSend",buffer,size,time_out)
+    SX126xCopy.PacketParams.Params.LoRa.PayloadLength = size
+    SX126xSetPacketParams(SX126xCopy.PacketParams)
+    SX126xSendPayload(buffer,size,time_out)
+end
+
+
 -- 初始化SX126x
 function SX126xInit()
     SX126xIoInit()
@@ -279,7 +319,10 @@ function SX126xInit()
 
     sys.wait(2000)
 
-    RadioSetTxConfig(sx126x_reg.RadioModems_t.MODEM_LORA,"16",0,2,11,"01","0c","00","01",nil,nil,nil)
+    RadioSetTxConfig(sx126x_reg.RadioModems_t.MODEM_LORA,"16",0,1,7,"01","0c","00","01",nil,nil,nil)
+
+    
+    RadioSetChannel("19CF0E40") 
 end
 
 sys.taskInit(function ()
@@ -308,6 +351,7 @@ sys.taskInit(function ()
     
         sys.wait(20)
         log.info("计算结果")
+        RadioSend("A9",1,"00")
         SX126xReadCommand(sx126x_reg.RadioCommands.RADIO_GET_STATUS,1)
         sys.wait(2000)
     end