33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# Setup
|
|
Connect ESP32 TX2 & RX2 to DI & RO of the Max485.
|
|
|
|
Connect ESP32 D23(or whatever read_line is set to) to RE/DE.
|
|
|
|
Power Max485 with ESP VIN/GND.
|
|
|
|
Replace {WIFI_SSID}, {WIFI_PKEY}, {MQTT_HOST}, and {MQTT_PORT} in the code(and SubTopic if you want).
|
|
|
|
Flash the code onto the ESP32, connect A&B of the smart cable connected to the controller(aka the black and red wires respectively) to the Max485.
|
|
|
|
Viewing the USB serial of the ESP32, send 0xAB-like hex sequences to update the configured state.
|
|
|
|
Known States:
|
|
- 0xC9 : paused
|
|
- 0xE1 : driver competition
|
|
- 0xD1 : auton competition
|
|
- 0x61 : driver skills
|
|
- 0x51 : auton skills
|
|
|
|
From this the flags are thus:
|
|
0: ? - always 1
|
|
1: ? - always 0
|
|
2: ? - always 0
|
|
3: ? - always 0
|
|
4-5: mode - 0 for paused, 1 for auton, 2 for driver,
|
|
6: ? - always 1
|
|
7: 0 for skills - 1 for competition
|
|
|
|
The field control sequence(aka when the controller sends 0xA7) can be responded to with either a 0x02 ACK packet to acknowledge that the current values are correct, or a 0x53 packet to send new values. However, a 0x02 must be sent at least every 20 packets else the controller will restart the connect sequence.
|
|
|
|
All of the protocol reversing has been done with 1 brain & 1 controller, so any unique fields are constant and will need to be updated.
|