| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #ifndef UNITEMP_OneWire
- #define UNITEMP_OneWire
- #include "../unitemp.h"
- typedef enum DallasFamilyCode {
- FC_DS18S20 = 0x10,
- FC_DS1822 = 0x22,
- FC_DS18B20 = 0x28,
- } DallasFamilyCode;
- typedef struct OneWireSensor {
- //Порт подключения датчика
- const GPIO* gpio;
- //Текущий адрес устройства на шине OneWire
- uint64_t addr;
- DallasFamilyCode familyCode;
- } OneWireSensor;
- /**
- * @brief Выделение памяти для датчика на шине OneWire
- *
- * @param sensor Указатель на датчик
- * @param st Тип датчика
- * @return Истина если всё ок
- */
- bool unitemp_OneWire_alloc(void* s, uint16_t* anotherValues);
- /**
- * @brief Высвобождение памяти инстанса датчика
- *
- * @param sensor Указатель на датчик
- */
- bool unitemp_OneWire_free(void* sensor);
- /**
- * @brief Инициализации датчика на шине One Wire
- *
- * @param sensor Указатель на датчик (тип Sensor)
- * @return Истина если инициализация упспешная
- */
- bool unitemp_OneWire_init(void* sensor);
- /**
- * @brief Деинициализация датчика
- *
- * @param sensor Указатель на датчик (тип Sensor)
- */
- bool unitemp_OneWire_deinit(void* s);
- /**
- * @brief Обновить значение с датчка
- *
- * @param sensor Указатель на датчик (тип Sensor)
- * @return Статус обновления
- */
- UnitempStatus unitemp_OneWire_update(void* sensor);
- extern const SensorType DS18x2x;
- #endif
|