+ Accessory &acc = *active_accessory;
+
+ if(acc.kind==Accessory::TURNOUT && monitor.get_peak()<0.5f)
+ {
+ unsigned bit = 1<<active_index;
+ if(acc.uncertain&bit)
+ acc.uncertain &= ~bit;
+ else
+ {
+ signal_turnout_failed.emit(acc.address);
+ acc.state.rollback();
+ acc.target ^= bit;
+ }
+ }
+