This commit is contained in:
andreika-git 2023-10-12 00:10:47 +03:00 committed by rusefillc
parent 666bd5c8a3
commit 6bc83826f9
2 changed files with 19 additions and 3 deletions

View File

@ -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:

View File

@ -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);