-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync: commaai/opendbc:master into sunnypilot/opendbc:master-new #71
Conversation
* reimplement * use average wheel speed * fix factor with eEgoRaw * Revert "fix factor with eEgoRaw" This reverts commit 35f3624. * Revert "use average wheel speed" This reverts commit ec4e9c1. * revert to previous * mutation again ugh * mutation you got to be kidding me * nice, this passes test models now --------- Co-authored-by: Shane Smiskol <[email protected]>
* test test_angle_cmd_when_enabled above max angle and set them * nissan is too high * clean up * more
* Hyundai CAN FD: Steering API updates * comments * comments * keep it for now * not used * should use DBC spec * consistent --------- Co-authored-by: Shane Smiskol <[email protected]>
* struct to prevent forgetting something and make more organized * use it * move all over * clean up * rm
Revert "Hyundai CAN FD: ADAS steering API updates (commaai#1873)" This reverts commit 2a75806.
* restart * fix * missing * remove stuff we don't use * huh * fix * fix fix fix * we haven't seen LKAS with angle yet * this is missing from the new message * ... * more explicit * flip * import
…#1890) * Update replay_drive.py * warn * no true * tqdm too
Use gcovr instead of gcov to support exclusion markers. This also replaces lcov, since gcov has far fewer dependencies, can be installed via uv (and looks better if anything).
* 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
CAN FD out of ALLOW_DEBUG
* debug * remove debugging * huh
* fixup * test * bye copilot * rev * fix * fix * test again * revert * need
* Only run tx hooks on msgs in safety_config.tx_msgs. * 'fix' tests * retrigger checks bc timeouts * not hit * formatting * add back --------- Co-authored-by: Shane Smiskol <[email protected]>
* in upstream * fix tests
these are the same
* no tron (2010) * switch to actual ACC message * switch to camera * add logging
add fingerprint
* highlight * not here
…p fail (commaai#1919) add checkout check to prevent opendbc bump fail
* add VDM fault signal * fix
…e test speed (commaai#1930) * Replace @parameterized.expand with @pytest.mark.parametrize for faster test collection This change reduces the opendbc/car/tests/ collection time to ~0.4s. * clean up --------- Co-authored-by: Shane Smiskol <[email protected]>
so far only tesla has been seen being able to set to 0
* Update interface.py * Update fingerprints.py * Revert "Update interface.py" This reverts commit a2abbc0.
* Update fingerprints.py * 2020 confirmed! * should be fine --------- Co-authored-by: Jason Young <[email protected]>
* parse vin * Update opendbc/car/vin.py
* TODO: cant pass down due to circular imports * revert * screw it, we can split vin.py and vin_query.py later. this is nicer * Revert "screw it, we can split vin.py and vin_query.py later. this is nicer" This reverts commit 9ddab33.
* add match_fw_to_car_fuzzy * remove comment * fix dbc * format * don't remove... * parse_vin function * test caught bug * safe string accessing --------- Co-authored-by: Shane Smiskol <[email protected]>
* this is what we want * rm old * and now counter * need this * toyota * subaru's good * Tesla and Chrysler * Ford * do some find and replace * do the rest * clean up * remove this * rm * not broken but bad * this was wrong!
* set FWD_BUS_LOOKUP to most common * this is always assumed to be a number, test models tests mismatches * clean up * and this
only what we've triggered
…aster-new # Conflicts: # opendbc/car/hyundai/hyundaicanfd.py # opendbc/car/rivian/carcontroller.py # opendbc/safety/tests/common.py # opendbc/safety/tests/test_chrysler.py # opendbc/safety/tests/test_hyundai_canfd.py
Reviewer's Guide by SourceryThis pull request includes several updates to improve car support, safety, and testing. It adds VIN fuzzy matching for Rivian cars, CAN FD support for Hyundai cars, and lateral acceleration limiting for Ford CAN FD vehicles. It also updates safety RX checks to ignore checksum and counter for various car models, updates safety replay to initialize segments correctly and improve logging, and updates safety tests to use Sequence diagram for Rivian ACC cancelsequenceDiagram
participant CarController
participant CarState
participant CANPacker
CarController->CarState: CC.cruiseControl.cancel = True
CarController->CANPacker: create_adas_status(vdm_adas_status, interface_status)
activate CANPacker
CANPacker->CarState: VDM_AdasInterfaceStatus = 1 (frames < 5), 0 (frames >= 5)
CarController->CANPacker: create_adas_status(vdm_adas_status, interface_status)
deactivate CANPacker
CarController->CarState: CC.cruiseControl.cancel = False
CarController->CANPacker: create_adas_status(vdm_adas_status, interface_status)
activate CANPacker
CANPacker->CarState: VDM_AdasInterfaceStatus = None
deactivate CANPacker
Sequence diagram for Ford curvature limitssequenceDiagram
participant CarController
participant CarState
participant apply_ford_curvature_limits
CarController->CarState: actuators.curvature, CS.out.vEgoRaw, CC.latActive
CarController->apply_ford_curvature_limits: apply_ford_curvature_limits(actuators.curvature, current_curvature, CS.out.vEgoRaw, CC.latActive, CP)
activate apply_ford_curvature_limits
apply_ford_curvature_limits->apply_ford_curvature_limits: apply_std_steer_angle_limits(apply_curvature, v_ego_raw, steering_angle, lat_active, ANGLE_LIMITS)
apply_ford_curvature_limits->apply_ford_curvature_limits: Limit curvature based on lateral acceleration (CANFD)
deactivate apply_ford_curvature_limits
Updated class diagram for RivianPlatformConfigclassDiagram
class RivianPlatformConfig {
DbcDict dbc_dict
set[WMI] wmis
set[ModelLine] lines
set[ModelYear] years
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
* Fix get_params_for_docs call to use correct parameters Updated the function call to match the required arguments by removing the redundant 'model' parameter. This ensures compatibility with the function definition and prevents potential errors. * Add _tx_acc_state_msg method and standardize PT_BUS usage Introduce the _tx_acc_state_msg method in Hyundai safety tests to handle ACC state messaging. Replace hardcoded bus values with the self.PT_BUS variable for consistency and maintainability across SCC_CONTROL messages. * Add MADS heartbeat engaged state validation test Introduce a new test function `test_heartbeat_engaged_mads_check` to verify the behavior of MADS heartbeat engagement logic under varying conditions. This ensures correct state transitions and validates robustness against mismatched heartbeat signals. * Increase timeout for safety mutation tests to 60 minutes Extended the timeout for the entire safety mutation tests workflow and its individual steps from 20 and 10 minutes respectively to 60 minutes. This change ensures that longer-running tests complete successfully without premature termination.
Note: The safety mutation failure is expected |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested
Summary by Sourcery
Refactor safety checks and update car values for improved accuracy and maintainability. This includes changes to Ford, Rivian, Hyundai, and other car models, focusing on CAN message handling, steering limits, and firmware matching.
Bug Fixes:
Enhancements:
Tests: