aboutsummaryrefslogtreecommitdiffstats
path: root/src/diagnostic/diagnostic-message.hpp
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-03-15 23:16:59 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2017-03-16 17:21:57 +0100
commit0a9f3524f442ff055fb1075f92bd85f9b4522910 (patch)
treea2aef99c4c596d13992173c015cb4d6f0d1a2fe0 /src/diagnostic/diagnostic-message.hpp
parent53cd923a034162273fea2f4fb045b28686f51df5 (diff)
Rename class and 1:1 map to JSON description file
Added decoder and callback member that will be set by generator and taken at submission to be used later, storing them into an active diagnostic request instance, when response CAN message comes in. Change-Id: I9ded05de3bb28ec55e4e007d72d0e1924141a6a6 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src/diagnostic/diagnostic-message.hpp')
-rw-r--r--src/diagnostic/diagnostic-message.hpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/diagnostic/diagnostic-message.hpp b/src/diagnostic/diagnostic-message.hpp
index e8062579..83c4dcc2 100644
--- a/src/diagnostic/diagnostic-message.hpp
+++ b/src/diagnostic/diagnostic-message.hpp
@@ -42,7 +42,7 @@ enum UNIT {
/**
* @brief - A representation of an OBD-II PID.
*/
-class obd2_signal_t {
+class diagnostic_message_t {
private:
uint8_t pid_; /*!< pid - The 1 byte PID.*/
std::string generic_name_; /*!< generic_name_ - A human readable name to use for this PID when published.*/
@@ -50,16 +50,25 @@ class obd2_signal_t {
int max_; /*!< max_ - Maximum value that can take this pid */
enum UNIT unit_; /*!< unit_ : Which unit system is used by that pid. See enum UNIT above.*/
int frequency_; /*!< frequency - The frequency to request this PID if supported by the vehicle when automatic, recurring OBD-II requests are enabled.*/
+ DiagnosticResponseDecoder decoder_; /*!< decoder_ - An optional DiagnosticResponseDecoder to parse the payload of responses
+ * to this request. If the decoder is NULL, the output will include the raw payload
+ * instead of a parsed value.*/
+ DiagnosticResponseCallback callback_; /*!< callback_ - An optional DiagnosticResponseCallback to be notified whenever a
+ * response is received for this request.*/
+
bool supported_; /*!< supported_ - boolean indicating whether this pid is supported by the vehicle or not.*/
public:
const char* generic_name = generic_name_.c_str();
- obd2_signal_t(uint8_t pid, const char* generic_name, const int min_, const int max_, enum UNIT unit, int frequency, bool supported);
+ diagnostic_message_t(uint8_t pid, const std::string generic_name, const int min, const int max, enum UNIT unit, float frequency,
+ DiagnosticResponseDecoder decoder, DiagnosticResponseCallback callback, bool supported);
uint32_t get_pid();
const std::string& get_generic_name() const;
const std::string get_name() const;
int get_frequency() const;
+ DiagnosticResponseDecoder get_decoder() const;
+ DiagnosticResponseCallback get_callback() const;
const DiagnosticRequest build_diagnostic_request();