NRF24
tools
tools/NRF24.h
tool
stable
stable
Tool: NRF24 Gestion de la communication radio avec module NRF24. Fonctionnalités : /
Méthodes publiques
| Méthode | Description | Paramètres | Retour |
|---|---|---|---|
|
NRF24()
NRF24();
|
Constructeur / Destructeur Initialise l'objet NRF24. / | ||
|
NRF24()
NRF24();
|
Constructeur / Destructeur Initialise l'objet NRF24. / | ||
|
begin()
begin(uint8_t cePin, uint8_t csnPin);
|
Initialisation Configure les broches CE et CSN du module NRF24. / | cePin: Broche CE csnPin: Broche CSN / |
|
|
sendData()
sendData(const uint8_t* data, uint8_t length);
|
Envoi de données Envoie un tableau d'octets au module distant. / | data: Pointeur vers les données à envoyer length: Nombre d'octets à envoyer |
truetrue si l'envoi a réussi, false sinon / |
|
receiveData()
receiveData(uint8_t* data, uint8_t& length);
|
Réception de données Lit les données reçues par le module NRF24. / | data: Pointeur vers le buffer de réception length: Référence pour stocker la taille des données reçues |
truetrue si des données ont été reçues, false sinon / |
|
getStatus()
getStatus() const {
|
Retourne l'état du module NRF24. jour ailleurs dans la classe : valeur figée à l'initialisation). / | DEVICE_ERROR_INITDEVICE_ERROR_INIT (⚠️ _status n'est actuellement jamais mis à jour ailleurs dans la classe : valeur figée à l'initialisation). / |
Méthodes privées
begin(115200);;
begin(NRF_CE_PIN, NRF_CSN_PIN);;
println("Message envoyé");;
delay(1000);;
Variables membres
return _status;
Code source
#pragma once
#include <Arduino.h>
#include <RF24.h>
#include "../StatusDevice.h"
#include "../Settings.h"
namespace crepp::tools {
/*
* =========================
* Tool: NRF24
* -------------------------
* Gestion de la communication radio avec module NRF24.
*
* Fonctionnalités :
* - Initialisation du module NRF24
* - Envoi et réception de données
* - Gestion interne des auto-ACKs et retransmissions
*
* @badge tool
* @badge stable
* =========================
*/
class NRF24 {
public:
/*
* =========================
* Constructeur / Destructeur
* -------------------------
* Initialise l'objet NRF24.
*/
NRF24();
~NRF24();
/*
* =========================
* Initialisation
* -------------------------
* Configure les broches CE et CSN du module NRF24.
* @param cePin Broche CE
* @param csnPin Broche CSN
*/
void begin(uint8_t cePin, uint8_t csnPin);
/*
* =========================
* Envoi de données
* -------------------------
* Envoie un tableau d'octets au module distant.
* @param data Pointeur vers les données à envoyer
* @param length Nombre d'octets à envoyer
* @return true si l'envoi a réussi, false sinon
*/
bool sendData(const uint8_t* data, uint8_t length);
/*
* =========================
* Réception de données
* -------------------------
* Lit les données reçues par le module NRF24.
* @param data Pointeur vers le buffer de réception
* @param length Référence pour stocker la taille des données reçues
* @return true si des données ont été reçues, false sinon
*/
bool receiveData(uint8_t* data, uint8_t& length);
/**
* @brief Retourne l'état du module NRF24.
* @return DEVICE_ERROR_INIT (⚠️ _status n'est actuellement jamais mis à
* jour ailleurs dans la classe : valeur figée à l'initialisation).
*/
StatusDevice getStatus() const { return _status; }
private:
uint8_t _cePin = crepp::settings::pin::NRF_CE; ///< Broche CE NRF_CE
uint8_t _csnPin = crepp::settings::pin::NRF_CSN; ///< Broche CSN
StatusDevice _status = StatusDevice::DEVICE_ERROR_INIT;
};
/*
@example
@include
#include <crepp/tools/NRF24.h>
@end_include
@macro
#define NRF_CE_PIN 9
#define NRF_CSN_PIN 10
@end_macro
@instance
crepp::tools::NRF24 radio;
@end_instance
@isr
@end_isr
@function
@end_function
@setup
Serial.begin(115200);
radio.begin(NRF_CE_PIN, NRF_CSN_PIN);
@end_setup
@loop
const char message[] = "Hello CREPP";
radio.sendData((uint8_t*)message, sizeof(message));
Serial.println("Message envoyé");
delay(1000);
@end_loop
@end_example
*/
} // namespace crepp::tools