# Log OBD2 Mode 1 with ReXgen

OBD2 generally focuses on emission control and supports a broad range of standard parameter IDs (PIDs) that can be logged across most vehicles.

### 'How to' - with ReXgen?

The OBD data can be easily logged using any ReXgen logger from Influx with the ReXdesk software.

### Periodic CAN/CAN FD Transmission

#### Step 1

<div align="left"><figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FlmL4BW3xOmyfnQ7e8xFk%2Fimage.png?alt=media&#x26;token=05a428b1-bebd-4b22-ab6e-7410d6e0ee90" alt="" width="101"><figcaption></figcaption></figure></div>

Create a new project.

#### Step 2

Drag and drop the 'Periodic Transmission' tool to the 'Output' area of the configuration window.

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FO9up97dyH0mJEa4slM9v%2Fimage.png?alt=media&#x26;token=f6d8e94d-aab6-4879-899f-b7bc097f0e8b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FmrEklGymv6GdZvKU59jt%2Fimage.png?alt=media&#x26;token=f8cddd1b-2041-40b8-95a7-24e6838bf291" alt=""><figcaption></figcaption></figure>

#### Step 3

If you have not configured the same in the logging area, click the CAN bus icons and set the CAN bus properties.

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FrAPdmh4nO9zQi1GVehK2%2Fimage.png?alt=media&#x26;token=48f72749-429a-4ac4-90ec-367e55199b9a" alt=""><figcaption><p>*Users can use the 'Bit Timing' option for advanced configurations.</p></figcaption></figure>

#### Step 4

To initiate OBDII Mode1 data logging, users must configure periodic transmission with OBD requests to the ECU.

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FdIOoVd7jNleoXSVnEA95%2Fimage.png?alt=media&#x26;token=b4a5dbb5-091c-4294-947d-4a97b0a62cf9" alt=""><figcaption></figcaption></figure>

* &#x20;**Ident**: specifies if the identifier is for "request messages" or "response messages."
  * **ID 7DF** - OBD2 message identifier for a standard 11-bit.
  * **ID 7E8** - main engine or ECU response identifier.

{% hint style="info" %}

#### Note:

* In some cases, the user will need to use physical addressing rather than functional addressing.
  {% endhint %}

* \***Linked**: lets you link the message(s).

* \***Period**: Specify the Period of transmission.

* \***Delay**: Specify the delay in transmission.

* **CAN 0/CAN 1/CAN 2/CAN 3**: Option to choose the transmission bus.

* **Type**: CAN message (Standard/Extended).

* **DLC**: Data Length Code (0-64).

  (\* - define only if/when needed)

* **Data:**

  * **Request data message** –

  <figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FuMUoZV7xru6SLStbIziS%2Fimage.png?alt=media&#x26;token=9a07ea40-f215-4b11-bffb-54d4d0d5594f" alt=""><figcaption></figcaption></figure>

  * **Response data message** -

  <figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FbA2iTNiuUZ7aTYOHOKzw%2Fimage.png?alt=media&#x26;token=10adf84c-6c14-417f-addf-73aeed0aafef" alt=""><figcaption></figcaption></figure>

**Length:** Specifies the length of bytes (after it) containing valid data. For example, in the request message

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FYEfENAgpFRCXTVLWpBua%2Fimage.png?alt=media&#x26;token=eca5bb8f-5982-4a3a-8a79-0250ddf8ea90" alt=""><figcaption></figcaption></figure>

'02' specifies that the Engine or ECU must respond to the mode 01 and PID 0A codes in the next two bytes.

Similarly, for the response message

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2F6oLYCHYmpwLSn3MsaDbH%2Fimage.png?alt=media&#x26;token=82586f5d-22db-4d32-9614-89dcf4b4e661" alt=""><figcaption></figcaption></figure>

'04' specifies that the Engine or ECU response lies in the next four bytes, mode '01' request is replaced with '41' for responses and the PID code 0A's data is in the next four bytes '23 E6' (hex values).

**Mode:** specifies the diagnostic services described in the latest OBD-II standard SAE J1979 (this document is made explicitly for Mode 1).

**PID:**  these are the standard OBD-II PIDs as defined by SAE J1979.

* 0A - Fuel pressure
* 05 - Engine coolant temperature
* 0C - Engine speed
* 0D - Vehicle speed

Once you have created a transmit list it can be exported to CSV format and used later by loading it in the Periodic transmission window. Sample CSV is given below.

{% file src="<https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2F5JiBfZpLdcU5npRFItRN%2FOBD_Sample.csv?alt=media&token=bd8f1396-3cbc-4856-9ef4-f0b205da551d>" %}

#### Decoding data values for the PIDs:

For example, if the output data looks like this

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FM8Dr7lgz0TMcnCO9zHLD%2Fimage.png?alt=media&#x26;token=e3673d60-edc0-46bf-9f07-57f7259c8f6c" alt=""><figcaption></figcaption></figure>

Then,

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FImIgkJq4JHJVeaKagEjD%2Fimage.png?alt=media&#x26;token=c7ac772a-3802-4f4a-af85-f38b0aef136a" alt=""><figcaption></figcaption></figure>

Similarly, all the hex data values need to be decoded according to their respective PID formulas

([Click for detailed list](https://en.wikipedia.org/wiki/OBD-II_PIDs))

\*For Heavier vehicles that use extended 29-bit CAN identifiers with bit rates 250K or 500K, the OBDII PID identifier is 18DB33F1 instead of 7DF. Also, the response ID is 18DAF1XX, where 'XX' varies according to various OEMs, as it is up to them to determine what CAN ID they assign for ECUs.

### Decode data using DBC:

This method exports only specific messages/signals from the RAW data using a DBC file.

The user will need to assign the DBC to the specific CAN Bus.

#### Step 1

Click on the 'Internal Storage.'

<div align="left"><figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FbABzwlkSkDeJDYgtSj5z%2Fimage.png?alt=media&#x26;token=11d7a2b0-5ce3-4355-b09d-69183994f6e0" alt="" width="136"><figcaption></figcaption></figure></div>

The below window will open.

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FDHtc5jMwROCirvmTyRpj%2Fimage.png?alt=media&#x26;token=55e59a4d-cf3b-4603-85c5-2d2f996c8452" alt=""><figcaption></figcaption></figure>

#### Step 2

Select the data logs and click on Download;

<div align="left"><figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2Fg7Yon5qF3VFJtCONggxk%2Fimage.png?alt=media&#x26;token=a816a6b1-f0a1-4b0d-9806-d30fc4e7a0dc" alt=""><figcaption></figcaption></figure></div>

Select the 'Advanced' option and open the 'Export data' window below.

#### Step 3

<div align="left"><figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FoWy6cK9V0enqOogY3ZJR%2Fimage.png?alt=media&#x26;token=959e5c95-8e2b-4fd3-8b6a-23743650bc74" alt=""><figcaption></figcaption></figure></div>

Choose the output format (.mf4/.mat/.csv).

Choose the time format (Only applicable to .csv format).

The user can choose the 'Merge' option if multiple data logs are to be exported.

Specify the output location to save the exported data.

Click ‘Process’.

#### Step 4

Click on the 'load DBC file' icon.

<div align="left"><figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2F0aBXrVbrW9lpUS4HUI1p%2Fimage.png?alt=media&#x26;token=fd150f07-b920-40d4-ae23-437fcef02c53" alt=""><figcaption></figcaption></figure></div>

#### Step 5

Drag and drop the required DBC messages/signals to the corresponding bus.

<figure><img src="https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FFUHf1DOzBh066oWKnqSA%2Fimage.png?alt=media&#x26;token=33981121-bcde-4c79-83d3-f785578c12b6" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

#### Note:

* ReXdesk supports PGN-based export when J1939 DBC is imported.
  {% endhint %}

#### Step 6

Click 'Process'.

ReXdesk will process the RAW data and save the decoded data to the location specified during step 3.

#### Sample dbc file

{% file src="<https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FETUXOyLfPB5Vt5CYFn80%2FInflux_11bit_OBD2_V1.dbc?alt=media&token=9190bb7c-7af6-4eee-bea3-6c9531085420>" %}

#### Sample csv file

{% file src="<https://1612018018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTCRfbN5hBLeUzIaKHbJ7%2Fuploads%2FkCDwfeucIvBVKWP9M5CN%2FNew%20Project_0002471_20240605_101323.csv?alt=media&token=3c4360bd-0dcf-45da-9561-5427854db97f>" %}

[<mark style="color:blue;">Video Tutorial</mark>](https://youtu.be/8XSEYJRXnGQ)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.influxtechnology.com/support_guides/rexgen-series-product-manuals/rexgen-series-usage-guides/log-obd2-mode-1-with-rexgen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
