Kod: Zaznacz cały
if ( channel->Type == SUPLA_CHANNELTYPE_THERMOMETERDS18B20
&& Params.cb.get_temperature != NULL ) {
Serial.println(pin->time_left);
if ( pin->time_left <= 0 ) {
pin->time_left = 10000;
double val = Params.cb.get_temperature(channel_number, pin->last_val_dbl1);
if ( val != pin->last_val_dbl1 ) {
pin->last_val_dbl1 = val;
channelDoubleValueChanged(channel_number, val);
}
}
}
oczywiście dodałem w iterate aby iterate_thermometer była wywoływana gdy moduł nie jest zarejestrowany
Kod: Zaznacz cały
void SuplaDeviceClass::iterate(void) {
int a;
unsigned long _millis = millis();
unsigned long time_diff = abs(_millis - last_iterate_time);
if ( !Params.cb.svr_connected() ) {
if ( time_diff > 0 ) {
for(a=0;a<Params.reg_dev.channel_count;a++) {
iterate_thermometer(&channel_pin[a], &Params.reg_dev.channels[a], time_diff, a);
}
last_iterate_time = millis();
}
}
....