X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fdriver.h;h=3f5a75ce2a6b959d31071d38436c2d73bbef8f0e;hb=b78b49d85fbb9b2901c77e6450cfd41c0a818ac1;hp=a0e5cc434405a194e56099bd5e3f63dd7512e8b4;hpb=23e1a988da2efae47e39d93babe7e37b1c0ca554;p=r2c2.git diff --git a/source/libr2c2/driver.h b/source/libr2c2/driver.h index a0e5cc4..3f5a75c 100644 --- a/source/libr2c2/driver.h +++ b/source/libr2c2/driver.h @@ -45,6 +45,14 @@ public: std::string name; }; + struct TelemetryInfo + { + const char *name; + const char *label; + const char *unit; + unsigned precision; + }; + sigc::signal signal_power; sigc::signal signal_halt; sigc::signal signal_locomotive_detected; @@ -91,6 +99,9 @@ public: virtual void set_sensor(unsigned, bool) = 0; virtual bool get_sensor(unsigned) const = 0; + virtual const TelemetryInfo *enumerate_telemetry(unsigned) const = 0; + virtual float get_telemetry_value(const std::string &) const = 0; + virtual void tick() = 0; virtual void flush() = 0;