X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2Fcan%2Fcan-encoder.hpp;h=9989d0cd987b782e9fe6d31f401936cd32680ad6;hb=1f57e04d955877654ce4ac055dbb533281ce4af5;hp=294b1674071395427a5141a84a5b25a49c92a943;hpb=d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51;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 294b1674..9989d0cd 100644 --- a/low-can-binding/can/can-encoder.hpp +++ b/low-can-binding/can/can-encoder.hpp @@ -17,17 +17,26 @@ #pragma once -#include "can-signals.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 message_t* build_message(const std::shared_ptr& signal, uint64_t value); + static message_t* build_one_frame_message(const std::shared_ptr& signal, uint64_t value, message_t *message); + static message_t* build_multi_frame_message(const std::shared_ptr& signal, uint64_t value, message_t *message); + 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); };