X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fcan-decoder.hpp;h=fd246f3c9d5f1bfc76f8e8071f414f0fb063e7c0;hb=e8c14d2baa8841f13beefaa1fb662a280ea8eb96;hp=ffc881f9c6e8628201ccb4be3054e06e4fa5334c;hpb=d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/can-decoder.hpp b/low-can-binding/can/can-decoder.hpp index ffc881f9..fd246f3c 100644 --- a/low-can-binding/can/can-decoder.hpp +++ b/low-can-binding/can/can-decoder.hpp @@ -17,25 +17,28 @@ #pragma once -#include "can-signals.hpp" +#include "signals.hpp" #include "message/can-message.hpp" #include "openxc.pb.h" class decoder_t { public: - static float parse_signal_bitfield(can_signal_t& signal, const message_t& message); + static int handle_sign(const signal_t& signal, std::vector& data_signal, uint8_t new_end_bit, const std::vector& can_data); + static float parse_signal_bitfield(signal_t& signal, std::shared_ptr message); - static openxc_DynamicField decode_state(can_signal_t& signal, float value, bool* send); - static openxc_DynamicField decode_boolean(can_signal_t& signal, float value, bool* send); - static openxc_DynamicField decode_ignore(can_signal_t& signal, float value, bool* send); - static openxc_DynamicField decode_noop(can_signal_t& signal, float value, bool* send); + static openxc_DynamicField decode_state(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_boolean(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_ignore(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_noop(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_bytes(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_ascii(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_date(signal_t& signal, std::shared_ptr message, bool* send); + static openxc_DynamicField decode_time(signal_t& signal, std::shared_ptr message, bool* send); - static openxc_DynamicField translate_signal(can_signal_t& signal, const message_t& messag, bool* send); + static openxc_DynamicField translate_signal(signal_t& signal, std::shared_ptr message, bool* send); - static openxc_DynamicField decode_signal(can_signal_t& signal, const can_message_t& message, bool* send); - - static openxc_DynamicField decode_signal(can_signal_t& signal, float value, bool* send); + static openxc_DynamicField decode_signal(signal_t& signal, std::shared_ptr message, bool* send); static float decode_obd2_response(const DiagnosticResponse* response, float parsed_payload); };