| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #ifndef UNITEMP_ONE_WIRE
- #define UNITEMP_ONE_WIRE
- #include "../unitemp.h"
- //Интерфейс One Wire
- typedef struct {
- //Тип интерфейса подключения датчика
- Interface interface;
- //Порт подключения датчика
- const GPIO* gpio;
- //Время последнего опроса
- uint32_t lastPollingTime;
- //Последнее успешное значение температуры
- float lastTemp;
- //Последнее успешное значение влажности
- float lastHum;
- } OneWireSensor;
- /**
- * @brief Инициализация датчика
- *
- * @param sensor Указатель на инициализируемый датчик
- * @return Истина если всё прошло успешно
- */
- bool unitemp_oneWire_sensorInit(OneWireSensor* sensor);
- /**
- * @brief Деинициализация датчика
- *
- * @param sensor Указатель на инициализируемый датчик
- * @return Истина если всё прошло успешно
- */
- bool unitemp_oneWire_sensorDeInit(OneWireSensor* sensor);
- /**
- * @brief Получение данных с датчика по однопроводному интерфейсу DHTxx и AM2xxx
- *
- * @param sensor Указатель на датчик
- * @return Статус опроса
- */
- UnitempStatus unitemp_oneWire_getData(Sensor* sensor);
- /**
- * @brief Установить порт датчика
- *
- * @param sensor Указатель на датчик
- * @param gpio Устанавливаемый порт
- * @return Истина если всё ок
- */
- bool unitemp_oneWire_sensorSetGPIO(Sensor* sensor, const GPIO* gpio);
- /**
- * @brief Получить порт датчика
- *
- * @param sensor Указатель на датчик
- * @return Указатель на GPIO
- */
- const GPIO* unitemp_oneWire_sensorGetGPIO(Sensor* sensor);
- #endif
|