- Code in
./TestBench
runs 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
./scripts
starts the Python code that runs on your laptop- It uses all the Python files
- Each file in
./scripts
can run a Pytest script to test some board or signal set on the car
- Make sure you correctly set
firmware_path
in./hil_params.json
to the path of the primary PER firmware repo!
pyserial
for serial communicationpytest
(andpytest-check
) for testingpython-can
,cantools
, andgs_usb
for CAN communicationnumpy
for data typesjsonschema
for 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)