Differenze tra le versioni di "Gruppo Meteo/Software/Devel/StimaVersione2"
m (Pat1 ha spostato la pagina Gruppo Meteo/Software/Devel a Gruppo Meteo/Software/Devel/StimaVersione2) |
|||
(8 versioni intermedie di 3 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
= Guide per developers = | = Guide per developers = | ||
− | == Software | + | == Software per Stima == |
=== Libreria di "driver" per sensori === | === Libreria di "driver" per sensori === | ||
Esistono attualmente due versioni, una in C++ e una in python | Esistono attualmente due versioni, una in C++ e una in python | ||
Riga 6: | Riga 6: | ||
==== C++ ==== | ==== C++ ==== | ||
− | + | https://github.com/r-map/rmap/tree/master/arduino/sketchbook/libraries/SensorDriverb | |
Porta le gestione della sensoristica ad un livello di astrazione più | Porta le gestione della sensoristica ad un livello di astrazione più | ||
Riga 12: | Riga 12: | ||
con quattro metodi per effettuare la lettura di uno specifico sensore: | con quattro metodi per effettuare la lettura di uno specifico sensore: | ||
− | virtual int setup(int address); | + | virtual int setup(const char* driver, const int address, const int node=0, const char* type=NULL, char* mainbuf=0, size_t lenbuf=0, RF24Network* network=NULL); |
effettua eventuali settaggi necessari al funzionamento del sensore; | effettua eventuali settaggi necessari al funzionamento del sensore; | ||
esempio per temperatura: numero di bit di risoluzione, operazione di | esempio per temperatura: numero di bit di risoluzione, operazione di | ||
− | misura one-shot | + | misura one-shot; i paramteri const int node=0, const char* type=NULL, char* mainbuf=0, size_t lenbuf=0, RF24Network* network=NULL servono per la gestione di un sensore remoto eseguendo una jsonrpc su trasporto NRF24Network |
virtual int prepare(unsigned long* waittime) = 0; | virtual int prepare(unsigned long* waittime) = 0; | ||
Riga 21: | Riga 21: | ||
torna il tempo in millisecondi di attesa necessario | torna il tempo in millisecondi di attesa necessario | ||
− | virtual int get(int | + | virtual int get(int values[],size_t lenvalues) = 0; |
torna i valori della misurazione | torna i valori della misurazione | ||
Riga 31: | Riga 31: | ||
Questa piccola libreria è nata per sensori I2C, ma non per forza | Questa piccola libreria è nata per sensori I2C, ma non per forza | ||
limitata a quelli e infatti prevede già una json-rpc con trasporto via radio. | limitata a quelli e infatti prevede già una json-rpc con trasporto via radio. | ||
− | + | ||
− | + | il file SensorDriver_config.h definisce quali driver includere nella libreria e altri parametri di configurazione a compile time | |
==== python ==== | ==== python ==== | ||
− | + | https://github.com/r-map/rmap/blob/master/python/rmap/sensordriver.py |
Versione attuale delle 16:04, 12 set 2019
Guide per developers
Software per Stima
Libreria di "driver" per sensori
Esistono attualmente due versioni, una in C++ e una in python
C++
https://github.com/r-map/rmap/tree/master/arduino/sketchbook/libraries/SensorDriverb
Porta le gestione della sensoristica ad un livello di astrazione più alto. Praticamente si tratterebbe di estendere una classe con quattro metodi per effettuare la lettura di uno specifico sensore:
virtual int setup(const char* driver, const int address, const int node=0, const char* type=NULL, char* mainbuf=0, size_t lenbuf=0, RF24Network* network=NULL);
effettua eventuali settaggi necessari al funzionamento del sensore; esempio per temperatura: numero di bit di risoluzione, operazione di misura one-shot; i paramteri const int node=0, const char* type=NULL, char* mainbuf=0, size_t lenbuf=0, RF24Network* network=NULL servono per la gestione di un sensore remoto eseguendo una jsonrpc su trasporto NRF24Network
virtual int prepare(unsigned long* waittime) = 0;
impartisce al sensore il comando per effettuare una singola misurazione torna il tempo in millisecondi di attesa necessario
virtual int get(int values[],size_t lenvalues) = 0;
torna i valori della misurazione
virtual aJsonObject* getJson() = 0;
torna i valori in formato json, formato preferito ed utilizzato in r-map Vedi RFC-rmap
Questa piccola libreria è nata per sensori I2C, ma non per forza
limitata a quelli e infatti prevede già una json-rpc con trasporto via radio.
il file SensorDriver_config.h definisce quali driver includere nella libreria e altri parametri di configurazione a compile time
python
https://github.com/r-map/rmap/blob/master/python/rmap/sensordriver.py