358 turn signal

PID:

0x358

Name:

Turn signal

AZE0

Table 2 PID 0x358 – transmit frequencies

Bus

Frequency (Hz)

Car-CAN

10

Table 3 PID 0x358

PID

Byte

Bits

Description

Formula

Unit

Min

Max

358

B

1:1

turn signal left

1 == active;
0 == inactive

2:2

turn signal right

1 == active;
0 == inactive

Adapted from [DanielOster].

ELM327 console

Listing 1 Read PID 0x358 – turn signal status (ELM327 console)
 1> ATZ
 2> ATI
 3> ATL1
 4> ATH1
 5> ATS1
 6> ATAL
 7> ATSP6
 8> ATCRA 358
 9> ATMA
10358 00 08 80 00 00 00 00 00
11358 00 08 80 00 00 00 00 00
12358 00 08 80 00 00 00 00 00
13358 00 08 82 00 00 00 00 00
14358 00 08 82 00 00 00 00 00
15358 00 08 82 00 00 00 00 00
16358 00 08 80 00 00 00 00 00
17358 00 08 80 00 00 00 00 00
18358 00 08 80 00 00 00 00 00
19358 00 08 84 00 00 00 00 00
20358 00 08 84 00 00 00 00 00
21358 00 08 84 00 00 00 00 00

Read PID 0x358 turn signal status (ELM327 console)

ELM327 Python

Listing 2 Read PID 0x358 – turn signal status (ELM327 Python script)
 1#!/usr/bin/env python
 2
 3"""358 turn signal
 4
 5Query the turn signal status of a Nissan Leaf using an ELM327 compatible diagnostic
 6tool.
 7
 8Tested on the following vehicles:
 9
10* AZE0
11"""
12
13import serial
14
15elm = serial.Serial("/dev/ttyUSB0", 38400, timeout=5)
16
17elm.write(b"ATZ\r")  # reset all
18print(elm.read_until(b"\r\r>").decode())
19
20elm.write(b"ATI\r")  # print version ID
21print(elm.read_until(b"\r\r>").decode())
22
23elm.write(b"ATL1\r")  # line feeds on
24print(elm.read_until(b"\r\n>").decode())
25
26elm.write(b"ATH1\r")  # headers on
27print(elm.read_until(b"\r\n>").decode())
28
29elm.write(b"ATS1\r")  # print spaces on
30print(elm.read_until(b"\r\n>").decode())
31
32elm.write(b"ATAL\r")  # allow long messages
33print(elm.read_until(b"\r\n>").decode())
34
35elm.write(b"ATSP6\r")  # set protocol ISO 15765-4 CAN (11/500)
36print(elm.read_until(b"\r\n>").decode())
37
38elm.write(b"ATCRA 358\r")  # set CAN receive address
39print(elm.read_until(b"\r\n>").decode())
40
41elm.write(b"ATMA\r")  # monitor all messages
42
43try:
44    while True:
45        print(elm.read_until(b"\r\n").decode(), flush=True)
46except KeyboardInterrupt:
47    print("Keyboard interrupt")
48
49elm.close()

Read PID 0x358 turn signal status (ELM327 Python script)