SEMTECH SX126X Micropython和CircuitPpython的Lora驅動器。
該庫由Jgromes從Radiolib進行移植和修改。
該庫支持通用和PYCOM變體微py和電路。
測試:
*編譯為.mpy或編譯成微python圖像以防止內存問題錯誤
SX1262.SX1262類(Spi_bus,Clk,Mosi,Miso,CS,IRQ,RST,GPIO)
創建並初始化SX1262對象。
參數是:
SX1262.SETFQUENCY(FREQ)
設置頻率在MHz中。
返回:狀態(請參閱常數狀態詞典)
sx1262.setOutputpower(Power)
將TX功率設置為DBM。
返回:狀態
sx1262.setBlockingCallback(阻止,回調=無)
設置TX/RX阻止模式併中斷回調。
如果blocking = true,則將tx/rx設置為阻止模式,而回調功能將被忽略。
如果blocking = false,則將TX/RX設置為非阻止模式,而回調函數將被TX/RX事件上的事件參數觸發。
如果回調=無,則將禁用事件回調函數。
sx1262.getrssi()
在DBM中獲取RX RSSI。
返回:RSSI值
SX1262.GetTimeOnair(LEN)
根據消息的長度獲得RX時間,LEN =消息長度。
返回:空氣價值的時間
SX1262.SEND(數據)
發送消息,數據類型必須為字節或bytearray。
返回:有效載荷長度,狀態
sx1262.recv(len = 0,timeout_en = false,timeout_ms = 0)
閱讀RX消息。
len =消息長度,如果0,默認為sx126x_max_packet_length
timeout_en =啟用rx超時,如果為false,則無限地阻止功能,直到收到消息(僅在阻止模式下)
timeout_ms = ms中的rx超時,0表示超時= lora或超時的100 lora符號長度= fsk的預期時間為500%(僅在阻止模式下)
返回:有效載荷,狀態
sx1262.Begin(freq = 434.0,bw = 125.0,sf = 9,cr = 7,syncword = 0x12,power = 14,currentlimit = 60.0
preamblelengthth = 8,nrigit = false,indimitlen = 0xff,crcon = true,txiq = false,rxiq = false,false,
tcxovoltage = 1.6,useregulatorldo = false,blocking = true)
此方法用於設置LORA配置。
參數是:
返回:狀態
SX1262.SetBandWidth(BW)
將Lora帶寬設置為KHz。
返回:狀態
sx1262.setcodingrate(CR)
設定洛拉編碼率,5至8。
返回:狀態
sx1262.setpreamblelength(preamblelength)
設置洛拉序言長度。
返回:狀態
SX1262.SetspreadingFactor(SF)
將洛拉擴散因子設置為5至12。
返回:狀態
sx1262.setsyncword(Syncword,[ControlBits])
設置Lora Sync Word,私有= 0x12,public = 0x34。
可選參數控製件,默認值為0x44。
例如,syncword = 0xab,controlbits = 0xcd-> sx126x 2 bytes sync word = 0xacbd
例如SyncWord = 0x12,ControlBits = 0x44-> sx126x 2字節同步字= 0x1424
返回:狀態
sx1262.explicitheader()
啟用Lora顯式標頭模式。
返回:狀態
sx1262.implicitheader(Indinitlen)
啟用具有隱式長度參數的Lora隱式標頭模式。
返回:狀態
sx1262.forceldro(啟用)
力啟用低數據速率優化。
返回:狀態
sx1262.autoldro()
啟用自動數據速率優化。
返回:狀態
SX1262.SETCRC(CRCON)
設置Lora CRC模式。
返回:狀態
SX1262.SETTXIQ(TXIQ)
設置Lora TX Invert IQ模式。
sx1262.setrxiq(RXIQ)
設置Lora RX Invert IQ模式。
sx1262.getSnr()
在DB中獲取Lora RX SNR。
返回:SNR值
sx1262.beginfsk(freq = 434.0,br = 48.0,freqdev = 50.0,rxbw = 156.2,power = 14,currentlimit = 60.0,
preambletengthth = 16,dataShaping = 0.5,syncword = [0x2d,0x01],syncbitslength = 16,
addrfilter = sx1262.addr_filt_off,addr = 0x00,crclength = 2,crcinitial = 0x1d0f,crcpolynomial = 0x1021,
crcinverted = true,whiteningon = true,whiteningitial = 0x0100,
fixepacketlength = false,packetlength = 0xff,preambledetectorLength = sx1262.preamble_detect_16,
tcxovoltage = 1.6,useregulatorldo = false,
阻止= true)
此方法用於設置FSK配置。
參數是:
返回:狀態
sx1262.setbitrate(br)
將FSK比特率設置為KBPS。
返回:狀態
sx1262.setfrequencyDeviation(freqdev)
將FSK頻率偏差設置為KHz。
返回:狀態
sx1262.setrxbandwidth(RXBW)
將FSK RX帶寬設置為KHz。
返回:狀態
SX1262.SETDATASHAPING(DATASHAPING)
將高斯濾光片的FSK時間帶寬產品設置用於塑造。
返回:狀態
sx1262.setsyncbits(SyncWord,Bitslen)
設置FSK同步單詞和同步位長度。
SyncWord =列表中的同步單詞
bitslen =同步單詞位長度
返回:狀態
sx1262.setpreamblelength(preamblelength)
設置FSK序列長度。
返回:狀態
sx1262.setPreambledetectorLength(preambledetectorLength)
設置最小序列檢測長度,請參閱常數FSK前序檢測器長度。
sx1262.setNodeadDress(addr)
在節點地址addr上激活地址過濾。
返回:狀態
SX1262.SetBroadCastAddress(ADDR)
激活節點上的地址過濾和廣播地址addr。
返回:狀態
sx1262.disableaddressfiltering()
禁用地址過濾。
返回:狀態
sx1262.setcrc(len,初始= 0x1d0f,polyenmial = 0x1021,倒= true)
設置FSK CRC。
len = CRC長度,0、1或2
初始= CRC初始
多項式=用於CRC計算的多項式
倒置=啟用CRC字節反演
返回:狀態
sx1262.setWhitening(啟用,初始= 0x0100)
設置FSK美白。
初始=美白LFSR的初始值
返回:狀態
SX1262.FIXEDPACKETLENTEMTMODE(LEN)
設置FSK固定數據包長度模式。
len =包中的數據包長度
返回:狀態
SX1262.VariablePacketLengthmode(Maxlen)
設置FSK變量數據包長度模式。
maxlen =最大數據包長度在字節中
返回:狀態
事件:sx1262.tx_done,sx1262.rx_done
FSK地址過濾器:SX1262.ADDR_FILT_OFF,SX1262.ADDR_FILT_NODE,SX1262.ADDR_FILD_FILT_NODE_BROOD
FSK序列檢測器長度:SX1262.Preamble_detect_off,sx1262.preamble_detect_x-> x = 8,16,24,32
狀態詞典:SX1262.STATUS