X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fdiagnostic%2Fdiagnostic-message.cpp;h=6f6155745daa1bc0958b83dc520f43935d85de16;hb=429fa417e5822b33b41d35f7d3d590327c145adf;hp=b7c5d45a58e732f545b4c91785ae47dbce1c17f7;hpb=0a9f3524f442ff055fb1075f92bd85f9b4522910;p=apps%2Fagl-service-can-low-level.git diff --git a/src/diagnostic/diagnostic-message.cpp b/src/diagnostic/diagnostic-message.cpp index b7c5d45a..6f615574 100644 --- a/src/diagnostic/diagnostic-message.cpp +++ b/src/diagnostic/diagnostic-message.cpp @@ -14,8 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include -#include "obd2-signals.hpp" +#include "diagnostic-message.hpp" #include "../configuration.hpp" #include "../utils/signals.hpp" @@ -33,9 +34,11 @@ const char *UNIT_NAMES[10] = { "NM" }; -diagnostic_message_t::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) - : pid_{pid}, generic_name_{generic_name}, min_{min}, max_{max}, unit_{unit}, frequency_{frequency}, decoder_{decoder}, callback_{callback}, supported_{supported} +diagnostic_message_t::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) + : pid_{pid}, generic_name_{generic_name}, min_{min}, max_{max}, unit_{unit}, + frequency_{frequency}, decoder_{decoder}, callback_{callback}, supported_{supported} {} uint32_t diagnostic_message_t::get_pid() @@ -67,10 +70,20 @@ DiagnosticResponseCallback diagnostic_message_t::get_callback() const return callback_; } -/** - * @brief Build a DiagnosticRequest struct to be passed - * to diagnostic manager instance. - */ +bool diagnostic_message_t::get_supported() const +{ + return supported_; +} + +void diagnostic_message_t::set_supported(bool value) +{ + supported_ = value; +} + +/// +/// @brief Build a DiagnosticRequest struct to be passed +/// to diagnostic manager instance. +/// const DiagnosticRequest diagnostic_message_t::build_diagnostic_request() { return {/*arbitration_id: */OBD2_FUNCTIONAL_BROADCAST_ID, @@ -84,11 +97,11 @@ const DiagnosticRequest diagnostic_message_t::build_diagnostic_request() /*DiagnosticRequestType: */DiagnosticRequestType::DIAGNOSTIC_REQUEST_TYPE_PID }; } -/** -* @brief Check if a request is an OBD-II PID request. -* -* @return true if the request is a mode 1 request and it has a 1 byte PID. -*/ +/// +/// @brief Check if a request is an OBD-II PID request. +/// +/// @return true if the request is a mode 1 request and it has a 1 byte PID. +/// bool diagnostic_message_t::is_obd2_request(const DiagnosticRequest* request) { return request->mode == 0x1 && request->has_pid && request->pid < 0xff;