X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=low-can-binding%2Fcan%2Fcan-encoder.cpp;h=113428b98678179597b9b636556a03e2dd5a3ad0;hb=7ea53d8a89912cd0ab00fa4c0957f40ee6c9db8a;hp=44b5d9b2e26aba173d6b82edd3be3be39ab4673a;hpb=4693c2e0d9c72d98d4f94e0d756c85e0c1d6cbd5;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/can/can-encoder.cpp b/low-can-binding/can/can-encoder.cpp index 44b5d9b2..113428b9 100644 --- a/low-can-binding/can/can-encoder.cpp +++ b/low-can-binding/can/can-encoder.cpp @@ -37,37 +37,32 @@ void encoder_t::encode_data(std::shared_ptr sig, std::vector uint32_t bit_position = sig->get_bit_position(); int new_start_byte = 0; int new_end_byte = 0; - int new_start_bit_tmp = 0; - int new_end_bit = 0; + uint8_t new_start_bit = 0; + uint8_t new_end_bit = 0; - converter_t::signal_to_bits_bytes(bit_position, bit_size, new_start_byte, new_end_byte, new_start_bit_tmp, new_end_bit); + converter_t::signal_to_bits_bytes(bit_position, bit_size, new_start_byte, new_end_byte, new_start_bit, new_end_bit); int len_signal_bytes_tmp = new_end_byte - new_start_byte + 1; uint8_t len_signal_bytes = 0; if(len_signal_bytes_tmp > 255) { - AFB_ERROR("Error signal %s too long",sig->get_name().c_str()); + AFB_ERROR("Error signal %s too long", sig->get_name().c_str()); } else { len_signal_bytes = (uint8_t) len_signal_bytes_tmp; } - - uint8_t new_start_bit = 0; - if(new_start_bit_tmp > 255) - { - AFB_ERROR("Error signal %s too long",sig->get_name().c_str()); - } - else +/* + if(new_start_bit > 255) { - new_start_bit = (uint8_t) new_start_bit_tmp; + AFB_ERROR("Error signal %s too long", sig->get_name().c_str()); } - +*/ uint8_t new_bit_size = 0; if(bit_size > 255) { - AFB_ERROR("Error signal %s to long bit size",sig->get_name().c_str()); + AFB_ERROR("Error signal %s to long bit size", sig->get_name().c_str()); } else { @@ -93,7 +88,7 @@ void encoder_t::encode_data(std::shared_ptr sig, std::vector int j=0; for(int i=0;i> ((i%8)+new_start_bit); uint8_t mask_v = 0; if(mask > 255) @@ -153,7 +148,7 @@ message_t* encoder_t::build_frame(const std::shared_ptr& signal, uint6 for(const auto& sig: signal->get_message()->get_signals()) { - encode_data(sig,data,false,factor,offset); + encode_data(sig, data, false, factor, offset); } message->set_data(data); return message; @@ -174,20 +169,37 @@ message_t* encoder_t::build_message(const std::shared_ptr& signal, uin std::vector data; if(signal->get_message()->is_fd()) { - message = new can_message_t(CANFD_MAX_DLEN,signal->get_message()->get_id(),CANFD_MAX_DLEN,signal->get_message()->get_format(),false,CAN_FD_FRAME,data,0); + message = new can_message_t( CANFD_MAX_DLEN, + signal->get_message()->get_id(), + CANFD_MAX_DLEN, + false, + signal->get_message()->get_flags(), + data, + 0); - return build_frame(signal,value,message, factor, offset); + return build_frame(signal, value, message, factor, offset); } #ifdef USE_FEATURE_J1939 else if(signal->get_message()->is_j1939()) { - message = new j1939_message_t(J1939_MAX_DLEN,signal->get_message()->get_length(),signal->get_message()->get_format(),data,0,J1939_NO_NAME,signal->get_message()->get_id(),J1939_NO_ADDR); - return build_frame(signal,value,message, factor, offset); + message = new j1939_message_t( signal->get_message()->get_length(), + data, + 0, + J1939_NO_NAME, + signal->get_message()->get_id(), + J1939_NO_ADDR); + return build_frame(signal, value, message, factor, offset); } #endif else { - message = new can_message_t(CAN_MAX_DLEN,signal->get_message()->get_id(),CAN_MAX_DLEN,signal->get_message()->get_format(),false,0,data,0); + message = new can_message_t(CAN_MAX_DLEN, + signal->get_message()->get_id(), + CAN_MAX_DLEN, + false, + signal->get_message()->get_flags(), + data, + 0); return build_frame(signal,value,message, factor, offset); } }