SEMTECH SX126X LORA DRITEUR POUR MICROPYTHON ET CIRCUITPYTHON.
Cette bibliothèque est portée et modifiée à partir du radiolib par JGromes.
Cette bibliothèque prend en charge le micropopropython générique et PYCOM ainsi que circuitpython.
Testé avec:
* Compiler avec .mpy ou compiler dans l'image micropython pour éviter l'erreur de problème de mémoire
Classe SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
Créer et initialiser l'objet SX1262.
Les paramètres sont:
SX1262.SetFrequency (FREQ)
Définir la fréquence en MHz.
Retour: statut (voir les constantes Dictionnaire de statut)
Sx1262.setOutputPower (puissance)
Réglez la puissance TX dans DBM.
Retour: statut
SX1262.SetBlockingCallback (Blocking, callback = Aucun)
Définissez le mode de blocage TX / RX et le rappel d'interruption.
Si Blocking = TRUE, TX / RX est défini sur le mode de blocage et la fonction de rappel sera ignorée.
Si Blocking = False, TX / RX est défini sur le mode non bloquant et la fonction de rappel sera déclenchée avec l'argument des événements sur les événements TX / RX.
Si rappeler = aucun, la fonction d'événements de rappel sera désactivée.
Sx1262.getrssi ()
Obtenez RX RSSI dans DBM.
Retour: valeur RSSI
SX1262.GetTimeonair (LEN)
Obtenez du temps Rx sur l'air en fonction de la longueur du message, Len = longueur de message.
Retour: heure sur la valeur de l'air
SX1262.SEND (données)
Envoyer un message, le type de données doit être des octets ou du bytearray.
Retour: longueur de charge utile, statut
Sx1262.recv (len = 0, timeout_en = false, timeout_ms = 0)
Lire le message RX.
len = longueur de message, si 0, par défaut à sx126x_max_packet_length
timeout_en = activer le délai d'expiration RX, si false, la fonction bloque indéfiniment jusqu'à ce que le message reçoit (uniquement en mode de blocage)
timeout_ms = rx timeout dans ms, 0 signifie timeout = 100 Lora symboles longueur pour LORA ou timeout = 500% de temps en air attendu pour FSK (uniquement en mode de blocage)
Retour: charge utile, statut
Sx1262.begin (freq = 434,0, bw = 125,0, sf = 9, cr = 7, syncword = 0x12, puissance = 14, currentlimit = 60,0
preambleLthreng = 8, implicit = false, implicitlen = 0xff, crCon = true, txiq = false, rxiq = false,
tcxovolAtage = 1,6, useReGulatorLDO = false, blocage = true)
Cette méthode est utilisée pour définir la configuration de LORA.
Les paramètres sont:
Retour: statut
SX1262.SetBandwidth (BW)
Définissez la bande passante de Lora à KHZ.
Retour: statut
SX1262.SetCodingrate (CR)
Définissez le taux de codage LORA, 5 à 8.
Retour: statut
SX1262.SetPrembelleflength (PreambbleLength)
Réglez la longueur de préambule de Lora.
Retour: statut
SX1262.SetSpreadingFactor (SF)
Réglez le facteur d'étalement LORA, 5 à 12.
Retour: statut
Sx1262.SetSyncword (syncword, [ControlBits])
Définissez Lora Sync Word, private = 0x12, public = 0x34.
Contrôle de paramètres facultatif, la valeur par défaut est 0x44.
par exemple syncword = 0xab, ControlBits = 0xcd -> sx126x 2 octets Sync Word = 0xacbd
par exemple syncword = 0x12, ControlBits = 0x44 -> SX126X 2 octets Sync Word = 0x1424
Retour: statut
Sx1262.ExplicitEader ()
Activez le mode d'en-tête LORA explicite.
Retour: statut
SX1262.IMPLICITHEADER (Implicitlen)
Activer le mode d'en-tête implicite LORA avec un paramètre de longueur implicite.
Retour: statut
Sx1262.forceldro (activer)
Force Activer une faible optimisation du débit de données.
Retour: statut
Sx1262.Autoldro ()
Activer l'optimisation automatique du débit de données.
Retour: statut
SX1262.SetCrc (CRCON)
Définissez le mode CRC LORA.
Retour: statut
Sx1262.setTXIQ (TXIQ)
Définissez le mode IQ Invert LORA TX.
SX1262.Setrxiq (RXIQ)
Définissez le mode IQ LORA RX Invert.
Sx1262.getsnr ()
Obtenez LORA RX SNR en DB.
Retour: valeur SNR
SX1262.BEGINFSK (FREQ = 434,0, br = 48,0, freqdev = 50,0, rxbw = 156,2, puissance = 14, currentlimit = 60,0,
preambbleLthreng = 16, datashaping = 0,5, syncword = [0x2d, 0x01], syncbitsLength = 16,
addrfilter = sx1262.addr_filt_off, addr = 0x00, crclngth = 2, crcinitial = 0x1d0f, crcpolynomial = 0x1021,
CrCinverted = true, whiteningon = true, whiteningInitial = 0x0100,
FIXTPACKETLONGTY = FALSE, PACKETLENNTH = 0XFF, PreambleDectorLength = SX1262.PReMble_Detect_16,
tcxovoltage = 1,6, useReGulatorLDO = false,
Blocking = true)
Cette méthode est utilisée pour définir la configuration FSK.
Les paramètres sont:
Retour: statut
SX1262.SetBitrate (BR)
Réglez le débit binaire FSK dans KBPS.
Retour: statut
SX1262.SetFrequencyDeviation (Freqdev)
Définissez la déviation de fréquence FSK dans KHZ.
Retour: statut
Sx1262.SetrxbandWidth (RXBW)
Réglez la bande passante FSK RX dans KHZ.
Retour: statut
Sx1262.setDatashaping (datashaping)
Définissez le produit de la bande passante du temps FSK du filtre gaussien à utiliser pour la mise en forme.
Retour: statut
Sx1262.SetSyncbits (SyncWord, Bitslen)
Définissez le mot de synchronisation FSK et la longueur des bits de synchronisation.
syncword = sync dans la liste
Bitslen = Sync Word Bit Longueur
Retour: statut
SX1262.SetPrembelleflength (PreambbleLength)
Réglez la longueur de préambule FSK.
Retour: statut
SX1262.SetPreambledEttectorLength (PreambleDetectorLength)
Réglez la longueur de détection de préambule minimale, reportez-vous aux constantes du détecteur de préambule FSK.
Sx1262.SetNodeaddress (addr)
Activez le filtrage d'adresse sur Addr Address du nœud.
Retour: statut
SX1262.SetBroadcastAddress (ADDR)
Activez le filtrage d'adresse sur le nœud et l'adresse de diffusion addr.
Retour: statut
Sx1262.disableAddressFiltering ()
Désactiver le filtrage d'adresse.
Retour: statut
Sx1262.setcrc (len, initial = 0x1d0f, polynôme = 0x1021, inversé = true)
Réglez FSK CRC.
Len = longueur CRC, 0, 1 ou 2
Initial = CRC Initial
polynôme = polynôme utilisé pour le calcul CRC
inversé = activer l'inversion des octets CRC
Retour: statut
Sx1262.setwhitening (activé, initial = 0x0100)
Réglez le blanchiment FSK.
Initial = valeur initiale pour blanchir le LFSR
Retour: statut
SX1262.FixedPacketLengthMode (LEN)
Définissez le mode FSK fixe de la longueur des paquets.
Len = longueur de paquet en octets
Retour: statut
SX1262.VariablePacketLengthMode (Maxlen)
Définissez le mode de longueur de paquet variable FSK.
maxlen = longueur de paquet max en octets
Retour: statut
Événements: sx1262.tx_done, sx1262.rx_done
Filtre d'adresse FSK: sx1262.addr_filt_off, sx1262.addr_filt_node, sx1262.addr_filt_node_broad
Longueur du détecteur de préambule FSK: SX1262.PREMBLE_DETECT_OFF, SX1262.PRIMBLE_DETECT_X -> X = 8, 16, 24, 32
Dictionnaire de statut: SX1262.Status