- /* Limiting to 8 bytes message for now, even on 64 bytes from fd frames*/
- for(i=0;i<CAN_MESSAGE_SIZE;i++)
+
+ /* maxdlen_ is now set at CAN_MAX_DLEN or CANFD_MAX_DLEN, respectively 8 and 64 bytes*/
+ for(i=0;i<maxdlen_;i++)
- set_max_data_length(frame);
+ // May be it's overkill to assign member of the pair... May be it will change...
+ struct canfd_frame frame = args.first;
+ size_t nbytes = args.second;
+ set_max_data_length(nbytes);
- size_t dlen = sizeof(frame.data)/sizeof(__u8);
- data_.reserve(dlen);
- set_data(frame.data, dlen);
+ if ( data_.capacity() < maxdlen_)
+ data_.reserve(maxdlen_);
+ set_data(frame.data);
DEBUG(binder_interface, "convert_from_canfd_frame: Found id: %X, format: %X, length: %X, data %02X%02X%02X%02X%02X%02X%02X%02X", id_, format_, length_,
data_[0], data_[1], data_[2], data_[3], data_[4], data_[5], data_[6], data_[7]);
DEBUG(binder_interface, "convert_from_canfd_frame: Found id: %X, format: %X, length: %X, data %02X%02X%02X%02X%02X%02X%02X%02X", id_, format_, length_,
data_[0], data_[1], data_[2], data_[3], data_[4], data_[5], data_[6], data_[7]);