aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2020-09-30 13:58:41 -0400
committerScott Murray <scott.murray@konsulko.com>2020-09-30 18:02:42 +0000
commited89b64e6f115a47000af701f73c5e77102d6a61 (patch)
tree2d949b68cc1f6a5ed270997b490ecc1f3729d646
parentcc0c59a74271550604e1aaf55bdccd7de7e4b872 (diff)
Thomas Walzer pointed out that the JSON files in the tests subdirectory no longer worked with the generator; the now required version field has been added to them and the sample generated output updated. Bug-AGL: SPEC-3551 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I667a0b08b41e488e7bca8582902fa5be08da5acb
-rw-r--r--tests/basic-generated.cpp230
-rw-r--r--[-rwxr-xr-x]tests/basic.json1
-rw-r--r--tests/generated.cpp197
-rw-r--r--tests/signals-generated.cpp257
-rw-r--r--[-rwxr-xr-x]tests/signals.json1
5 files changed, 489 insertions, 197 deletions
diff --git a/tests/basic-generated.cpp b/tests/basic-generated.cpp
new file mode 100644
index 0000000..be728a9
--- /dev/null
+++ b/tests/basic-generated.cpp
@@ -0,0 +1,230 @@
+#include <binding/application.hpp>
+#include <can/can-decoder.hpp>
+#include <can/can-encoder.hpp>
+
+extern "C" {
+CTLP_CAPI_REGISTER("example");
+
+std::shared_ptr<message_set_t> cms = std::make_shared<message_set_t>(message_set_t{0,"example",
+ { // beginning message_definition_ vector
+ {std::make_shared<message_definition_t>(message_definition_t{"can0",0x128,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "engine_speed",// generic_name
+ 12,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(15.0000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "GearshiftPosition",// generic_name
+ 41,// bit_position
+ 3,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {1,"FIRST"},
+ {4,"FOURTH"},
+ {6,"NEUTRAL"},
+ {5,"REVERSE"},
+ {2,"SECOND"},
+ {3,"THIRD"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "SteeringWheelAngle",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 0.153920f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "steering_wheel_angle_error",// generic_name
+ 44,// bit_position
+ 12,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "steering_angle_sign",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"can0",0x813,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "abc",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 0.153920f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "def",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::ignoreDecoder,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+ }, // end message_definition vector
+ { // beginning diagnostic_messages_ vector
+ {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 12,
+ "",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 12,
+ "",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ nullptr,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 6,
+ "",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::decode_obd2_response,
+ nullptr,
+ true,
+ false
+ })}
+
+ } // end diagnostic_messages_ vector
+}); // end message_set entry
+
+CTLP_ONLOAD(plugin, handle) {
+ afb_api_t api = (afb_api_t) plugin->api;
+ CtlConfigT* CtlConfig = (CtlConfigT*) afb_api_get_userdata(api);
+ application_t* app = (application_t*) getExternalData(CtlConfig);
+
+ return app->add_message_set(cms);
+}
+
+
+}
+
diff --git a/tests/basic.json b/tests/basic.json
index 32cd1b4..3a98edb 100755..100644
--- a/tests/basic.json
+++ b/tests/basic.json
@@ -1,5 +1,6 @@
{
"name": "example",
+ "version": "2.0",
"extra_sources": [
],
"initializers": [
diff --git a/tests/generated.cpp b/tests/generated.cpp
deleted file mode 100644
index 9768860..0000000
--- a/tests/generated.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-#include "application.hpp"
-#include "can/can-decoder.hpp"
-
-
-// >>>>> handlers.cpp >>>>>
-#include "can/canread.h"
-
-using openxc::can::read::publishNumericalMessage;
-
-void handleSteeringWheelMessage(CanMessage* message,
- CanSignal* signals, int signalCount, Pipeline* pipeline) {
- publishNumericalMessage("latitude", 42.0, pipeline);
-}
-
-openxc_DynamicField handleInverted(CanSignal* signal, CanSignal* signals,
- int signalCount, float value, bool* send) {
- return openxc::payload::wrapNumber(value * -1);
-}
-
-void initializeMyStuff() { }
-
-void initializeOtherStuff() { }
-
-void myLooper() {
- // this function will be called once each time through the main loop, after
- // all CAN message processing has been completed
-}
-
-// <<<<< handlers.cpp <<<<<
-
-application_t::application_t()
- : can_message_set_{0, "example", 2, 2, 7, 1, 3}
- , can_message_definition_
- {
- {
- can_message_definition_t(0, "can0", 0x128, can_message_format_t::STANDARD, frequency_clock_t(0.00000f), true),
- can_message_definition_t(0, "can0", 0x813, can_message_format_t::STANDARD, frequency_clock_t(0.00000f), true)
- }
- }
- , can_signals_
- {
- {
- {
- 0,
- 0,
- "engine_speed",
- 12,
- 8,
- 1.00000,
- 0,
- 0,
- 0,
- frequency_clock_t(15.0000f),
- true,
- false,
- {
- },
- false,
- nullptr,
- nullptr,
- false
- },
- {
- 0,
- 0,
- "GearshiftPosition",
- 41,
- 3,
- 1.00000,
- 0,
- 0,
- 0,
- frequency_clock_t(0.00000f),
- true,
- false,
- {
- {1, "FIRST"},
- {4, "FOURTH"},
- {6, "NEUTRAL"},
- {5, "REVERSE"},
- {2, "SECOND"},
- {3, "THIRD"}
- },
- false,
- nullptr,
- nullptr,
- false
- },
- {
- 0,
- 0,
- "SteeringWheelAngle",
- 52,
- 12,
- 0.153920,
- 0,
- 0,
- 0,
- frequency_clock_t(0.00000f),
- true,
- false,
- {
- },
- false,
- handleUnsignedSteeringWheelAngle,
- nullptr,
- false
- },
- {
- 0,
- 0,
- "steering_wheel_angle_error",
- 44,
- 12,
- 1.00000,
- 0,
- 0,
- 0,
- frequency_clock_t(0.00000f),
- true,
- false,
- {
- },
- false,
- ignoreDecoder,
- nullptr,
- false
- },
- {
- 0,
- 0,
- "steering_angle_sign",
- 52,
- 12,
- 1.00000,
- 0,
- 0,
- 0,
- frequency_clock_t(0.00000f),
- true,
- false,
- {
- },
- false,
- ignoreDecoder,
- nullptr,
- false
- }
- },
- {
- {
- 0,
- 1,
- "abc",
- 52,
- 12,
- 0.153920,
- 0,
- 0,
- 0,
- frequency_clock_t(0.00000f),
- true,
- false,
- {
- },
- false,
- handleUnsignedSteeringWheelAngle,
- nullptr,
- false
- },
- {
- 0,
- 1,
- "def",
- 52,
- 12,
- 1.00000,
- 0,
- 0,
- 0,
- frequency_clock_t(0.00000f),
- true,
- false,
- {
- },
- false,
- decoder_t::ignoreDecoder,
- nullptr,
- false
- }
- }
- }
- //, obd2_signals_{/*...*/}
-{
-}
-
-
diff --git a/tests/signals-generated.cpp b/tests/signals-generated.cpp
new file mode 100644
index 0000000..9e3a4f2
--- /dev/null
+++ b/tests/signals-generated.cpp
@@ -0,0 +1,257 @@
+#include <binding/application.hpp>
+#include <can/can-decoder.hpp>
+#include <can/can-encoder.hpp>
+
+
+// >>>>> handlers.cpp >>>>>
+#include "can/canread.h"
+
+using openxc::can::read::publishNumericalMessage;
+
+void handleSteeringWheelMessage(CanMessage* message,
+ CanSignal* signals, int signalCount, Pipeline* pipeline) {
+ publishNumericalMessage("latitude", 42.0, pipeline);
+}
+
+openxc_DynamicField handleInverted(CanSignal* signal, CanSignal* signals,
+ int signalCount, float value, bool* send) {
+ return openxc::payload::wrapNumber(value * -1);
+}
+
+void initializeMyStuff() { }
+
+void initializeOtherStuff() { }
+
+void myLooper() {
+ // this function will be called once each time through the main loop, after
+ // all CAN message processing has been completed
+}
+
+// <<<<< handlers.cpp <<<<<
+
+extern "C" {
+CTLP_CAPI_REGISTER("example");
+
+std::shared_ptr<message_set_t> cms = std::make_shared<message_set_t>(message_set_t{0,"example",
+ { // beginning message_definition_ vector
+ {std::make_shared<message_definition_t>(message_definition_t{"can0",0x128,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "engine_speed",// generic_name
+ 12,// bit_position
+ 8,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(15.0000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ nullptr,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "GearshiftPosition",// generic_name
+ 41,// bit_position
+ 3,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ {1,"FIRST"},
+ {4,"FOURTH"},
+ {6,"NEUTRAL"},
+ {5,"REVERSE"},
+ {2,"SECOND"},
+ {3,"THIRD"}
+ },// states
+ false,// writable
+ decoder_t::decode_state,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "SteeringWheelAngle",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 0.153920f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::gnedSteeringWheelAngle,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "steering_wheel_angle_error",// generic_name
+ 44,// bit_position
+ 12,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::der,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "steering_angle_sign",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::der,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+, {std::make_shared<message_definition_t>(message_definition_t{"can0",0x813,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true,
+ { // beginning signals vector
+ {std::make_shared<signal_t> (signal_t{
+ "abc",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 0.153920f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::gnedSteeringWheelAngle,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })},
+ {std::make_shared<signal_t> (signal_t{
+ "def",// generic_name
+ 52,// bit_position
+ 12,// bit_size
+ 1.00000f,// factor
+ 0.00000f,// offset
+ 0,// min_value
+ 0,// max_value
+ frequency_clock_t(0.00000f),// frequency
+ true,// send_same
+ false,// force_send_changed
+ {
+ },// states
+ false,// writable
+ decoder_t::ignoreDecoder,// decoder
+ nullptr,// encoder
+ false,// received
+ std::make_pair<bool, int>(false, 0),// multiplex
+ static_cast<sign_t>(0),// signed
+ -1,// bit_sign_position
+ ""// unit
+ })}
+ } // end signals vector
+ })} // end message_definition entry
+ }, // end message_definition vector
+ { // beginning diagnostic_messages_ vector
+ {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 12,
+ "",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::Pid,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 12,
+ "",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ nullptr,
+ nullptr,
+ true,
+ false
+ })}
+, {std::make_shared<diagnostic_message_t>(diagnostic_message_t{
+ 6,
+ "",
+ 0,
+ 0,
+ UNIT::INVALID,
+ 1.00000f,
+ decoder_t::agRequest,
+ nullptr,
+ true,
+ false
+ })}
+
+ } // end diagnostic_messages_ vector
+}); // end message_set entry
+
+CTLP_ONLOAD(plugin, handle) {
+ afb_api_t api = (afb_api_t) plugin->api;
+ CtlConfigT* CtlConfig = (CtlConfigT*) afb_api_get_userdata(api);
+ application_t* app = (application_t*) getExternalData(CtlConfig);
+
+ return app->add_message_set(cms);
+}
+
+
+}
+
diff --git a/tests/signals.json b/tests/signals.json
index 648427a..cd94eaa 100755..100644
--- a/tests/signals.json
+++ b/tests/signals.json
@@ -1,5 +1,6 @@
{
"name": "example",
+ "version": "2.0",
"extra_sources": [
"handlers.cpp"
],