OneWireSensor.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef UNITEMP_OneWire
  2. #define UNITEMP_OneWire
  3. #include "../unitemp.h"
  4. typedef struct OneWireSensor {
  5. //Порт подключения датчика
  6. const GPIO* gpio;
  7. //Текущий адрес устройства на шине OneWire
  8. uint64_t addr;
  9. } OneWireSensor;
  10. /**
  11. * @brief Выделение памяти для датчика на шине OneWire
  12. *
  13. * @param sensor Указатель на датчик
  14. * @param st Тип датчика
  15. * @return Истина если всё ок
  16. */
  17. bool unitemp_OneWire_alloc(void* s, uint16_t* anotherValues);
  18. /**
  19. * @brief Высвобождение памяти инстанса датчика
  20. *
  21. * @param sensor Указатель на датчик
  22. */
  23. bool unitemp_OneWire_free(void* sensor);
  24. /**
  25. * @brief Инициализации датчика на шине One Wire
  26. *
  27. * @param sensor Указатель на датчик (тип Sensor)
  28. * @return Истина если инициализация упспешная
  29. */
  30. bool unitemp_OneWire_init(void* sensor);
  31. /**
  32. * @brief Деинициализация датчика
  33. *
  34. * @param sensor Указатель на датчик (тип Sensor)
  35. */
  36. bool unitemp_OneWire_deinit(void* s);
  37. /**
  38. * @brief Обновить значение с датчка
  39. *
  40. * @param sensor Указатель на датчик (тип Sensor)
  41. * @return Статус обновления
  42. */
  43. UnitempStatus unitemp_OneWire_update(void* sensor);
  44. extern const SensorType DS18B20;
  45. #endif