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 :