diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-15 23:20:27 +0100 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2017-03-16 17:21:57 +0100 |
commit | 5d7fbc236e5778a54c39afd51ed353c0e8761dec (patch) | |
tree | 8ad91b27dd53a4bac7d35d8f88635afb0a100015 /src | |
parent | f886559f8a8ac1dadf4942ab2c993a6db4f53d2b (diff) |
Retrieve easily Diagnostic Request PID from an Active Diagnostic Request
Change-Id: I787cd94b338c458fda0259bd2bcf47a1fa85cc3f
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'src')
-rw-r--r-- | src/diagnostic/active-diagnostic-request.cpp | 9 | ||||
-rw-r--r-- | src/diagnostic/active-diagnostic-request.hpp | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/diagnostic/active-diagnostic-request.cpp b/src/diagnostic/active-diagnostic-request.cpp index fcdbc97a..4f288663 100644 --- a/src/diagnostic/active-diagnostic-request.cpp +++ b/src/diagnostic/active-diagnostic-request.cpp @@ -22,6 +22,8 @@ #include "../configuration.hpp" +#define ERROR_PID 0xFF + std::string active_diagnostic_request_t::prefix_ = "diagnostic_messages"; bool active_diagnostic_request_t::operator==(const active_diagnostic_request_t& b) @@ -73,6 +75,13 @@ const std::shared_ptr<can_bus_dev_t> active_diagnostic_request_t::get_can_bus_de return can_bus_t::get_can_device(bus_); } +uint16_t active_diagnostic_request_t::get_pid() const +{ + if (handle_->request.has_pid) + return handle_->request.pid; + return ERROR_PID; +} + DiagnosticRequestHandle* active_diagnostic_request_t::get_handle() { return handle_; diff --git a/src/diagnostic/active-diagnostic-request.hpp b/src/diagnostic/active-diagnostic-request.hpp index b40ae08a..cb9b1d09 100644 --- a/src/diagnostic/active-diagnostic-request.hpp +++ b/src/diagnostic/active-diagnostic-request.hpp @@ -93,6 +93,7 @@ public: uint32_t get_id() const; const std::shared_ptr<can_bus_dev_t> get_can_bus_dev() const; DiagnosticRequestHandle* get_handle(); + uint16_t get_pid() const; const std::string get_name() const; static std::string& get_prefix(); DiagnosticResponseDecoder& get_decoder(); |