99 lines
2.6 KiB
C++
99 lines
2.6 KiB
C++
/*! \mainpage Guide de démarrage rapide
|
|
*
|
|
* \section intro_sec Introduction
|
|
*
|
|
* Cette bibliothèque inclue deux classes : STS21 et LTC2497.@n
|
|
* La classe STS21 permet de piloter le STS21 qui est un capteur I2C de température de la marque SENSIRION.@n
|
|
* La classe LTC2497 permet de piloter le LTC2497 qui est un ADC I2C 16 entrées d'une résolution de 16 bits.@n
|
|
* Le pilote pour le LTC2497 n'a pas pu être testé faute de platine de test.@n
|
|
* Voici un code d'exemple de l'utilisation du STS21 :
|
|
*
|
|
* \code{.cpp}
|
|
* #include <STS21.h>
|
|
*
|
|
* STS21 sts21;
|
|
*
|
|
* void setup()
|
|
* {
|
|
* Serial.begin(115200);
|
|
* if(sts21.begin())
|
|
* {
|
|
* Serial.println("Capteur present!");
|
|
* //C'est de toute façon la résolution par défaut
|
|
* sts21.setResolution(STS21::RES_14);
|
|
* }
|
|
* else
|
|
* Serial.println("Sensor missing !");
|
|
* }
|
|
*
|
|
* void loop()
|
|
* {
|
|
* Serial.print("Température relevee : ");Serial.println(sts21.getTemperature());
|
|
* delay(2000);
|
|
* }
|
|
* \endcode
|
|
*
|
|
* Voici un code d'exemple de l'utilisation du LTC2497 :
|
|
* @warning La bibliothèque n'a pas pu être testée. Il y a des chances pour qu'elle ne fonctionne pas correctement.
|
|
* \code{.cpp}
|
|
* #include "LTC2497.h"
|
|
*
|
|
* LTC2497 ltc2497;
|
|
*
|
|
* void setup()
|
|
* {
|
|
* Serial.begin(9600);
|
|
* delay(1000);
|
|
* Serial.println("Starting :");
|
|
* Serial.print("ADC Begin : ");Serial.println(ltc2497.begin());
|
|
* }
|
|
*
|
|
*
|
|
* void loop()
|
|
* {
|
|
* uint32_t valeur = ltc2497.sampleValue(LTC2497::CHAN_2);
|
|
* Serial.print("Valeur adc : ");Serial.println(valeur);
|
|
* delay(2000);
|
|
* }
|
|
* \endcode
|
|
*
|
|
* \author Anatole SCHRAMM-HENRY
|
|
* \author Tim THUREL
|
|
* \date 14 Fev 2020
|
|
* \copyright All Right Reserved
|
|
*/
|
|
|
|
#ifndef I2CDEVICE_H
|
|
#define I2CDEVICE_H
|
|
|
|
#include <Arduino.h>
|
|
#include <Wire.h>
|
|
|
|
/*! @brief La classe I2CDevice est une classe abstraite servant de modèle pour le développement de pilote pour périphérique I2C.
|
|
*
|
|
* Cette classe n'est donc pas instanciable directement.
|
|
*/
|
|
class I2CDevice
|
|
{
|
|
public:
|
|
/*!
|
|
* Le constructeur de la classe prend en paramètres :
|
|
* @param address : l'address du périphérique sur le bis I2C. (sur 7 bits)
|
|
* @param twi : une adresse de l'instance de classe Wire faisant partie de l'écosystème Arduino.
|
|
*/
|
|
I2CDevice(const uint8_t address, TwoWire *twi = &Wire);
|
|
protected:
|
|
/*!
|
|
* Initialise le périphérique.
|
|
* @return boolean : true si l'initialisation a fonctionnée, false sinon.
|
|
*/
|
|
virtual boolean begin() = 0;
|
|
|
|
const uint8_t address;
|
|
TwoWire *twi;
|
|
boolean isPresent;
|
|
private:
|
|
};
|
|
|
|
#endif //I2CDEVICE_H
|