3.2.5.5 DIAG_CAN_Marching1Loopback

Returns the status of the CAN_LOOPBACK, CAN_TIMING_MONITOR and CAN_INTERRUPTS diagnostics.

DIAG_TEST_STATUS 
DIAG_CAN_Marching1Loopback
(
     void
);

Diagnostic verifies the following faults do not exist

  • Transmitted message is incorrect

  • Received message is incorrect

  • Received message is sent to wrong buffer

  • No CAN Interrupt generated
  • Interrupt cannot be cleared

Operating Mode

  • Interface can be used at OnDemand
  • This routine uses interrupts, therefore, application will need to restore their interrupt callbacks after running the test.
Precondition
  • none

Parameters

  • can_periph - enum value for which CAN peripheral to be used
  • filter_id - filter id used to select messages
  • loopback - either NO_LOOPBACK, INT_LOOPBACK, or EXT_LOOPBACK

Returns

  • DIAG_TEST_PASSED if no faults were found, otherwise, DIAG_TEST_FAILED.