X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fcan-encoder.hpp;h=d4505f04839767387b52c0ed5b8d96f2df0470ee;hb=744d95cffe1241c97d922b18f6e3723fff7d64fe;hp=f839883636ae247cc25734d365deaf1facf2c0a2;hpb=ea35eabeadce57e4f5015797fea530c5bb219fff;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/can-encoder.hpp b/low-can-binding/can/can-encoder.hpp index f8398836..d4505f04 100644 --- a/low-can-binding/can/can-encoder.hpp +++ b/low-can-binding/can/can-encoder.hpp @@ -17,17 +17,23 @@ #pragma once -#include "can-signals.hpp" -#include "can-message.hpp" +#include "signals.hpp" +#include "message/can-message.hpp" #include "openxc.pb.h" +#include "message/can-message.hpp" +#ifdef USE_FEATURE_J1939 +#include "message/j1939-message.hpp" +#endif class encoder_t { public: - static const canfd_frame build_frame(const std::shared_ptr& signal, uint64_t value); - static uint64_t encode_state(const can_signal_t& signal, const std::string& value, bool* send); - static uint64_t encode_boolean(const can_signal_t& signal, bool value, bool* send); - static uint64_t encode_number(const can_signal_t& signal, float value, bool* send); + static message_t* build_message(const std::shared_ptr& signal, uint64_t value, bool factor=true, bool offset=true); + static message_t* build_frame(const std::shared_ptr& signal, uint64_t value, message_t *message, bool factor=true, bool offset=true); + static uint64_t encode_state(const signal_t& signal, const std::string& value, bool* send); + static uint64_t encode_boolean(const signal_t& signal, bool value, bool* send); + static uint64_t encode_number(const signal_t& signal, float value, bool* send); + static void encode_data(std::shared_ptr sig, std::vector &data, bool filter=false, bool factor=true, bool offset=true); - static uint64_t encode_DynamicField(can_signal_t& signal, const openxc_DynamicField& field, bool* send); -}; + static uint64_t encode_DynamicField(signal_t& signal, const openxc_DynamicField& field, bool* send); +}; \ No newline at end of file