Advanced – Customizing AEM EMS CAN Telemetry

Your CAN telemetry should already be enabled and configured after reading this page.

Due to the complex nature of AEM’s configurable CAN telemetry output, the following instructions are made available for advanced users of gaugeART CAN Video Gauge Adapters.

In these instructions, we will cover customizing the telemetry output from the ECU.

  1. You should first determine what channels your design uses. There are two ways to do this: 1) if you are using one of gaugeART’s designs, go to the specific design you are working with in Design Gallery, and view the design’s telemetry list 2) open the design’s .GAD file in gaugeDesigner (click here for instructions on how to open designs in gaugeDesigner). The image below shows the channel list in gaugeDesigner. Click the channel name (ie. Channel 1) to highlight the gauge that channel corresponds to.
    channel-list
  2. To customize the telemetry output, open the ECU’s software (AEMTuner) and open the telemetry setup window with your laptop connected to the ECU.
    Tools > Configure Telemetry > CAN Telemetry
  3. Click “Show Info” in the bottom right of the screen.
    CANTelemetrySetup-3
  4. If you will be making advanced gauge designs, it is good to have an understanding of how the serial telemetry data stream works. To view advanced telemetry:

AEM-EMS-CAN-telemetry

Key:

  • Byte: Also known as data channel.  There are nineteen data channels in the serial data stream. The numbered byte channel corresponds to the same numbered channel that gaugeART uses (eg. in gaugeDesigner, if “channel 1” is used for a gauge, it will read the engine speed).
  • Name: Indicates which data parameter is being streamed in that data channel.
  • Units: Units that the data channel is streamed in.
  • Min, Max, and Scalar:  There are 256 bytes or “data buckets” that make up each data channel. The minimum and maximum values are spread over these 0-255 buckets where Min = 0 data bucket  and Max = 255 data buckets. The separation of each bucket is the scalar. Example: if you view byte or channel 1, for engine speed, you will find that the minimum is 0 and the maximum is 25,600 (rounded to the ones decimal position). Each bucket is separated by 100. So, data bucket 0 = 0, 1 = 100, 2 = 200, 3 = 300, and so forth until 0 = 25,600.