signal_control_changed.emit(ctrl.name, ctrl.value);
}
-void Train::loco_speed_event(unsigned addr, unsigned speed, bool)
+void Train::loco_speed_event(unsigned addr, unsigned speed, bool rev)
{
if(addr==address)
{
current_speed_step = speed;
+ if(rev!=reverse)
+ layout.get_driver().set_loco_reverse(address, reverse);
speed_changing = false;
pure_speed = false;
}