}
}
+void Intellibox::remove_loco(unsigned addr)
+{
+ locos.erase(addr);
+}
+
void Intellibox::set_loco_speed(unsigned addr, unsigned speed)
{
Locomotive &loco = locos[addr];
add_turnout(addr, type.get_state_bits(), false);
}
+void Intellibox::remove_turnout(unsigned addr)
+{
+ turnouts.erase(addr);
+}
+
void Intellibox::add_turnout(unsigned addr, unsigned bits, bool signal)
{
if(!turnouts.count(addr))
add_turnout(addr, 1, true);
}
+void Intellibox::remove_signal(unsigned addr)
+{
+ remove_turnout(addr);
+}
+
void Intellibox::set_signal(unsigned addr, unsigned state)
{
set_turnout(addr, state);
}
}
+void Intellibox::remove_sensor(unsigned addr)
+{
+ sensors.erase(addr);
+ update_sensors = true;
+}
+
bool Intellibox::get_sensor(unsigned addr) const
{
map<unsigned, Sensor>::const_iterator i = sensors.find(addr);