|
|
@ -127,7 +127,7 @@ int32_t ZCanCommnaderMaster::sendCmd(int32_t cmdid, int32_t submoduleid, int32_t |
|
|
|
cmdheader->subcmdid = SUBCMDID(cmdid); |
|
|
|
cmdheader->submoduleid = submoduleid; |
|
|
|
ZLOGI(TAG, "sendCmd %d %d %d %d", cmdheader->packetindex, cmdheader->cmdmoduleid, cmdheader->subcmdid, cmdheader->submoduleid); |
|
|
|
int32_t *sendparam = (int32_t *)cmdheader->data; |
|
|
|
int32_t *sendparam = (int32_t *)cmdheader->data; |
|
|
|
for (size_t i = 0; i < npara; i++) { |
|
|
|
sendparam[i] = param[i]; |
|
|
|
} |
|
|
@ -140,13 +140,18 @@ int32_t ZCanCommnaderMaster::sendCmd(int32_t cmdid, int32_t submoduleid, int32_t |
|
|
|
bool rxdataIsReady = false; |
|
|
|
int32_t errocode = 0; |
|
|
|
regListener(cmdheader->packetindex, [this, &rxdataIsReady, &ack, &nack, &errocode](CanPacketRxBuffer *report) { |
|
|
|
ZLOGI(TAG, "...................................."); |
|
|
|
if (report->get_cmdheader()->packetType == kptv2_error_ack) { |
|
|
|
auto *error_ack = report->get_data_as<int32_t>(); |
|
|
|
|
|
|
|
errocode = *error_ack; |
|
|
|
ZLOGI(TAG, "error_ack %d %s", *error_ack, err::error2str(*error_ack)); |
|
|
|
} else { |
|
|
|
ZLOGI(TAG, "%d %d", report->get_datalen(), nack); |
|
|
|
int32_t *rxbuf = report->get_data_as<int32_t>(); |
|
|
|
if (ack != nullptr && nack != 0) { |
|
|
|
for (size_t i = 0; i < nack; i++) { |
|
|
|
ZLOGI(TAG, "ack[%d] = %d", i, rxbuf[i]); |
|
|
|
ack[i] = rxbuf[i]; |
|
|
|
} |
|
|
|
} |
|
|
|