|
|
@@ -176,6 +176,8 @@ void Treppe::print_state_on_change() { |
|
|
|
} |
|
|
|
|
|
|
|
void Treppe::task(){ |
|
|
|
//Serial.printf("LDR: %f\n", ((float)analogRead(A0))/1023.*3.68); |
|
|
|
|
|
|
|
if(finish){ |
|
|
|
direction = switch_direction; |
|
|
|
state = switch_state; |
|
|
@@ -194,40 +196,12 @@ void Treppe::task(){ |
|
|
|
fsm_outputs = FSMTreppe_Obj.getExternalOutputs(); |
|
|
|
print_state_on_change(); |
|
|
|
|
|
|
|
if(current_sensor_state[0] && !last_sensor_state[0] && state == 0){ |
|
|
|
setTick(0); |
|
|
|
setAnAus(1); |
|
|
|
setDirection(1); |
|
|
|
setState(1); |
|
|
|
} |
|
|
|
|
|
|
|
if(current_sensor_state[1] && !last_sensor_state[1] && state == 0){ |
|
|
|
setTick(0); |
|
|
|
setAnAus(0); |
|
|
|
setDirection(0); |
|
|
|
setState(1); |
|
|
|
} |
|
|
|
|
|
|
|
// first switch - off approach, use timer later |
|
|
|
if(!current_sensor_state[0] && last_sensor_state[0] && state == 1){ |
|
|
|
setTick(ticks_treppe); |
|
|
|
setAnAus(1); |
|
|
|
setDirection(1); |
|
|
|
setState(0); |
|
|
|
} |
|
|
|
|
|
|
|
if(!current_sensor_state[1] && last_sensor_state[1] && state == 1){ |
|
|
|
setTick(ticks_treppe); |
|
|
|
setAnAus(1); |
|
|
|
setDirection(0); |
|
|
|
setState(0); |
|
|
|
} |
|
|
|
|
|
|
|
last_sensor_state[0] = current_sensor_state[0]; |
|
|
|
last_sensor_state[1] = current_sensor_state[1]; |
|
|
|
// setTick(ticks_treppe); |
|
|
|
// setAnAus(1); |
|
|
|
// setDirection(0); |
|
|
|
// setState(0); |
|
|
|
|
|
|
|
ledsequence(); |
|
|
|
//Serial.printf("LDR: %f\n", ((float)analogRead(A0))/1023.*3.68); |
|
|
|
} |
|
|
|
|
|
|
|
|