handleWrapCan() now receives packets https://github.com/rusefi/rusefi/issues/5606
This commit is contained in:
parent
666bd5c8a3
commit
6bc83826f9
|
@ -722,8 +722,8 @@ int TunerStudio::handleCrcCommand(TsChannelBase* tsChannel, char *data, int inco
|
|||
break;
|
||||
#if EFI_SIMULATOR
|
||||
case TS_SIMULATE_CAN:
|
||||
void handleWrapCan(TsChannelBase* tsChannel);
|
||||
handleWrapCan(tsChannel);
|
||||
void handleWrapCan(TsChannelBase* tsChannel, char *data, int incomingPacketSize);
|
||||
handleWrapCan(tsChannel, data, incomingPacketSize - 1);
|
||||
break;
|
||||
#endif // EFI_SIMULATOR
|
||||
case TS_IO_TEST_COMMAND:
|
||||
|
|
|
@ -227,7 +227,23 @@ CANDriver* detectCanDevice(brain_pin_e pinRx, brain_pin_e pinTx) {
|
|||
|
||||
static uint8_t wrapOutBuffer[BLOCKING_FACTOR + 100];
|
||||
|
||||
void handleWrapCan(TsChannelBase* tsChannel) {
|
||||
void handleWrapCan(TsChannelBase* tsChannel, char *data, int incomingPacketSize) {
|
||||
// process incoming CAN packets
|
||||
if (incomingPacketSize > 0) {
|
||||
int numPackets = *data++;
|
||||
incomingPacketSize--;
|
||||
|
||||
for (int i = 0; i < numPackets && incomingPacketSize >= sizeof(CANRxFrame); i++) {
|
||||
CANRxFrame rxFrame;
|
||||
memcpy(&rxFrame, data, sizeof(rxFrame));
|
||||
|
||||
processCanRxMessage(0, rxFrame, getTimeNowNt());
|
||||
|
||||
data += sizeof(rxFrame);
|
||||
incomingPacketSize -= sizeof(rxFrame);
|
||||
}
|
||||
}
|
||||
|
||||
int size = minI(txCanBuffer.getCount(), BLOCKING_FACTOR / sizeof(CANTxFrame));
|
||||
|
||||
memcpy(wrapOutBuffer, &size, 2);
|
||||
|
|
Loading…
Reference in New Issue