MX Foundation 4
Basic Acquisition

The way to set a basic acquisition receive application is as follows:

  • A CAN channel must be obtained using the mxfModuleChannelGet() function or with the mxfModuleChannelAllGet() function.
  • The acquisition buffer must be allocated using the mxfRxAcqBufferAlloc() function.
  • The acquisition mode can be set using mxfRxAcqModeSet() function.

    Two modes of acquisition are defined:

    Condition Description
    MXF_RXACQ_MODE_LINEAR In this mode the acquisition stops when the buffer is full.
    MXF_RXACQ_MODE_CIRCULAR In this mode the acquisition buffer is circular and never stops receiving.
    Whenever the acquisition queue becomes full, the acquisition process will discard newest received record.
  • The acquisition must be started using the mxfRxAcqStart() function.
  • A read loop can be implemented using the mxfCanBusRxAcqRead() function. The mxfCanBusNextDataRecordPtrGet() function needs to be used to navigate in the receive buffer.

The MXF_CANBUS_DATAREC structure must be used for reading CAN messages with acquisition service.



Example

The example below shows how to implement an CAN basic receive acquisition application.

canbus.c

Updated 10/23/2023