88 uint32_t interrupts_a = 0;
89 uint32_t interrupts_b = 0;
102 ADE_PUBLISH(power_factor_a, (int16_t) val_16, (0x7FFF / 100.0f));
104 ADE_PUBLISH(power_factor_b, (int16_t) val_16, (0x7FFF / 100.0f));
106 float pf = ADE_POWER_FACTOR;
108 const uint32_t now =
millis();
110 this->last_update_ = now;
112 pf = ADE_WATTSEC_POWER_FACTOR * (diff < 10 ? 10 : diff) / 1000;
113 ESP_LOGVV(TAG,
"ADE7953::update() diff=%" PRIu32
" pf=%f", diff, pf);
119 ADE_PUBLISH(apparent_power_a, (int32_t)
val, pf);
121 ADE_PUBLISH(apparent_power_b, (int32_t)
val, pf);
126 ADE_PUBLISH(active_power_a, (int32_t)
val, pf);
128 ADE_PUBLISH(active_power_b, (int32_t)
val, pf);
133 ADE_PUBLISH(reactive_power_a, (int32_t)
val, pf);
135 ADE_PUBLISH(reactive_power_b, (int32_t)
val, pf);
139 ADE_PUBLISH(current_a, (uint32_t)
val, 100000.0f);
141 ADE_PUBLISH(current_b, (uint32_t)
val, 100000.0f);
145 ADE_PUBLISH(voltage, (uint32_t)
val, 26000.0f);
149 ADE_PUBLISH(
frequency, 223750.0f, 1 + val_16);