Semtech SX126X LORA -Treiber für Micropython und Circuitpython.
Diese Bibliothek wird durch JGROMES aus Radiolib portiert und modifiziert.
Diese Bibliothek unterstützt das Generika- und Pycom -Variante -Micropython sowie CircuitPython.
Getestet mit:
* Kompilieren Sie zu .mpy oder in das Mikropython -Bild zusammen, um ein Problem mit dem Speicherproblemfehler zu verhindern
Klasse SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
Erstellen und initialisieren Sie das SX1262 -Objekt.
Die Parameter sind:
SX1262.SetFrequency (FREQ)
Frequenz in MHz einstellen.
Rückgabe: Status (siehe Konstanten Status Dictionary)
SX1262.SETOUTPUTPOWER (Leistung)
Stellen Sie die TX -Leistung in DBM ein.
Rückgabe: Status
Sx1262.setBlockingCallback (Blocking, Callback = Keine)
Legen Sie den TX/RX -Blockierungsmodus ein und unterbrechen Sie den Rückruf.
Wenn Blocking = true ist, wird TX/RX auf den Blockierungsmodus gesetzt und die Rückruffunktion wird ignoriert.
Wenn Blocking = False ist, wird TX/RX auf den Nicht -Blockiermodus gesetzt und die Rückruffunktion wird mit Ereignisargumentation über TX/RX -Ereignisse ausgelöst.
Wenn Callback = Keine, wird die Ereignis -Rückruffunktion deaktiviert.
SX1262.getrssi ()
Holen Sie sich RX RSSI in DBM.
Rückgabe: RSSI -Wert
SX1262.getimeonair (Len)
Erhalten Sie die RX -Zeit auf Luft gemäß der Nachrichtenlänge, Len = Nachrichtenlänge.
Rückgabe: Zeit für Luftwert
SX1262.Send (Daten)
Nachricht senden, Datentyp müssen Bytes oder Bytearray sein.
Rückgabe: Nutzlastlänge, Status
SX1262.RECV (len = 0, timeout_en = false, timeout_ms = 0)
Lesen Sie die RX -Nachricht.
Len = Nachrichtenlänge, wenn 0, Standard zu SX126X_MAX_PACKET_LENGHT
Timeout_en = RX Timeout aktivieren, falls falsch, Funktion auf unbestimmte Zeit blockieren, bis die Nachricht empfangen wird (nur im Blockierungsmodus)
timeout_ms = rx timeout In MS, 0 bedeutet Timeout = 100 Lora Symbole Länge für Lora oder Timeout = 500% erwartete Zeit-on-Air für FSK (nur im Blockierungsmodus)
Rückgabe: Nutzlast, Status
Sx1262.begin (freq = 434.0, bw = 125.0, sf = 9, cr = 7, syncword = 0x12, power = 14, currentLimit = 60,0
Preamblelength = 8, implizit = false, impliziten = 0xff, crcon = true, txiq = false, rxiq = false,
tcxovoltage = 1,6, Useregulatorldo = false, blocking = true)
Diese Methode wird verwendet, um die LORA -Konfiguration festzulegen.
Die Parameter sind:
Rückgabe: Status
SX1262.Setbandwidth (BW)
Setzen Sie die Lora -Bandbreite in KHz.
Rückgabe: Status
SX1262.setCodingrate (CR)
Stellen Sie die LORA -Codierungsrate 5 bis 8 ein.
Rückgabe: Status
Sx1262.setpreambly (preamblelength)
LORA Preamble Länge einstellen.
Rückgabe: Status
SX1262.SetsspreadingFactor (SF)
Setzen Sie den Lora -Spreizfaktor 5 bis 12.
Rückgabe: Status
SX1262.SetsSyncWord (Syncword, [ControlBits])
LORA SYNC WORD, privat = 0x12, public = 0x34 festlegen.
Optionale Parametersteuerung, Standardwert ist 0x44.
EG Syncword = 0xab, ControlBits = 0xCD -> SX126X 2 Bytes Sync Word = 0xACBD
EG Syncword = 0x12, ControlBits = 0x44 -> SX126X 2 Bytes Sync Word = 0x1424
Rückgabe: Status
Sx1262.explicitheader ())
Aktivieren Sie den expliziten Header -Modus von Lora.
Rückgabe: Status
Sx1262.implicitheader (implizites)
Aktivieren Sie den LORA -impliziten Header -Modus mit implizitem Längenparameter.
Rückgabe: Status
SX1262.forceldro (aktivieren)
Kraft ermöglichen eine niedrige Datenrate -Optimierung.
Rückgabe: Status
SX1262.Autoldro ()
Aktivieren Sie die Optimierung der automatischen Datenrate.
Rückgabe: Status
SX1262.setCRC (CRCON)
Stellen Sie den LORA CRC -Modus ein.
Rückgabe: Status
SX1262.SETTXIQ (TXIQ)
Setzen Sie den IQ -Modus von Lora TX invert.
Sx1262.setrxiq (rxiq)
Setzen Sie den IQ -Modus von Lora Rx invert.
SX1262.getsnr ()
Holen Sie sich Lora Rx SNR in DB.
Rückgabe: SNR -Wert
SX1262.Beginfsk (Freq = 434,0, Br = 48,0, FreqDev = 50,0, RxBW = 156,2, Power = 14, CurrentLimit = 60,0,,
preamblElgth = 16, dataStaShaping = 0,5, syncword = [0x2d, 0x01], syncbitsLength = 16,,
addrfilter = sx1262.addr_Filt_off, addr = 0x00, crclengtal = 2, crcinitial = 0x1d0f, crcpolynomial = 0x1021,
crcinverted = true, whiteingon = true, whzeninginitial = 0x0100,
FixedPackETLength = False, PacketLength = 0xff, PreambleTectorLength = SX1262.PREAMBLE_DETECT_16,
tcxovoltage = 1,6, Useregulatorldo = false,
blockieren = wahr)
Diese Methode wird verwendet, um die FSK -Konfiguration festzulegen.
Die Parameter sind:
Rückgabe: Status
Sx1262.setbitrate (BR)
Legen Sie die FSK -Bitrate in kbps fest.
Rückgabe: Status
SX1262.SetFrequencyDeviation (FreqDev)
Setzen Sie die FSK -Frequenzabweichung in kHz.
Rückgabe: Status
SX1262.setRxBandWidth (RXBW)
Setzen Sie die FSK -RX -Bandbreite in KHz.
Rückgabe: Status
SX1262.setDatasaSaping (Datenbuchsen)
Setzen Sie das FSK-Zeit-Bänder-Produkt des Gaußschen Filters, das zur Gestaltung verwendet werden soll.
Rückgabe: Status
SX1262.SetsSyncbits (Synkword, Bitslen)
Setzen Sie FSK Sync Word und Sync -Bits Länge.
syncword = sync word in list
bitslen = synchronisierter Wortbitlänge
Rückgabe: Status
Sx1262.setpreambly (preamblelength)
Setzen Sie die FSK -Präambellänge.
Rückgabe: Status
Sx1262.setpreambleDeTectorLength (PreambleDEctorLength)
Setzen Sie die minimale Länge der Vorverstärkererkennung und siehe Konstanten FSK Preamble Detektorlänge.
Sx1262.setnodeaddress (adDR)
Aktivieren Sie die Adressfilterung auf der Knotenadresse ADDR.
Rückgabe: Status
SX1262.SetroadcastadDress (ADDR)
Aktivieren Sie die Adressfilterung auf dem Knoten und der Broadcast -Adressadradr.
Rückgabe: Status
SX1262.DisableLeaddressFiltering ()
Adressfilterung deaktivieren.
Rückgabe: Status
Sx1262.setcrc (len, initial = 0x1d0f, polynomial = 0x1021, inverted = true)
FSK CRC einstellen.
Len = CRC -Länge, 0, 1 oder 2
Initial = CRC -Initial
Polynom = Polynom für die CRC -Berechnung verwendet
invertiert = CRC -Bytes -Inversion aktivieren
Rückgabe: Status
Sx1262.setwhingeing (aktiviert, initial = 0x0100)
FSK Whitening einstellen.
Initial = Anfangswert für das Whitening LFSR
Rückgabe: Status
SX1262.FixedPackETLengthMode (Len)
Legen Sie den FSK -Längenmodus für den FSK ein.
Len = Paketlänge in Bytes
Rückgabe: Status
SX1262.VariablePackETLengthMode (Maxlen)
Legen Sie den FSK -Variablen -Paket -Längenmodus ein.
Maxlen = Maxpaketlänge in Bytes
Rückgabe: Status
Ereignisse: SX1262.tx_done, SX1262.rx_done
FSK -Adressfilter: SX1262.ADDR_FILT_OFF, SX1262.ADDR_FILT_NODE, SX1262.ADDR_FILT_NODE_BROAD
FSK Preamble Detektorlänge: SX1262.PREAMBLE_DETECT_OFF, SX1262.PREAMBLE_DETECT_X -> X = 8, 16, 24, 32
Statuswörterbuch: SX1262.Status