/*! \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 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 #include /*! @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