X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fdiagnostic%2Fdiagnostic-message.hpp;h=7f407b4eae75d67e0fb54c967d2e3d4094534e59;hb=a67c74b2f5e53e628f07846ca9c8acd42ac94794;hp=5ca651c333e4f2a9a6eb9d950fd7838a1abb8da4;hpb=8871f8ae696035877afcbb3b089fc06219c2ba3a;p=apps%2Flow-level-can-service.git diff --git a/src/diagnostic/diagnostic-message.hpp b/src/diagnostic/diagnostic-message.hpp index 5ca651c..7f407b4 100644 --- a/src/diagnostic/diagnostic-message.hpp +++ b/src/diagnostic/diagnostic-message.hpp @@ -40,30 +40,7 @@ enum UNIT { }; /** - * @brief A representation of an OBD-II PID. - * - * pid - The 1 byte PID. - * name - A human readable name to use for this PID when published. - * min - minimum value for this pid - * max - maximum value for this pid - * unit - unit used - * frequency - The frequency to request this PID if supported by the vehicle - * when automatic, recurring OBD-II requests are enabled. - * supported - is it supported by the vehicle. Initialized after scan - */ -typedef struct _Obd2Pid { - uint8_t pid; - const char* generic_name; - const int min; - const int max; - enum UNIT unit; - int frequency; - bool supported; -} Obd2Pid; - -/** - * @brief - Object to handle obd2 session with pre-scan of supported pid - * then request them regularly + * @brief - A representation of an OBD-II PID. */ class obd2_signal_t { private: @@ -80,13 +57,14 @@ class obd2_signal_t { obd2_signal_t(uint8_t pid, const char* generic_name, const int min_, const int max_, enum UNIT unit, int frequency, bool supported); uint32_t get_pid(); - std::string& get_generic_name(); + const std::string& get_generic_name() const; + const std::string get_name() const; + int get_frequency() const; - void add_request(int pid); + const DiagnosticRequest build_diagnostic_request(); - bool is_obd2_response(can_message_t can_message); - bool is_obd2_request(DiagnosticRequest *request); - bool is_obd2_signal(const char *name); + bool is_obd2_response(const can_message_t& can_message); + bool is_obd2_request(const DiagnosticRequest *request); - float decode_obd2_response(const DiagnosticResponse* response, float parsedPayload); -}; \ No newline at end of file + static float decode_obd2_response(const DiagnosticResponse* response, float parsedPayload); +};