10static const float PROBE_MV_TO_PH = 59.2;
11static const float PROBE_TMP_CORRECTION = 0.03;
13static const uint8_t CONFIG_TEMP_COMPENSATION = 0x02;
15static const uint8_t REGISTER_VERSION = 0;
16static const uint8_t REGISTER_MV = 1;
17static const uint8_t REGISTER_TEMP = 5;
18static const uint8_t REGISTER_REFHIGH = 13;
19static const uint8_t REGISTER_REFLOW = 17;
20static const uint8_t REGISTER_READHIGH = 21;
21static const uint8_t REGISTER_READLOW = 25;
22static const uint8_t REGISTER_SOLUTION = 29;
23static const uint8_t REGISTER_CONFIG = 38;
24static const uint8_t REGISTER_TASK = 39;
26static const uint8_t COMMAND_CALIBRATE_HIGH = 8;
27static const uint8_t COMMAND_CALIBRATE_LOW = 10;
28static const uint8_t COMMAND_MEASURE_TEMP = 40;
29static const uint8_t COMMAND_MEASURE_MV = 80;
33 void setup()
override;
This class simplifies creating components that periodically check a state.
This Class provides the methods to read/write bytes from/to an i2c device.
I2CRegister reg(uint8_t a_register)
calls the I2CRegister constructor
Base-class for all sensors.
void set_temperature_sensor_external(sensor::Sensor *temperature_sensor)
float read_data_(uint8_t reg)
sensor::Sensor * ph_sensor_
sensor::Sensor * temperature_sensor_
void set_solution_(float solution)
void write_data_(uint8_t reg, float data)
sensor::Sensor * temperature_sensor_external_
void set_ph_sensor(sensor::Sensor *ph_sensor)
void calibrate_probe_low(float solution)
float measure_ph_(float temperature)
float measure_temperature_()
void dump_config() override
void calibrate_probe_high(float solution)
void set_temperature_sensor(sensor::Sensor *temperature_sensor)