diff options
| author | Manuel Traut <manut@mecka.net> | 2012-06-03 02:56:00 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2012-06-03 02:56:00 +0200 |
| commit | 008f8c3240b0ee70dfbba4898f56f57529334945 (patch) | |
| tree | 0bca21a93f4f7e39312bf45467a7ab810b2a1beb | |
| parent | 50d93b3af6ed78b092f4610716cfdbe8ca4251f7 (diff) | |
io: add timestamps to analog/digital interfaces
- used to store time of last update
Signed-off-by: Manuel Traut <manut@mecka.net>
| -rw-r--r-- | interfaces/distrio_common.idl | 4 | ||||
| -rw-r--r-- | interfaces/distrio_io.idl | 9 | ||||
| -rw-r--r-- | io/distrio_io.cpp | 24 |
3 files changed, 33 insertions, 4 deletions
diff --git a/interfaces/distrio_common.idl b/interfaces/distrio_common.idl index 8756732..033811e 100644 --- a/interfaces/distrio_common.idl +++ b/interfaces/distrio_common.idl @@ -36,7 +36,7 @@ module Distrio { * @brief describes when the error was detected * (it's helpful to sync all boards with ntp) */ - struct Error_timestamp { + struct Timestamp { long seconds; long nanoseconds; }; @@ -47,7 +47,7 @@ module Distrio { struct Error { Error_code code; Error_level level; - Error_timestamp time; + Timestamp time; /** id of the digital/analog IO or the IO device */ long module_id; /** a human readable description which can be displayed in GUIs */ diff --git a/interfaces/distrio_io.idl b/interfaces/distrio_io.idl index 25d69a8..7c483be 100644 --- a/interfaces/distrio_io.idl +++ b/interfaces/distrio_io.idl @@ -34,7 +34,9 @@ module Distrio { Distrio::Error get (out long value); /** register a callback that is called if the state of the pin changes */ Distrio::Error register_callback (in Device dev, in Digital_trigger trigger); - /** the id is given by Controller::Manager during registration */ + /** stores a timestamp of the last update of the referenced value */ + attribute Distrio::Timestamp last_update; + /** the id is given by Distrio::Manager during registration */ attribute long id; }; @@ -62,6 +64,9 @@ module Distrio { Distrio::Error get (out long value); /** register a callback that is called if the trigger matches */ Distrio::Error register_callback (in Device dev, in Analog_trigger trigger); + /** stores a timestamp of the last update of the referenced value */ + attribute Distrio::Timestamp last_update; + /** the id is given by Distrio::Manager during registration */ attribute long id; }; @@ -100,7 +105,7 @@ module Distrio { /** called by the Digital object if this object is registered as a * callback and the trigger hits */ Distrio::Error callback_analog (in Analog io_ana); - /** ID is given by Controller::Manager during registration */ + /** ID is given by Distrio::Manager during registration */ attribute long id; }; diff --git a/io/distrio_io.cpp b/io/distrio_io.cpp index e102dbd..deae171 100644 --- a/io/distrio_io.cpp +++ b/io/distrio_io.cpp @@ -71,6 +71,18 @@ Distrio_Digital_i::~Distrio_Digital_i (void) // Add your implementation here } +::Distrio::Timestamp Distrio_Digital_i::last_update ( + void) +{ + // Add your implementation here +} + +void Distrio_Digital_i::last_update ( + const ::Distrio::Timestamp & last_update) +{ + // Add your implementation here +} + ::CORBA::Long Distrio_Digital_i::id ( void) { @@ -130,6 +142,18 @@ Distrio_Analog_i::~Distrio_Analog_i (void) // Add your implementation here } +::Distrio::Timestamp Distrio_Analog_i::last_update ( + void) +{ + // Add your implementation here +} + +void Distrio_Analog_i::last_update ( + const ::Distrio::Timestamp & last_update) +{ + // Add your implementation here +} + ::CORBA::Long Distrio_Analog_i::id ( void) { |
