diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-06-13 17:20:05 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-06-13 17:20:05 +0200 |
commit | 014ba2dd29eaadb4d61948ca417c25112f76ee0e (patch) | |
tree | 85a9e9540ebcea63053a817993290eac45076962 /tests/generated.cpp | |
parent | 21ffc6687e175d5cfb73500e45e61195d061ec72 (diff) |
Import CAN generator from low-level-can-service
Also use the app-templates CMake helpers.
Change-Id: I034e5efa9baa0f686a081f60df5c3588e4b3bd51
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'tests/generated.cpp')
-rw-r--r-- | tests/generated.cpp | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/tests/generated.cpp b/tests/generated.cpp new file mode 100644 index 0000000..9768860 --- /dev/null +++ b/tests/generated.cpp @@ -0,0 +1,197 @@ +#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_{/*...*/} +{ +} + + |