BMP280.h 1.8 KB

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