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