v5_field_control/README.md

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.