This commit introduces various safety features required for the SunnyPilot project into the car safety interfaces. A significant change is the addition of "safety_mads.h" file which includes the necessary declarations and definitions for maintaining safety in car operations, such as updating the button state and controlling the vehicle based on current conditions. The "safety_mads.h" file is then included in safety.h. Code related to the lateral control of the vehicle, handling of button presses, and car safety checks for different car models are updated to accommodate these new safety features. Furthermore, updates are made to ensure vehicle control remains safe and transitions between control states happen correctly. This not only enhances the safety functions of the system but also enables greater connectivity with the SunnyPilot system.
* curvature safety: limit to ISO max
* .
* cmt
* implement in carcontroller
* MISRAAAAAA
* use ~average road roll
* stash
* clean up
* compiles
* fix safety replay for ford can fd
* always init
* stash
* fix replay
* fix that
* safety doesn't consider rate limits when clipping max curvature
consider: at the max curvature limit and user gas overrides heavily, max curvature limit might drop quicker than the safet rate limit will allow for
* don't limit for CAN
* do tests (need to clean up)
* stash
* rm
* clean up tests
* fix that
* smaller
* fix capnp error
* because we allow tolerance on the error limiting, we need the same type of tolerance on the max accel curvature to not block
* fix a test
* fix another
* consistent naming
* debugging
* debug
* remove
* stash
* clean up
* clean up
* minor
* and this
* space
* misra
* doesn't matter here
* safety mutation test fix
* misra false positive?
* rename
* ah good catch, these are equivalent
* comment
* clean up
* rename like safety
* fix
* simpler
* not needed
* stash
* stash
* finally pass
* fixes
* and
* simplify into two ifs
* simplify and add comment
* clean up safety
* not here
* probably a misra thng
* TODO
* clean up
* consistent
* fix one safety mutation case, good catch!
* no down
* fix
* misra
* fix a mutation case
* forgot test
* fix two more mutations:
/home/runner/work/opendbc/opendbc/opendbc/safety/safety.h:722:47: warning: Survived: Replaced >= with > [cxx_ge_to_gt]
const int delta = (desired_angle_last >= 0) ? delta_angle_down_relaxed : delta_angle_up_relaxed;
* i mean this works but it's much less clear
* this isn't entirely correct anyway
* stash
* Revert "stash"
This reverts commit 27f6a64fdc224459658f9b85691abfe8c5821d0a.
* clean up
* more
* more clear
* nop
* more
* to allow
* this sucks
* can also try this
* nope
* ?
* Revert "?"
This reverts commit e9b16857bc582ee78eaad995447bade0e409cb85.
* move safety tests
* move libsafety
* move safety
* rename imports
* copy over needed (minimalized) board and driver code
* dont test safety here
* add new job for safety tests
fix
* try fix
* ubsan
* ?
?
* missing cffi
* should be final fix
* mac fix
* no mac
* use setup script
* no cd
* this is the correct way to do it
* add misra
* misra fixes
* run
* setup misra
* add missing files
* is this used?
* add that
* Revert "is this used?"
This reverts commit 2f34762dfa65821e1ee398675bf62d1a256ebec8.
* need this
* misra mutation test
* fix
* no race conditions
* test
* cache cppcheck
fix
* setup
* good timeouts
* mutation test
* fix
* no
* Revert "no"
This reverts commit 39e10a045a4a5411a64de791ae463461f8a5f37b.
* already tested
* move Safety Model readme section to opendbc
* fix
* fix
* disable mutation tests for merge
* namespace
* test no cache
* 1m
1m