summaryrefslogtreecommitdiffstats
path: root/CAN-binder/low-can-binding/utils
diff options
context:
space:
mode:
Diffstat (limited to 'CAN-binder/low-can-binding/utils')
-rw-r--r--CAN-binder/low-can-binding/utils/openxc-utils.cpp25
-rw-r--r--CAN-binder/low-can-binding/utils/openxc-utils.hpp1
2 files changed, 25 insertions, 1 deletions
diff --git a/CAN-binder/low-can-binding/utils/openxc-utils.cpp b/CAN-binder/low-can-binding/utils/openxc-utils.cpp
index 27c2509c..2449c47a 100644
--- a/CAN-binder/low-can-binding/utils/openxc-utils.cpp
+++ b/CAN-binder/low-can-binding/utils/openxc-utils.cpp
@@ -87,9 +87,10 @@ const openxc_VehicleMessage build_VehicleMessage(active_diagnostic_request_t* re
return message;
}
///
-/// @brief Build a specific VehicleMessage containing a SimpleMessage.
+/// @brief Build a specific VehicleMessage containing a SimpleMessage with associated timestamp
///
/// @param[in] message - simple message to include into openxc_VehicleMessage
+/// @param[in] timestamp - timestamp from ioctl when reading the socket
///
/// @return a vehicle message including simple message that will be convert into
/// a JSON object before being pushed to the subscribers
@@ -188,6 +189,28 @@ const openxc_SimpleMessage build_SimpleMessage(const std::string& name, const op
///
/// @return openxc_DynamicField initialized with a string value.
///
+const openxc_DynamicField build_DynamicField(const char* value)
+{
+ openxc_DynamicField d;
+ d.has_type = true;
+ d.type = openxc_DynamicField_Type_STRING;
+
+ d.has_string_value = true;
+ d.has_numeric_value = false;
+ d.has_boolean_value = false;
+ ::strncpy(d.string_value, value, 100);
+
+ return d;
+}
+
+///
+/// @brief Build an openxc_DynamicField with a string value
+///
+/// @param[in] value - const string reference value to assign to builded
+/// openxc_DynamicField.
+///
+/// @return openxc_DynamicField initialized with a string value.
+///
const openxc_DynamicField build_DynamicField(const std::string& value)
{
openxc_DynamicField d;
diff --git a/CAN-binder/low-can-binding/utils/openxc-utils.hpp b/CAN-binder/low-can-binding/utils/openxc-utils.hpp
index edfc497d..34ac3eb3 100644
--- a/CAN-binder/low-can-binding/utils/openxc-utils.hpp
+++ b/CAN-binder/low-can-binding/utils/openxc-utils.hpp
@@ -32,6 +32,7 @@ openxc_VehicleMessage build_VehicleMessage();
bool is_valid(const openxc_VehicleMessage& v);
const openxc_SimpleMessage build_SimpleMessage(const std::string& name, const openxc_DynamicField& value);
+const openxc_DynamicField build_DynamicField(const char* value);
const openxc_DynamicField build_DynamicField(const std::string& value);
const openxc_DynamicField build_DynamicField(double value);
const openxc_DynamicField build_DynamicField(bool value);