ESPHome 2025.7.1
Loading...
Searching...
No Matches
honeywellabp2.h
Go to the documentation of this file.
1// for Honeywell ABP sensor
2// adapting code from https://github.com/vwls/Honeywell_pressure_sensors
3#pragma once
4
7#include "esphome/core/hal.h"
9
10namespace esphome {
11namespace honeywellabp2_i2c {
12
14
16 public:
17 void set_pressure_sensor(sensor::Sensor *pressure_sensor) { this->pressure_sensor_ = pressure_sensor; };
18 void set_temperature_sensor(sensor::Sensor *temperature_sensor) { this->temperature_sensor_ = temperature_sensor; };
19 void loop() override;
20 void update() override;
21 void dump_config() override;
22
23 void read_sensor_data();
24 void start_measurement();
27
28 float get_pressure();
29 float get_temperature();
30
31 void set_min_pressure(float min_pressure) { this->min_pressure_ = min_pressure; };
32 void set_max_pressure(float max_pressure) { this->max_pressure_ = max_pressure; };
33 void set_transfer_function(ABP2TRANFERFUNCTION transfer_function);
34
35 protected:
36 float min_pressure_ = 0.0;
37 float max_pressure_ = 0.0;
39
42
43 const float max_count_a_ = 15099494.4; // (90% of 2^24 counts or 0xE66666)
44 const float min_count_a_ = 1677721.6; // (10% of 2^24 counts or 0x19999A)
45 const float max_count_b_ = 11744051.2; // (70% of 2^24 counts or 0xB33333)
46 const float min_count_b_ = 5033164.8; // (30% of 2^24 counts or 0x4CCCCC)
47
51
52 uint8_t raw_data_[7]; // holds output data
53 uint8_t i2c_cmd_[3] = {0xAA, 0x00, 0x00}; // command to be sent
56};
57
58} // namespace honeywellabp2_i2c
59} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:422
void set_temperature_sensor(sensor::Sensor *temperature_sensor)
void set_pressure_sensor(sensor::Sensor *pressure_sensor)
void set_transfer_function(ABP2TRANFERFUNCTION transfer_function)
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:133
Base-class for all sensors.
Definition sensor.h:62
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7