summaryrefslogtreecommitdiffstats
path: root/low-can-binding/utils/openxc-utils.cpp
diff options
context:
space:
mode:
authorArthur Guyader <arthur.guyader@iot.bzh>2019-12-13 14:44:42 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2020-01-09 16:25:36 +0100
commit74acfee2361a04f5ea389b31c4defecc30d8fc6b (patch)
tree1b4a8939aae56227043d929d0fffababb71fac01 /low-can-binding/utils/openxc-utils.cpp
parent23e350e7c5f193edd5944239f5a2e12af401c228 (diff)
can_bus: Add unit in the json that low-can emits
This commit allow if the unit is defined to display it in the json emmits by low-can. Change-Id: Ia09d4d9614eba6de93292ffab351fa1f4e612b73 Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh> Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'low-can-binding/utils/openxc-utils.cpp')
-rw-r--r--low-can-binding/utils/openxc-utils.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/low-can-binding/utils/openxc-utils.cpp b/low-can-binding/utils/openxc-utils.cpp
index b88c45d9..e2cf8d59 100644
--- a/low-can-binding/utils/openxc-utils.cpp
+++ b/low-can-binding/utils/openxc-utils.cpp
@@ -434,20 +434,23 @@ bool jsonify_simple(const openxc_SimpleMessage& s_msg, json_object* json)
///
/// @param[in] v_msg - const reference to an openxc_VehicleMessage
/// struct to convert into a json object.
+/// @param[in] sig - signal reference to the subscription of openxc_VehicleMessage,
+/// to get more informations about it
/// @param[out] json - pointer with the DynamicField converted into json object
///
/// @return True if VehicleMessage has been transformed into json object
/// and false if not. In such case, a json object is returned { "error": "error msg"}
///
-bool jsonify_vehicle(const openxc_VehicleMessage& v_msg, json_object* json)
+bool jsonify_vehicle(const openxc_VehicleMessage& v_msg, std::shared_ptr<signal_t> sig, json_object* json)
{
if(jsonify_simple(get_simple_message(v_msg), json))
{
+ if(sig != nullptr && sig->get_unit() != "")
+ json_object_object_add(json, "unit", json_object_new_string(sig->get_unit().c_str()));
+
if(v_msg.has_timestamp)
- {
json_object_object_add(json, "timestamp", json_object_new_int64(v_msg.timestamp));
- return true;
- }
+
return true;
}
json_object_object_add(json, "error", json_object_new_string("openxc_SimpleMessage doesn't have name'"));