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.*/
- std::string prefix_ = "diagnostic_messages."; /*!< prefix_ - generic_name_ will be prefixed with it. It has to reflect the used protocol.
- * which make easier to sort message when the come in.*/
int min_; /*!< min_ - Minimum value that can take this pid */
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.*/
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();
- std::string get_name();
+ const std::string& get_generic_name() const;
+ const std::string get_name() const;
+ int get_frequency() const;
- void set_prefix(std::string val);
- 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);
+};