X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fintellibox.cpp;h=bbe6781cd6b85d8090c3ed534989dec4460e4713;hb=975ea87cc7be179618b06291cb2506a2523cad1f;hp=416d02184e9564836361da811ef247a4777a0f3c;hpb=62ce775d9af8f3321dbdebd6243b551fbbb0b976;p=r2c2.git diff --git a/source/libmarklin/intellibox.cpp b/source/libmarklin/intellibox.cpp index 416d021..bbe6781 100644 --- a/source/libmarklin/intellibox.cpp +++ b/source/libmarklin/intellibox.cpp @@ -94,11 +94,26 @@ void Intellibox::halt(bool h) signal_halt.emit(halted); } -void Intellibox::add_loco(unsigned addr) +const char *Intellibox::enumerate_protocols(unsigned i) const +{ + if(i==0) + return "MM"; + return 0; +} + +unsigned Intellibox::get_protocol_speed_steps(const string &proto) const +{ + if(proto=="MM") + return 14; + else + throw InvalidParameterValue("Unknown protocol"); +} + +void Intellibox::add_loco(unsigned addr, const string &proto) { if(!locos.count(addr)) { - locos[addr]; + locos[addr].protocol = proto; unsigned char data[2]; data[0] = addr&0xFF;