ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
nau7802.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <cinttypes>
8
9namespace esphome::nau7802 {
10
21
29
39 // Never write this to a register
41};
42
48
49class NAU7802Sensor final : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice {
50 public:
51 void set_samples_per_second(NAU7802SPS sps) { this->sps_ = sps; }
52 void set_ldo_voltage(NAU7802LDO ldo) { this->ldo_ = ldo; }
53 void set_gain(NAU7802Gain gain) { this->gain_ = gain; }
54 void set_gain_calibration(float gain_calibration) { this->gain_calibration_ = gain_calibration; }
55 void set_offset_calibration(int32_t offset_calibration) { this->offset_calibration_ = offset_calibration; }
59
60 void setup() override;
61 void loop() override;
62 void dump_config() override;
63 void update() override;
64
65 protected:
66 //
67 // Internal state
68 //
69 enum class CalibrationState : uint8_t {
71 OFFSET,
72 GAIN,
74
79
80 //
81 // Config values
82 //
86
87 //
88 // Internal Methods
89 //
91 void complete_setup_();
92 void write_value_(uint8_t start_reg, size_t size, int32_t value);
93 int32_t read_value_(uint8_t start_reg, size_t size);
94 bool is_data_ready_();
95 void set_calibration_failure_(bool failed);
96};
97
98} // namespace esphome::nau7802
BedjetMode mode
BedJet operating mode.
This class simplifies creating components that periodically check a state.
Definition component.h:519
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:144
void set_samples_per_second(NAU7802SPS sps)
Definition nau7802.h:51
bool calibrate_(enum NAU7802CalibrationModes mode)
Definition nau7802.cpp:233
void set_gain_calibration(float gain_calibration)
Definition nau7802.h:54
void set_ldo_voltage(NAU7802LDO ldo)
Definition nau7802.h:52
void write_value_(uint8_t start_reg, size_t size, int32_t value)
Definition nau7802.cpp:215
int32_t read_value_(uint8_t start_reg, size_t size)
Definition nau7802.cpp:223
enum esphome::nau7802::NAU7802Sensor::CalibrationState INACTIVE
void set_offset_calibration(int32_t offset_calibration)
Definition nau7802.h:55
void set_calibration_failure_(bool failed)
Definition nau7802.cpp:251
void set_gain(NAU7802Gain gain)
Definition nau7802.h:53
Base-class for all sensors.
Definition sensor.h:47
AlsGain501 gain
@ NAU7802_CALIBRATE_GAIN
Definition nau7802.h:46
@ NAU7802_CALIBRATE_EXTERNAL_OFFSET
Definition nau7802.h:44
@ NAU7802_CALIBRATE_INTERNAL_OFFSET
Definition nau7802.h:45
uint16_t size
Definition helpers.cpp:34