summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@mecka.net>2012-06-03 02:56:00 +0200
committerManuel Traut <manut@mecka.net>2012-06-03 02:56:00 +0200
commit008f8c3240b0ee70dfbba4898f56f57529334945 (patch)
tree0bca21a93f4f7e39312bf45467a7ab810b2a1beb
parent50d93b3af6ed78b092f4610716cfdbe8ca4251f7 (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.idl4
-rw-r--r--interfaces/distrio_io.idl9
-rw-r--r--io/distrio_io.cpp24
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)
{