You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-11Lines changed: 4 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,6 @@ panda speaks CAN and CAN FD, and it runs on the [STM32H725](https://www.st.com/r
7
7
```
8
8
.
9
9
├── board # Code that runs on the STM32
10
-
├── drivers # Drivers (not needed for use with Python)
11
10
├── python # Python userspace library for interfacing with the panda
12
11
├── tests # Tests for panda
13
12
├── scripts # Miscellaneous used for panda development and debugging
@@ -16,7 +15,7 @@ panda speaks CAN and CAN FD, and it runs on the [STM32H725](https://www.st.com/r
16
15
17
16
## Safety Model
18
17
19
-
panda is compiled with safety firmware provided by [opendbc](https://github.com/commaai/opendbc). See details about the car safety models, safety testing, and code rigor in that repository.
18
+
panda is compiled with vehicle-specific safety logic provided by [opendbc](https://github.com/commaai/opendbc). See details about the car safety models, safety testing, and code rigor in that repository.
20
19
21
20
## Code Rigor
22
21
@@ -26,19 +25,18 @@ The panda firmware is written for its use in conjunction with [openpilot](https:
26
25
These are the [CI regression tests](https://github.com/commaai/panda/actions) we have in place:
27
26
* A generic static code analysis is performed by [cppcheck](https://github.com/danmar/cppcheck/).
28
27
* In addition, [cppcheck](https://github.com/danmar/cppcheck/) has a specific addon to check for [MISRA C:2012](https://misra.org.uk/) violations. See [current coverage](https://github.com/commaai/panda/blob/master/tests/misra/coverage_table).
29
-
* Compiler options are relatively strict: the flags `-Wall -Wextra -Wstrict-prototypes -Werror` are enforced.
28
+
* Compiler options are strict: the flags `-Wall -Wextra -Wstrict-prototypes -Werror` are enforced.
30
29
* The [safety logic](https://github.com/commaai/panda/tree/master/opendbc/safety) is tested and verified by [unit tests](https://github.com/commaai/panda/tree/master/opendbc/safety/tests) for each supported car variant.
31
30
to ensure that the behavior remains unchanged.
32
31
* A hardware-in-the-loop test verifies panda's functionalities on all active panda variants, including:
33
32
* additional safety model checks
34
33
* compiling and flashing the bootstub and app code
35
34
* receiving, sending, and forwarding CAN messages on all buses
36
-
* CAN loopback and latency tests through USB and SPI
35
+
* CAN loopback and latency tests through SPI
37
36
38
37
The above tests are themselves tested by:
39
38
* a [mutation test](tests/misra/test_mutation.py) on the MISRA coverage
40
-
41
-
In addition, we run the [ruff linter](https://github.com/astral-sh/ruff) and [mypy](https://mypy-lang.org/) on panda's Python library.
39
+
* a [mutation test]([tests/misra/test_mutation.py](https://github.com/commaai/opendbc/blob/master/opendbc/safety/tests/mutation.sh)) on the vehicle-specific safety logic
0 commit comments