From e8d68a7178cbbcc5587a01c5ad041a9f775bf1f8 Mon Sep 17 00:00:00 2001 From: Thomas Walzer Date: Fri, 17 Jul 2020 11:58:10 +0200 Subject: obd2 diagnostic was added and files merged --- low-can-binding/binding/application-generated.cpp | 1084 --------------------- plugins/default-signals.cpp | 486 ++++++++- 2 files changed, 451 insertions(+), 1119 deletions(-) delete mode 100644 low-can-binding/binding/application-generated.cpp diff --git a/low-can-binding/binding/application-generated.cpp b/low-can-binding/binding/application-generated.cpp deleted file mode 100644 index 12ef4ea0..00000000 --- a/low-can-binding/binding/application-generated.cpp +++ /dev/null @@ -1,1084 +0,0 @@ -#include "application.hpp" -#include "../can/can-decoder.hpp" -#include "../can/can-encoder.hpp" - -application_t::application_t() - : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}} - , message_set_{ - {std::make_shared(message_set_t{0,"example", - { // beginning message_definition_ vector - {std::make_shared(message_definition_t{"ls",0x0,"P_Gear_Manual",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Gearbox_Direction",// generic_name - 6,// bit_position - 2,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Gearbox_Position_Manual",// generic_name - 1,// 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 - { - },// states - false,// writable - nullptr,// decoder - nullptr,// encoder - false,// received - std::make_pair(false, 0),// multiplex - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Gearbox_Power",// generic_name - 8,// bit_position - 14,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Gearbox_Torque",// generic_name - 22,// bit_position - 8,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared(message_definition_t{"ls",0x1,"P_Powertrain",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Engine_Brake",// generic_name - 48,// bit_position - 6,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_DiagnoseLight",// generic_name - 31,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Engine_RPM",// generic_name - 32,// bit_position - 15,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Petrol_Level",// generic_name - 0,// bit_position - 8,// bit_size - 1.00000f,// factor - 20.0000f,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Power",// generic_name - 8,// bit_position - 8,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Throttle",// generic_name - 24,// bit_position - 7,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Torque",// generic_name - 16,// bit_position - 8,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared(message_definition_t{"ls",0x2,"P_Steering",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Steering_Angle",// generic_name - 0,// bit_position - 10,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Steering_Horn",// generic_name - 10,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared(message_definition_t{"ls",0x3,"P_Steering_Additonal",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Steering_HandleBar_Angle",// generic_name - 8,// bit_position - 6,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Steering_HandleBar_Length",// generic_name - 0,// bit_position - 7,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared(message_definition_t{"ls",0x4,"P_Engine_Sensoric",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Engine_Acceleration",// generic_name - 37,// bit_position - 16,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Air_Temperature",// generic_name - 20,// bit_position - 9,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Engine_Status",// generic_name - 10,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_KnockSensor",// generic_name - 9,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_LambdaSensor",// generic_name - 29,// bit_position - 8,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Oil_Temperature",// generic_name - 0,// bit_position - 9,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Temperature",// generic_name - 11,// bit_position - 9,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared(message_definition_t{"ls",0x5,"P_EngineTronic",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Valve_0",// generic_name - 11,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Valve_1",// generic_name - 25,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Valve_2",// generic_name - 27,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Valve_3",// generic_name - 29,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Valve_4",// generic_name - 31,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Valve_5",// generic_name - 9,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Rail_Pressure",// generic_name - 16,// bit_position - 8,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Spark_Plug_0",// generic_name - 13,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Spark_Plug_1",// generic_name - 15,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Spark_Plug_2",// generic_name - 1,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Spark_Plug_3",// generic_name - 3,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Spark_Plug_4",// generic_name - 5,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Spark_Plug_5",// generic_name - 7,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry -, {std::make_shared(message_definition_t{"ls",0x6,"P_Rail_Fuel",0,2,frequency_clock_t(5.00000f),true, - { // beginning signals vector - {std::make_shared (signal_t{ - "P_Engine_Exhaust_Temperature",// generic_name - 0,// bit_position - 9,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_FuelTank_Valve",// generic_name - 16,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Fuel_Pump",// generic_name - 17,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Fuel_Temperature",// generic_name - 24,// bit_position - 9,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_HighPressure_Pump_0",// generic_name - 15,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_HighPressure_Pump_1",// generic_name - 14,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_HighPressure_Pump_2",// generic_name - 13,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_HighPressure_Pump_3",// generic_name - 12,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_HighPressure_Pump_4",// generic_name - 11,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_HighPressure_Pump_5",// generic_name - 10,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })}, - {std::make_shared (signal_t{ - "P_Engine_Rail_Valve",// generic_name - 9,// bit_position - 1,// 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 - false,// is_big_endian - false,// is_signed - ""// unit - })} - } // end signals vector - })} // end message_definition entry - - }, // end message_definition vector - { // beginning diagnostic_messages_ vector - - } // end diagnostic_messages_ vector - })} // end message_set entry - } // end message_set vector -{ - for(std::shared_ptr cms: message_set_) - { - std::vector> messages_definition = cms->get_messages_definition(); - for(std::shared_ptr cmd : messages_definition) - { - cmd->set_parent(cms); - std::vector> signals = cmd->get_signals(); - for(std::shared_ptr sig: signals) - { - sig->set_parent(cmd); - } - } - - std::vector> diagnostic_messages = cms->get_diagnostic_messages(); - for(std::shared_ptr dm : diagnostic_messages) - { - dm->set_parent(cms); - } - } - } - -const std::string application_t::get_diagnostic_bus() const -{ - return ""; -} - - diff --git a/plugins/default-signals.cpp b/plugins/default-signals.cpp index 12ef4ea0..de5c5cd6 100644 --- a/plugins/default-signals.cpp +++ b/plugins/default-signals.cpp @@ -1,13 +1,195 @@ -#include "application.hpp" -#include "../can/can-decoder.hpp" -#include "../can/can-encoder.hpp" +#include "binding/application.hpp" +#include "can/can-decoder.hpp" +#include "can/can-encoder.hpp" -application_t::application_t() - : can_bus_manager_{utils::config_parser_t{"/etc/dev-mapping.conf"}} - , message_set_{ - {std::make_shared(message_set_t{0,"example", - { // beginning message_definition_ vector - {std::make_shared(message_definition_t{"ls",0x0,"P_Gear_Manual",0,2,frequency_clock_t(5.00000f),true, + +extern "C" { +CTLP_CAPI_REGISTER("agl-virtual-car"); + +std::shared_ptr cms = std::make_shared(message_set_t{0,"AGL Virtual Car", + { // beginning message_definition_ vector +/* +{std::make_shared(message_definition_t{"ls",0x111,"",16,16,frequency_clock_t(5.00000f),true, + { // beginning signals vector + {std::make_shared (signal_t{ + "sig1.1",// generic_name + 0,// bit_position + 16,// 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 + true,// 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{ + "sig1.2",// generic_name + 16,// bit_position + 16,// 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 + true,// 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{ + "sig2.1",// generic_name + 32,// bit_position + 16,// 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 + true,// 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{ + "sig2.2",// generic_name + 48,// bit_position + 16,// 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 + true,// 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{ + "sig3.1",// generic_name + 64,// bit_position + 16,// 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 + true,// 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{ + "sig3.2",// generic_name + 80,// bit_position + 16,// 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 + true,// 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{ + "sig4.1",// generic_name + 96,// bit_position + 16,// 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 + true,// 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{ + "sig4.2",// generic_name + 112,// bit_position + 16,// 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 + true,// 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{"ls",0x0,"P_Gear_Manual",0,2,frequency_clock_t(5.00000f),true, { // beginning signals vector {std::make_shared (signal_t{ "P_Gearbox_Direction",// generic_name @@ -1050,35 +1232,269 @@ application_t::application_t() }, // end message_definition vector { // beginning diagnostic_messages_ vector + {std::make_shared(diagnostic_message_t{ + 4, + "engine.load", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 5, + "engine.coolant.temperature", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 10, + "fuel.pressure", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 11, + "intake.manifold.pressure", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 12, + "engine.speed", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 13, + "vehicle.speed", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 15, + "intake.air.temperature", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 16, + "mass.airflow", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 17, + "throttle.position", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 31, + "running.time", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 45, + "EGR.error", + 0, + 0, + UNIT::INVALID, + 0.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 47, + "fuel.level", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 51, + "barometric.pressure", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 70, + "ambient.air.temperature", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 76, + "commanded.throttle.position", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 82, + "ethanol.fuel.percentage", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 90, + "accelerator.pedal.position", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 91, + "hybrid.battery-pack.remaining.life", + 0, + 0, + UNIT::INVALID, + 5.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 92, + "engine.oil.temperature", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 94, + "engine.fuel.rate", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} +, {std::make_shared(diagnostic_message_t{ + 99, + "engine.torque", + 0, + 0, + UNIT::INVALID, + 1.00000f, + decoder_t::decode_obd2_response, + nullptr, + true, + false + })} - } // end diagnostic_messages_ vector - })} // end message_set entry - } // end message_set vector -{ - for(std::shared_ptr cms: message_set_) - { - std::vector> messages_definition = cms->get_messages_definition(); - for(std::shared_ptr cmd : messages_definition) - { - cmd->set_parent(cms); - std::vector> signals = cmd->get_signals(); - for(std::shared_ptr sig: signals) - { - sig->set_parent(cmd); - } - } + } // end diagnostic_messages_ vector +}); // end message_set entry - std::vector> diagnostic_messages = cms->get_diagnostic_messages(); - for(std::shared_ptr dm : diagnostic_messages) - { - dm->set_parent(cms); - } - } - } +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); -const std::string application_t::get_diagnostic_bus() const -{ - return ""; + return app->add_message_set(cms); } +} -- cgit 1.2.3-korg