- Code in
./TestBenchruns on the Arduino- Basically it just reads commands over the serial port and either executs them or writes messages back over the serial port
- To flash it, use the Arduino IDE
- Code in
./scriptsstarts the Python code that runs on your laptop- It uses all the Python files
- Each file in
./scriptscan run a Pytest script to test some board or signal set on the car
- Make sure you correctly set
firmware_pathin./hil_params.jsonto the path of the primary PER firmware repo!
pyserialfor serial communicationpytest(andpytest-check) for testingpython-can,cantools, andgs_usbfor CAN communicationnumpyfor data typesjsonschemafor validating JSON files
AI/DI= inputs to hil (reads from the car/other board -> Arduino -> laptop/Python)AO/DO= outputs from hil (writes from laptop/Python -> Arduino -> car/other board)