BMP280.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef UNITEMP_BMP280
  2. #define UNITEMP_BMP280
  3. #include "../unitemp.h"
  4. #include "../Sensors.h"
  5. #include "../interfaces/I2CSensor.h"
  6. typedef struct {
  7. uint16_t dig_T1;
  8. int16_t dig_T2;
  9. int16_t dig_T3;
  10. } BMP280_temp_cal;
  11. // typedef struct {
  12. // uint16_t dig_P1;
  13. // int16_t dig_P2;
  14. // int16_t dig_P3;
  15. // int16_t dig_P4;
  16. // int16_t dig_P5;
  17. // int16_t dig_P6;
  18. // int16_t dig_P7;
  19. // int16_t dig_P8;
  20. // int16_t dig_P9;
  21. // } BMP280_press_cal;
  22. typedef struct {
  23. BMP280_temp_cal temp_cal;
  24. // BMP280_press_cal press_cal;
  25. } BMP280_instance;
  26. extern const SensorType BMP280;
  27. /**
  28. * @brief Выделение памяти и установка начальных значений датчика BMP280
  29. * @param sensor Указатель на создаваемый датчик
  30. * @return Истина при успехе
  31. */
  32. bool unitemp_BMP280_alloc(Sensor* sensor, char* args);
  33. /**
  34. * @brief Инициализации датчика BMP280
  35. * @param sensor Указатель на датчик
  36. * @return Истина если инициализация упспешная
  37. */
  38. bool unitemp_BMP280_init(Sensor* sensor);
  39. /**
  40. * @brief Деинициализация датчика
  41. * @param sensor Указатель на датчик
  42. */
  43. bool unitemp_BMP280_deinit(Sensor* sensor);
  44. /**
  45. * @brief Обновление значений из датчика
  46. * @param sensor Указатель на датчик
  47. * @return Статус опроса датчика
  48. */
  49. UnitempStatus unitemp_BMP280_update(Sensor* sensor);
  50. /**
  51. * @brief Высвободить память датчика
  52. * @param sensor Указатель на датчик
  53. */
  54. bool unitemp_BMP280_free(Sensor* sensor);
  55. #endif