19 LOG_SENSOR(
"",
"HX711",
this);
21 LOG_PIN(
" SCK Pin: ", this->
sck_pin_);
22 LOG_UPDATE_INTERVAL(
this);
27 int32_t value =
static_cast<int32_t
>(result);
28 ESP_LOGD(TAG,
"'%s': Got value %" PRId32, LOG_STR_ARG(this->
get_log_name()), value);
34 ESP_LOGW(TAG,
"HX711 is not ready for new measurements yet!");
44 for (uint8_t i = 0; i < 24; i++) {
53 for (uint8_t i = 0; i < static_cast<uint8_t>(this->
gain_); i++) {
63 ESP_LOGW(TAG,
"HX711 DOUT pin not high after reading (data 0x%" PRIx32
")!", data);
69 if (result !=
nullptr)
void status_set_warning()
bool status_comm_result(bool ok)
Clears the warning when ok, else sets it with message (default "Communication failed"); returns ok.
const LogString * get_log_name() const
Get the name for a "%s" log argument (LOG_STR_ARG).
virtual void digital_write(bool value)=0
virtual bool digital_read()=0
Helper class to disable interrupts.
bool read_sensor_(uint32_t *result)
void dump_config() override
void publish_state(float state)
Publish a new state to the front-end.
ESPHOME_LOG_TAG(TAG, "hx711")
void IRAM_ATTR HOT delayMicroseconds(uint32_t us)
constexpr int32_t sign_extend(uint32_t value)
Sign-extend the low BITS bits of value, e.g. sign_extend<24>(0xFFFFFE) == -2. Higher bits are ignored...