Tooling and findings for running an E8x/E9x electric power steering unit
outside its donor car, e.g. in an EV conversion.
Headline result: the EPS needs only two CAN messages plus a 12V enable
wire, not the 69-message set the car puts on the bus:
0x130 CAS terminal status (100ms) brings the unit up
0x1A0 DSC road speed (20ms) sets the assist level
Total required rate is 60 frames/s. Protocol write-up, including what is
proven vs. inferred and the open questions, is in eps-comms/.
Contents:
adapters/ CANdapter (its SLCAN dialect differs) and generic SLCAN
gateway/ car<->EPS relay, replay, message bench, EPS controller,
4-tab Streamlit UI
decoder/ PT-CAN frame decoding and live/replay sources
can-io/ XIAO ESP32-S3 firmware: CAN IO board + USB-CAN bridge with
a CAN-independent digital IO channel
tools/ capture, bitrate scan, startup-order and session analysis,
checksum solver
captures/ reference working session + the replay set eps_control reads
17 lines
598 B
Markdown
17 lines
598 B
Markdown
# CAN IO Board GUI
|
|
|
|
Tkinter front-end for the CAN IO board via an SLCAN serial adapter.
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
python can_io_gui.py
|
|
```
|
|
|
|
1. Pick the SLCAN device's serial port (⟳ refreshes the list).
|
|
2. Bitrate 500000 and base ID 0x100 match the firmware defaults.
|
|
3. Connect — the GUI requests status automatically and then tracks the
|
|
board's heartbeat/change frames.
|
|
|
|
Green LED = active input / energised output. Buttons send SET_OUTPUT /
|
|
TOGGLE commands; the board confirms with a status frame, which is what
|
|
actually updates the display. Frame formats: ../PROTOCOL.md.
|