25void Canbus::send_data(uint32_t can_id,
bool use_extended_id,
bool remote_transmission_request,
26 const std::vector<uint8_t> &data) {
29 uint8_t size =
static_cast<uint8_t
>(data.size());
30 if (use_extended_id) {
31 ESP_LOGD(TAG,
"send extended id=0x%08" PRIx32
" rtr=%s size=%d", can_id, TRUEFALSE(remote_transmission_request),
34 ESP_LOGD(TAG,
"send standard id=0x%03" PRIx32
" rtr=%s size=%d", can_id, TRUEFALSE(remote_transmission_request),
37 if (size > CAN_MAX_DATA_LENGTH)
38 size = CAN_MAX_DATA_LENGTH;
40 can_message.
can_id = can_id;
44 for (
int i = 0; i < size; i++) {
45 can_message.data[i] = data[i];
46 ESP_LOGVV(TAG,
" data[%d]=%02x", i, can_message.data[i]);
50 if (use_extended_id) {
51 ESP_LOGW(TAG,
"send to extended id=0x%08" PRIx32
" failed!", can_id);
53 ESP_LOGW(TAG,
"send to standard id=0x%03" PRIx32
" failed!", can_id);
70 int message_counter = 0;
74 ESP_LOGD(TAG,
"received can message (#%d) extended can_id=0x%" PRIx32
" size=%d", message_counter,
77 ESP_LOGD(TAG,
"received can message (#%d) std can_id=0x%" PRIx32
" size=%d", message_counter, can_message.
can_id,
81 std::vector<uint8_t> data;
85 ESP_LOGV(TAG,
" can_message.data[%d]=%02x", i, can_message.data[i]);
86 data.push_back(can_message.data[i]);
94 if ((trigger->can_id_ == (can_message.
can_id & trigger->can_id_mask_)) &&
96 (!trigger->remote_transmission_request_.has_value() ||