From 269a5d2582be645f584f0226cbb39e3713f53f47 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 30 Sep 2020 13:58:41 -0400 Subject: Update test JSON files 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 Change-Id: I667a0b08b41e488e7bca8582902fa5be08da5acb --- tests/basic-generated.cpp | 230 +++++++++++++++++++++++++++++++++++++++ tests/basic.json | 1 + tests/generated.cpp | 197 --------------------------------- tests/signals-generated.cpp | 257 ++++++++++++++++++++++++++++++++++++++++++++ tests/signals.json | 1 + 5 files changed, 489 insertions(+), 197 deletions(-) create mode 100644 tests/basic-generated.cpp mode change 100755 => 100644 tests/basic.json delete mode 100644 tests/generated.cpp create mode 100644 tests/signals-generated.cpp mode change 100755 => 100644 tests/signals.json 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 +#include +#include + +extern "C" { +CTLP_CAPI_REGISTER("example"); + +std::shared_ptr cms = std::make_shared(message_set_t{0,"example", + { // beginning message_definition_ vector + {std::make_shared(message_definition_t{"can0",0x128,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared(message_definition_t{"can0",0x813,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(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{ + 12, + "", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 12, + "", + 0, + 0, + UNIT::INVALID, + 1.00000f, + nullptr, + nullptr, + true, + false + })} +, {std::make_shared(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 old mode 100755 new mode 100644 index 32cd1b4..3a98edb --- 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 +#include +#include + + +// >>>>> 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 cms = std::make_shared(message_set_t{0,"example", + { // beginning message_definition_ vector + {std::make_shared(message_definition_t{"can0",0x128,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })} + } // end signals vector + })} // end message_definition entry +, {std::make_shared(message_definition_t{"can0",0x813,"ECM_z_5D2",8,0,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared (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(false, 0),// multiplex + static_cast(0),// signed + -1,// bit_sign_position + ""// unit + })}, + {std::make_shared (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(false, 0),// multiplex + static_cast(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{ + 12, + "", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::Pid, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 12, + "", + 0, + 0, + UNIT::INVALID, + 1.00000f, + nullptr, + nullptr, + true, + false + })} +, {std::make_shared(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 old mode 100755 new mode 100644 index 648427a..cd94eaa --- a/tests/signals.json +++ b/tests/signals.json @@ -1,5 +1,6 @@ { "name": "example", + "version": "2.0", "extra_sources": [ "handlers.cpp" ], -- cgit 1.2.3-korg