From 6844a08742b34801d38713af814eace91a2e85f6 Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Wed, 23 Jul 2014 15:29:19 +0000 Subject: [PATCH] - reverted the change in the Peak CAN interface dll (for bus off recovery) as it does not work reliably. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@100 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- .../interfaces/can/peak/PCANdrvD.pas | 15 ++------------- Host/openblt_can_peak.dll | Bin 396800 -> 396800 bytes 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/Host/Source/MicroBoot/interfaces/can/peak/PCANdrvD.pas b/Host/Source/MicroBoot/interfaces/can/peak/PCANdrvD.pas index 2eb3dae5..fdeb04c8 100644 --- a/Host/Source/MicroBoot/interfaces/can/peak/PCANdrvD.pas +++ b/Host/Source/MicroBoot/interfaces/can/peak/PCANdrvD.pas @@ -471,19 +471,8 @@ begin // submit the transmit request if CAN_Write(msg) <> CAN_ERR_OK then begin - // the Peak CAN interface has a bug because if it is the only node on the bus - // transmitting a message, it will actually go in bus off, which is not allowed - // according to the CAN protocol. this scenario can be resolved by re-initializing - // the CAN interface. - if (CAN_Status and CAN_ERR_BUSOFF) = CAN_ERR_BUSOFF then - begin - Disconnect; - if not Connect then - begin - Result := False; - exit; - end; - end; + Result := False; + exit; end; //---------------- process transmission confirmation -------------------------- diff --git a/Host/openblt_can_peak.dll b/Host/openblt_can_peak.dll index 431019bcb6f48b78abe60255a8b572b624f9534d..3ad154b780c94ad425de68a29648744eade24e80 100644 GIT binary patch delta 16330 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 T^B=w_zq%Z3Qz$EQ=mjr0U|Qxj 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