BMP280.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. //Калибровочные значения температуры
  24. BMP280_temp_cal temp_cal;
  25. //Калибровочные значения давления
  26. // BMP280_press_cal press_cal;
  27. //Время последнего обновления калибровочных значений
  28. uint32_t last_cal_update_time;
  29. } BMP280_instance;
  30. extern const SensorType BMP280;
  31. /**
  32. * @brief Выделение памяти и установка начальных значений датчика BMP280
  33. * @param sensor Указатель на создаваемый датчик
  34. * @return Истина при успехе
  35. */
  36. bool unitemp_BMP280_alloc(Sensor* sensor, char* args);
  37. /**
  38. * @brief Инициализации датчика BMP280
  39. * @param sensor Указатель на датчик
  40. * @return Истина если инициализация упспешная
  41. */
  42. bool unitemp_BMP280_init(Sensor* sensor);
  43. /**
  44. * @brief Деинициализация датчика
  45. * @param sensor Указатель на датчик
  46. */
  47. bool unitemp_BMP280_deinit(Sensor* sensor);
  48. /**
  49. * @brief Обновление значений из датчика
  50. * @param sensor Указатель на датчик
  51. * @return Статус опроса датчика
  52. */
  53. UnitempStatus unitemp_BMP280_update(Sensor* sensor);
  54. /**
  55. * @brief Высвободить память датчика
  56. * @param sensor Указатель на датчик
  57. */
  58. bool unitemp_BMP280_free(Sensor* sensor);
  59. #endif