La classe LoRaRadio permet de manipuler le module radio.
Plus de détails...
#include <LoRaRadio.h>
|
| | LoRaRadio (PinMap pinMap, dr_t dataRate=DR_SF7, s1_t txPower=23) |
| |
| void | init () |
| |
| void | setTTNSession (u4_t channelId, devaddr_t deviceAddress, xref2u1_t networkSystemKey, xref2u1_t applicationSystemKey, bit_t linkCheckMode=0) |
| |
| void | setRadioEUChannels () |
| |
| void | setMCUClockError (u2_t percent=30) |
| |
| void | send (u1_t port, uint8_t *data, uint8_t length, u1_t confirmed=false) |
| |
| void | run () |
| |
| void | setDownlinkHandler (void(*funcP)(u1_t, u1_t, u1_t *)) |
| |
| void | setSendCompleteHandler (void(*funcP)(void)) |
| |
| void | disableEUChannel (u1_t channel) |
| |
| void | disableAllEUChannelsBut (u1_t channel) |
| |
La classe LoRaRadio permet de manipuler le module radio.
◆ LoRaRadio()
| LoRaRadio::LoRaRadio |
( |
PinMap |
pinMap, |
|
|
dr_t |
dataRate = DR_SF7, |
|
|
s1_t |
txPower = 23 |
|
) |
| |
Le constructeur de la classe prend en paramètres :
- Paramètres
-
| pinMap | : un objet de type PinMap créé préalablement. |
| dataRate | : de type dr_t indiquant quel spreading factor utiliser lors des envoies de données. Les valeurs possibles : DR_SF7B, DR_SF7, DR_SF8, DR_SF9, DR_SF10, DR_SF11, DR_SF12, DR_FSK et DR_NONE. Plus le SF choisi est faible, plus le débit est élevé mais plus l'imunité face au bruit est mauvaise. |
| txPower | : puissance d'émission comprise entre 7 et 27 inclu (à vérifier). |
◆ disableAllEUChannelsBut()
| void LoRaRadio::disableAllEUChannelsBut |
( |
u1_t |
channel | ) |
|
Permet de désactiver tous les canaux sauf un.
- Paramètres
-
| channel | : le canal à laisser actif. |
◆ disableEUChannel()
| void LoRaRadio::disableEUChannel |
( |
u1_t |
channel | ) |
|
Permet de désactiver un canal et donc une fréquence d'envoie.
- Paramètres
-
| channel | : le canal en question. |
◆ init()
Initialise le SX127X. Cette méthode doit obligatoirement être appelée en premier.
◆ run()
Méthode à appeler dans la boucle principale afin que le module opère correctement.
◆ send()
| void LoRaRadio::send |
( |
u1_t |
port, |
|
|
uint8_t * |
data, |
|
|
uint8_t |
length, |
|
|
u1_t |
confirmed = false |
|
) |
| |
Envoi une trame à la gateway LoRa.
- Paramètres
-
| port | : port de réception de la trame dans la console TTN. Peut prendre la valeur 1,2,3,4,5... |
| *data | : pointeur sur un tableau d'uint8_t contenant les données à envoyer. La longueur maximale des données et de 51 octets/trame quelque soit le spreading factor selectionné. |
| length | : le nombre d'octets de données. |
| confirmed | : demander un accusé de réception lors de l'envoi. |
◆ setDownlinkHandler()
| void LoRaRadio::setDownlinkHandler |
( |
void(*)(u1_t, u1_t, u1_t *) |
funcP | ) |
|
Méthode qui enregistre un callback (pointeur de fonction) qui sera appelé lors de la réception d'un downlink.
- Paramètres
-
| *funcP | : un pointeur sur fonction qui prend 3 paramètres. la longueur de la données reçu, l'indice de la première donnée dans le buffer et un pointeur sur le buffer. |
◆ setMCUClockError()
| void LoRaRadio::setMCUClockError |
( |
u2_t |
percent = 30 | ) |
|
Directive permettant de compenser les imprécisions dû au cristal en alongeant la fenêtre de réception. Cette méthode est à utiliser si le downlink n'est pas reçu par le noeud.
- Paramètres
-
| percent | : l'erreur de précision en % à corriger. |
◆ setRadioEUChannels()
| void LoRaRadio::setRadioEUChannels |
( |
| ) |
|
Paramètre la radio pour utiliser les fréquences européennes comprises entre 867.1Mhz et 868.1Mhz.
◆ setSendCompleteHandler()
| void LoRaRadio::setSendCompleteHandler |
( |
void(*)(void) |
funcP | ) |
|
Méthode qui enregistre un callback (pointeur de fonction) qui sera appelé lorsque les donnée auront fini d'être envoyées suite à un appel à send().
- Paramètres
-
| *funcP | : un pointeur sur fonction qui ne prend pas de paramètre. |
◆ setTTNSession()
| void LoRaRadio::setTTNSession |
( |
u4_t |
channelId, |
|
|
devaddr_t |
deviceAddress, |
|
|
xref2u1_t |
networkSystemKey, |
|
|
xref2u1_t |
applicationSystemKey, |
|
|
bit_t |
linkCheckMode = 0 |
|
) |
| |
Permet de renseigner les informations de la session TTN à utiliser.
- Paramètres
-
| channelId | : l'id du canal |
| deviceAddress | : l'adresse unique du noeud LoRa. Information disponible dans la console TTN. |
| networkSystemKey | : la clef de chiffrement réseau. Information disponible dans la console TTN. |
| applicationSystemKey | : la clef de chiffrement application. Information disponible dans la console TTN. |
| linkCheckMode | : Active ou désactive la vérification périodique du lien. |
◆ onEvent
Définition du prototype de la fonction nécessaire au bon fonctionnement de la LMIC.
La documentation de cette classe a été générée à partir des fichiers suivants :