summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-08 22:53:22 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:10:39 +0100
commit897338604c6fa1e63b18907d198a5a1b45095826 (patch)
treedae2b08511e529357d7370ba803a7a257bb94862
parentc631ee0bf8f702004c9d21c501d9588458c0ca08 (diff)
Separate methods declarations and implementations.
Get out examples objects to test into another cpp that will be used to be the template for the futur generated code. Change-Id: Ic630478b5419e7a18e4e6446edbac7fbe68299b9 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> Conflicts: src/configuration.hpp
-rw-r--r--src/configuration-generated.cpp56
-rw-r--r--src/configuration.cpp116
-rw-r--r--src/configuration.hpp78
3 files changed, 143 insertions, 107 deletions
diff --git a/src/configuration-generated.cpp b/src/configuration-generated.cpp
new file mode 100644
index 00000000..88f93bda
--- /dev/null
+++ b/src/configuration-generated.cpp
@@ -0,0 +1,56 @@
+
+/////////////////////////////////////////////////////////////////////////////////////
+// THIS IS AN EXAMPLE
+/////////////////////////////////////////////////////////////////////////////////////
+
+#include <configuration.hpp>
+
+#define OBD2_FUNCTIONAL_BROADCAST_ID 0x7df
+
+/*
+* Pre-defined OBD-II PIDs to query for if supported by the vehicle.
+*/
+ std::vector<obd2_signal_t> OBD2_PIDS = {
+ { 0x04, "obd2.engine.load", 0, 100, POURCENT, 5, false},
+ { 0x05, "obd2.engine.coolant.temperature", -40, 215, DEGREES_CELSIUS, 1, false},
+ { 0x0a, "obd2.fuel.pressure", 0, 765, KPA, 1, false},
+ { 0x0b, "obd2.intake.manifold.pressure", 0, 255, KPA, 1, false},
+ { 0x0c, "obd2.engine.speed", 0, 16383, RPM, 5, false},
+ { 0x0d, "obd2.vehicle.speed", 0, 255, KM_H, 5, false},
+ { 0x0f, "obd2.intake.air.temperature", -40, 215, DEGREES_CELSIUS, 1, false},
+ { 0x10, "obd2.mass.airflow", 0, 655, GRAMS_SEC, 5, false},
+ { 0x11, "obd2.throttle.position", 0, 100, POURCENT, 5, false},
+ { 0x1f, "obd2.running.time", 0, 65535, SECONDS, 1, false},
+ { 0x2d, "obd2.EGR.error", -100, 99, POURCENT, 0, false},
+ { 0x2f, "obd2.fuel.level", 0, 100, POURCENT, 1, false},
+ { 0x33, "obd2.barometric.pressure", 0, 255, KPA, 1, false},
+ { 0x4c, "obd2.commanded.throttle.position", 0, 100, POURCENT, 1, false},
+ { 0x52, "obd2.ethanol.fuel.percentage", 0, 100, POURCENT, 1, false},
+ { 0x5a, "obd2.accelerator.pedal.position", 0, 100, POURCENT, 5, false},
+ { 0x5b, "obd2.hybrid.battery-pack.remaining.life", 0, 100, POURCENT, 5, false},
+ { 0x5c, "obd2.engine.oil.temperature",-40, 210, DEGREES_CELSIUS, 1, false},
+ { 0x63, "obd2.engine.torque", 0, 65535, NM, 1, false}
+};
+
+std::vector<can_message_set_t> CAN_MESSAGE_SET =
+{
+ {0, "example_messages", 1, 2, 2, 0, 19},
+};
+
+std::vector<std::vector<can_message_definition_t>> CAN_MESSAGES_DEFINTION = {
+ {
+ {0x620, CanMessageFormat::STANDARD, {10, 0, nullptr}, false, (uint8_t)NULL},
+ {0x442, CanMessageFormat::STANDARD, {10, 0, nullptr}, false, (uint8_t)NULL},
+ },
+};
+
+/**
+ * @brief Dumb SIGNALS array. It is composed by CanMessageSet
+ * SIGNALS[MESSAGE_SET_ID][CanSignal]
+ */
+std::vector<std::vector<can_signal_t>> SIGNALS = {
+ {
+ {&(CAN_MESSAGES_DEFINTION[MESSAGE_SET_ID][0]), "can.driver_door.open", 2, 4, 1.000000, 0.000000, 0.000000, 0.000000, {10, 0, nullptr}, false, true, nullptr, 0, false, decoder_t::booleanDecoder, nullptr, false, 0.0},
+ {&(CAN_MESSAGES_DEFINTION[MESSAGE_SET_ID][1]), "can.driver_door.close", 0, 4, 1.000000, 0.000000, 0.000000, 0.000000, {10, 0, nullptr}, false, true, nullptr, 0, false, decoder_t::booleanDecoder, nullptr, false, 0.0}
+ },
+}; \ No newline at end of file
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 0c5e8d08..f0f79093 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -15,61 +15,73 @@
* limitations under the License.
*/
-/////////////////////////////////////////////////////////////////////////////////////
-// THIS IS AN EXAMPLE
-/////////////////////////////////////////////////////////////////////////////////////
-
#include <configuration.hpp>
#define OBD2_FUNCTIONAL_BROADCAST_ID 0x7df
-/*
-* Pre-defined OBD-II PIDs to query for if supported by the vehicle.
-*/
- std::vector<obd2_signal_t> OBD2_PIDS = {
- { 0x04, "obd2.engine.load", 0, 100, POURCENT, 5, false},
- { 0x05, "obd2.engine.coolant.temperature", -40, 215, DEGREES_CELSIUS, 1, false},
- { 0x0a, "obd2.fuel.pressure", 0, 765, KPA, 1, false},
- { 0x0b, "obd2.intake.manifold.pressure", 0, 255, KPA, 1, false},
- { 0x0c, "obd2.engine.speed", 0, 16383, RPM, 5, false},
- { 0x0d, "obd2.vehicle.speed", 0, 255, KM_H, 5, false},
- { 0x0f, "obd2.intake.air.temperature", -40, 215, DEGREES_CELSIUS, 1, false},
- { 0x10, "obd2.mass.airflow", 0, 655, GRAMS_SEC, 5, false},
- { 0x11, "obd2.throttle.position", 0, 100, POURCENT, 5, false},
- { 0x1f, "obd2.running.time", 0, 65535, SECONDS, 1, false},
- { 0x2d, "obd2.EGR.error", -100, 99, POURCENT, 0, false},
- { 0x2f, "obd2.fuel.level", 0, 100, POURCENT, 1, false},
- { 0x33, "obd2.barometric.pressure", 0, 255, KPA, 1, false},
- { 0x4c, "obd2.commanded.throttle.position", 0, 100, POURCENT, 1, false},
- { 0x52, "obd2.ethanol.fuel.percentage", 0, 100, POURCENT, 1, false},
- { 0x5a, "obd2.accelerator.pedal.position", 0, 100, POURCENT, 5, false},
- { 0x5b, "obd2.hybrid.battery-pack.remaining.life", 0, 100, POURCENT, 5, false},
- { 0x5c, "obd2.engine.oil.temperature",-40, 210, DEGREES_CELSIUS, 1, false},
- { 0x63, "obd2.engine.torque", 0, 65535, NM, 1, false}
-};
-
-std::vector<can_message_set_t> CAN_MESSAGE_SET =
-{
- {0, "example_messages", 1, 2, 2, 0, 19},
-};
-
-std::vector<std::vector<can_message_definition_t>> CAN_MESSAGES_DEFINTION = {
- {
- {0x620, CanMessageFormat::STANDARD, {10, 0, nullptr}, false, (uint8_t)NULL},
- {0x442, CanMessageFormat::STANDARD, {10, 0, nullptr}, false, (uint8_t)NULL},
- },
-};
-
-/**
- * @brief Dumb SIGNALS array. It is composed by CanMessageSet
- * SIGNALS[MESSAGE_SET_ID][CanSignal]
- */
-std::vector<std::vector<can_signal_t>> SIGNALS = {
- {
- {&(CAN_MESSAGES_DEFINTION[MESSAGE_SET_ID][0]), "can.driver_door.open", 2, 4, 1.000000, 0.000000, 0.000000, 0.000000, {10, 0, nullptr}, false, true, nullptr, 0, false, decoder_t::booleanDecoder, nullptr, false, 0.0},
- {&(CAN_MESSAGES_DEFINTION[MESSAGE_SET_ID][1]), "can.driver_door.close", 0, 4, 1.000000, 0.000000, 0.000000, 0.000000, {10, 0, nullptr}, false, true, nullptr, 0, false, decoder_t::booleanDecoder, nullptr, false, 0.0}
- },
-};
+// Dumb signals and message implementation. To get compile.
+ std::vector<obd2_signal_t> OBD2_PIDS;
+
+std::vector<can_message_set_t> CAN_MESSAGE_SET;
+
+std::vector<std::vector<can_message_definition_t>> CAN_MESSAGES_DEFINTION;
+
+std::vector<std::vector<can_signal_t>> SIGNALS;
configuration_t::configuration_t()
- : obd2_signals_{OBD2_PIDS}, can_message_set_{CAN_MESSAGE_SET}, can_signals_{SIGNALS}, can_message_definition_{CAN_MESSAGES_DEFINTION} \ No newline at end of file
+ : obd2_signals_{OBD2_PIDS}, can_message_set_{CAN_MESSAGE_SET}, can_signals_{SIGNALS}, can_message_definition_{CAN_MESSAGES_DEFINTION}
+
+configuration_t& configuration_t::get_configuration()
+{
+ return *this;
+}
+
+can_bus_t& configuration_t::get_can_bus_manager() const
+{
+ return can_bus_manager_;
+}
+
+diagnostic_manager_t& configuration_t::get_diagnostic_manager() const
+{
+ return diagnostic_manager_;
+}
+
+uint8_t configuration_t::get_active_message_set() const
+{
+ return active_message_set_;
+}
+
+const std::vector<can_message_set_t>& configuration_t::get_can_message_set() const
+{
+ return can_message_set_;
+}
+
+const std::vector<can_signal_t>& configuration_t::get_can_signals() const
+{
+ return can_signals_[active_message_set_];
+}
+
+const std::vector<can_message_definition_t>& configuration_t::get_can_message_definition() const
+{
+ return can_message_definition_[active_message_set_];
+}
+
+const std::vector<obd2_signal_t>& configuration_t::get_obd2_signals() const
+{
+ return obd2_signals_;
+}
+
+uint32_t configuration_t::get_signal_id(obd2_signal_t& sig) const
+{
+ return sig.get_pid();
+}
+
+uint32_t configuration_t::get_signal_id(can_signal_t& sig) const
+{
+ return sig.get_message()->get_id();
+}
+
+void configuration_t::set_active_message_set(uint8_t id)
+{
+ active_message_set_ = id;
+} \ No newline at end of file
diff --git a/src/configuration.hpp b/src/configuration.hpp
index 92655a6c..83b20e60 100644
--- a/src/configuration.hpp
+++ b/src/configuration.hpp
@@ -51,61 +51,29 @@ class configuration_t
const std::vector<std::vector<can_signal_t>> can_signals_;
const std::vector<std::vector<can_message_definition_t>> can_message_definition_;
- configuration_t& get_configuration()
- {
- return *this;
- }
-
- can_bus_t& get_can_bus_manager()
- {
- return can_bus_manager_;
- }
-
- diagnostic_manager_t& get_diagnostic_manager()
- {
- return diagnostic_manager_;
- }
-
- uint8_t get_active_message_set()
- {
- return active_message_set_;
- }
-
- const std::vector<can_message_set_t>& get_can_message_set()
- {
- return can_message_set_;
- }
-
- const std::vector<can_signal_t>& get_can_signals()
- {
- return can_signals_[active_message_set_];
- }
-
- const std::vector<can_message_definition_t>& get_can_message_definition()
- {
- return can_message_definition_[active_message_set_];
- }
-
- const std::vector<obd2_signal_t>& get_obd2_signals()
- {
- return obd2_signals_;
- }
-
- uint32_t get_signal_id(obd2_signal_t& sig)
- {
- return sig.get_pid();
- }
-
- uint32_t get_signal_id(can_signal_t& sig)
- {
- return sig.get_message()->id;
- }
-
- void set_active_message_set(uint8_t id)
- {
- active_message_set_ = id;
- }
+ configuration_t& get_configuration() const;
+ can_bus_t& get_can_bus_manager() const;
+
+ diagnostic_manager_t& get_diagnostic_manager() const;
+
+ uint8_t get_active_message_set() const;
+
+ const std::vector<can_message_set_t>& get_can_message_set() const;
+
+ const std::vector<can_signal_t>& get_can_signals() const;
+
+ const std::vector<can_message_definition_t>& get_can_message_definition() const;
+
+ const std::vector<obd2_signal_t>& get_obd2_signals() const;
+
+ uint32_t get_signal_id(obd2_signal_t& sig) const;
+
+ uint32_t get_signal_id(can_signal_t& sig) const;
+
+ void set_active_message_set(uint8_t id);
+
+/*
/// TODO: implement this function as method into can_bus class
/// @brief Pre initialize actions made before CAN bus initialization
/// @param[in] bus A CanBus struct defining the bus's metadata
@@ -129,5 +97,5 @@ class configuration_t
/// @param[in] buses An array of active CAN buses.
/// @param[in] busCount The length of the buses array.
bool isBusActive(can_bus_dev_t* bus);
-
+ */
};