Semtech SX126X LORA Driver para Micropython e Circuitpython.
Esta biblioteca é portada e modificada do Radiolib by JGromes.
Esta biblioteca suporta o Micropython genérico e pycom, bem como o circuitpython.
Testado com:
* Compilar com .mpy ou compilar na imagem Micropython para evitar o erro de problema de memória
Classe SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
Crie e inicialize o objeto SX1262.
Os parâmetros são:
SX1262.SETFREQUENCY (FREQ)
Defina a frequência em MHz.
Retorno: Status (consulte o dicionário de status de constantes )
Sx1262.setOutputPower (Power)
Defina a potência TX em DBM.
Retorno: Status
Sx1262.setBlockingCallback (bloqueio, retorno de chamada = nenhum)
Defina o modo de bloqueio TX/RX e interrompa o retorno de chamada.
Se bloquear = true, o TX/RX estiver definido como o modo de bloqueio e a função de retorno de chamada será ignorada.
Se bloquear = Falso, o TX/RX estiver definido como modo de bloqueio não bloqueador e a função de retorno de chamada será acionada com o argumento dos eventos sobre os eventos TX/RX.
Se retorno de chamada = Nenhum, a função de retorno de chamada de eventos será desativada.
Sx1262.getrssi ()
Obtenha RX RSSI em DBM.
Retorno: Valor RSSI
SX1262.GetTimeOnair (LEN)
Obtenha o tempo RX no ar de acordo com o comprimento da mensagem, Len = Comprimento da mensagem.
Retorno: Tempo no valor do ar
Sx1262.send (dados)
Enviar mensagem, o tipo de dados deve ser bytes ou bytearray.
Retorno: comprimento da carga útil, status
Sx1262.recv (len = 0, timeout_en = false, timeout_ms = 0)
Leia a mensagem RX.
Len = Comprimento da mensagem, se 0, padrão para SX126X_MAX_Packet_Length
timeout_en = Ativar o tempo limite do RX, se false, função bloqueando indefinidamente até a mensagem recebida (somente no modo de bloqueio)
timeout_ms = tempo limite rx em ms, 0 significa tempo limite = 100 símbolos lora comprimento para lora ou tempo limite = 500% Tempo a ar esperado para FSK (apenas no modo de bloqueio)
Retorno: carga útil, status
SX1262.BEGIN (FREQ = 434,0, BW = 125,0, SF = 9, CR = 7, SyncWord = 0x12, Power = 14, CurrentLimit = 60.0
Pré -amLEngth = 8, implícito = falso, implícito = 0xff, crCon = true, txiq = false, rxiq = false,
tcXOvoltage = 1,6, usereguatorldo = false, bloqueando = true)
Este método é usado para definir a configuração do LORA.
Os parâmetros são:
Retorno: Status
Sx1262.setbandwidth (BW)
Defina a largura de banda Lora em KHZ.
Retorno: Status
Sx1262.setCodingrate (CR)
Defina a taxa de codificação Lora, 5 a 8.
Retorno: Status
SX1262.setPreamBleLength (comprimento de pré -amplo)
Defina o comprimento do preâmbulo Lora.
Retorno: Status
SX1262.SetSpreadingFactor (SF)
Defina o fator de propagação de Lora, 5 a 12.
Retorno: Status
SX1262.SetSyncWord (SyncWord, [ControlBits])
Definir Lora Sync Word, Private = 0x12, Public = 0x34.
Controle de parâmetros opcionais, o valor padrão é 0x44.
por exemplo, síncWord = 0xab, controlbits = 0xcd -> sx126x 2 bytes sincroniza word = 0xacbd
por exemplo, síncWord = 0x12, Controlbits = 0x44 -> sx126x 2 bytes sincroniza palavra = 0x1424
Retorno: Status
SX1262.Explicitheader ()
Ativar modo de cabeçalho explícito da LORA.
Retorno: Status
SX1262.Implicitheader (implícito)
Ativar modo de cabeçalho implícito da LORA com parâmetro de comprimento implícito.
Retorno: Status
SX1262.FORCELDRO (Ativar)
Força Ativar otimização de baixa taxa de dados.
Retorno: Status
Sx1262.autoldro ()
Ativar otimização automática de taxa de dados automática.
Retorno: Status
SX1262.SETCRC (CRCON)
Defina o modo Lora CRC.
Retorno: Status
SX1262.SETTXIQ (TXIQ)
Defina o modo de QI invertido Lora TX.
SX1262.SETRXIQ (RXIQ)
Defina o modo de QI invertido Lora RX.
Sx1262.getsnr ()
Obtenha Lora RX SNR em DB.
Retorno: Valor SNR
SX1262.BEGINFSK (FREQ = 434.0, BR = 48,0, Freqdev = 50,0, rxbw = 156,2, Power = 14, CurrentLimit = 60,0,
Pré -amplio = 16, DataShaping = 0.5, SyncWord = [0x2d, 0x01], syncbitsLength = 16,
addrfilter = sx1262.addr_filt_off, addr = 0x00, crclength = 2, crcinitial = 0x1d0f, crcpolinomial = 0x1021,
Crcinverted = true, whiteningon = true, whiteninginitial = 0x0100,
fIllpacketLength = false, packetLength = 0xff, preambledeTectorLength = sx1262.premamble_detect_16,
tcXOvoltage = 1,6, usereguatorldo = false,
bloqueando = verdadeiro)
Este método é usado para definir a configuração do FSK.
Os parâmetros são:
Retorno: Status
Sx1262.setbitrate (BR)
Defina a taxa de bits FSK em KBPS.
Retorno: Status
SX1262.SETFREQUENCYDEVIATION (FREQDEV)
Defina o desvio de frequência FSK em KHZ.
Retorno: Status
SX1262.SETRXBANDWIDTH (RXBW)
Defina a largura de banda FSK RX em KHZ.
Retorno: Status
SX1262.SETDataShaPing (DataShaPing)
Defina o produto FSK Time-Bandwidth do filtro gaussiano a ser usado para modelar.
Retorno: Status
SX1262.SetSyncbits (SyncWord, Bitslen)
Defina o comprimento do FSK Sync Word e Sync Bits.
SyncWord = Sync Word na lista
Bitslen = Comprimento do bit da palavra SYNC
Retorno: Status
SX1262.setPreamBleLength (comprimento de pré -amplo)
Defina o comprimento do preâmbulo FSK.
Retorno: Status
SX1262.SetPreambleDeTectorLength (comprimento preambleteCectorLear)
Defina o comprimento mínimo de detecção de preâmbulo, consulte as constantes do comprimento do detector de preâmbulo FSK.
Sx1262.setNodeAddress (addr)
Ative a filtragem de endereço no endereço do nó Addr.
Retorno: Status
Sx1262.setBroadcastAddress (addr)
Ative a filtragem de endereço no nó e o endereço de transmissão Addr.
Retorno: Status
Sx1262.disableaddressfiltering ()
Desative a filtragem de endereços.
Retorno: Status
Sx1262.setcrc (len, inicial = 0x1d0f, polinomial = 0x1021, invertido = true)
Defina o FSK CRC.
Len = comprimento do CRC, 0, 1 ou 2
inicial = CRC inicial
polinomial = polinomial usado para cálculo de CRC
invertida = ativar a inversão de bytes do CRC
Retorno: Status
Sx1262.setwhitening (ativado, inicial = 0x0100)
Defina o clareamento FSK.
inicial = valor inicial para clareamento LFSR
Retorno: Status
SX1262.FIXEDPacketLengthMode (LEN)
Defina o modo de comprimento fixo do pacote fsk.
len = comprimento do pacote em bytes
Retorno: Status
SX1262.VariablePacketLengthMode (Maxlen)
Defina o modo de comprimento do pacote variável FSK.
maxlen = comprimento do pacote máximo em bytes
Retorno: Status
Eventos: SX1262.TX_DONE, SX1262.RX_DONE
Filtro de endereço FSK: SX1262.ADDR_FILT_OFF, SX1262.ADDR_FILT_NODE, SX1262.ADDR_FILT_NODE_BROAD
FSK PREMBLE DOETECTOR Length: SX1262.Preamble_Detect_Off, SX1262.Preamble_detect_x -> x = 8, 16, 24, 32
Dicionário de status: sx1262.status