| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #ifndef UNITEMP_BMP280
- #define UNITEMP_BMP280
- #include "../unitemp.h"
- #include "../Sensors.h"
- #include "../interfaces/I2CSensor.h"
- typedef struct {
- uint16_t dig_T1;
- int16_t dig_T2;
- int16_t dig_T3;
- } BMP280_temp_cal;
- typedef struct {
- uint16_t dig_P1;
- int16_t dig_P2;
- int16_t dig_P3;
- int16_t dig_P4;
- int16_t dig_P5;
- int16_t dig_P6;
- int16_t dig_P7;
- int16_t dig_P8;
- int16_t dig_P9;
- } BMP280_press_cal;
- typedef struct {
- //Калибровочные значения температуры
- BMP280_temp_cal temp_cal;
- //Калибровочные значения давления
- BMP280_press_cal press_cal;
- //Время последнего обновления калибровочных значений
- uint32_t last_cal_update_time;
- //Корректировочное значение температуры
- uint32_t t_fine;
- } BMP280_instance;
- extern const SensorType BMP280;
- /**
- * @brief Выделение памяти и установка начальных значений датчика BMP280
- * @param sensor Указатель на создаваемый датчик
- * @return Истина при успехе
- */
- bool unitemp_BMP280_alloc(Sensor* sensor, char* args);
- /**
- * @brief Инициализации датчика BMP280
- * @param sensor Указатель на датчик
- * @return Истина если инициализация упспешная
- */
- bool unitemp_BMP280_init(Sensor* sensor);
- /**
- * @brief Деинициализация датчика
- * @param sensor Указатель на датчик
- */
- bool unitemp_BMP280_deinit(Sensor* sensor);
- /**
- * @brief Обновление значений из датчика
- * @param sensor Указатель на датчик
- * @return Статус опроса датчика
- */
- UnitempStatus unitemp_BMP280_update(Sensor* sensor);
- /**
- * @brief Высвободить память датчика
- * @param sensor Указатель на датчик
- */
- bool unitemp_BMP280_free(Sensor* sensor);
- #endif
|