open source driving agent
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
3.0 KiB

selfdrive/car: ban cereal and capnp (#33208) * ban cereal and msgq * common too * do toyota/values.py * do all fingerprints * example without builder * this still works, but no type checking anymore * stash * wtf, how does this work * okay actually not bad * safe * epic! * stash data_structures.py * some clean up * hell yeah * clean up old file * add to delete * delete This reverts commit 90239b7797ace31ee647a2fdbd67e0c3faa98dcf. * switch more CarParams stuff over remove unused * fix car tests by removing cereal! mypy forgets about dataclass if we wrap it :( * fix this too * fix this too * remove more cereal and add some good hyundai tests * bunch more typing * override default with 20hz radar * temp capnp converter helper * more lateralTuning * small union replicator is better than what i was trying, and fixes mypy dynamic typing issues * can keep all this the same now! * type ret: CarParams, add more missing structs, revert lateralTuning changes (smaller diff!) * revert more * get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :( would have been `CarParams.NetworkLocation()` * Revert "get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :(" This reverts commit bb28b228becba932052d2fc5a4389784027435b1. * remove cereal from car_helpers (TODO: caching) * remove a bunch of temp lines * use dataclass_transform! * remove some car.CarParams from the interfaces * remove rest of car.CarParams from the interfaces * same which() API * sort * from cereal/cache from fingerprinting! * more typing * dataclass to capnp helper for CarParams, cached it since it's kinda slow * (partial) fix process replay fingerprintig for new API * latcontrollers take capnp * forgot this * fix test_models * fix unit tests * not here * VehicleModel and controller still takes capnp CP since they get it from Params() * fix modeld test * more fix * need to namespace to structs, since CarState is both class and struct * this was never in the base class?! * clean that up again * fix import error fix import error * cmts and more structs * remove some more cereal from toyota + convert CarState to capnp * bruh this was wrong * replace more cereal * EventName is one of the last things... * replace a bunch more cereal.car * missing imports * more * can fix this typing now * proper toyota+others CS typing! * mypy can detect return type of CS.update() now * fix redeclaration of cruise_buttons type * mypy is only complaining about events now * temp fix * add carControl struct * replace CarControl i hope there's no circular imports in hyundai's CC * fine now * lol this was wrong too * fix crash * include my failed attempts at recursively converting to dataclass (doesn't implicitly convert types/recursively :( ) but attrs does, maybe will switch in the future * clean up * try out attr.s for its converter (doesn't work recursively yet, but interesting!) * Revert "try out attr.s for its converter (doesn't work recursively yet, but interesting!)" This reverts commit ff2434f7bbd45a4d4bfb21f7d6712d1f1c3bcde9. * test processes doesn't fail anymore (on toyota)! * fix honda crash * stash * Revert "stash" This reverts commit c1762af4e776790e4ad1322ad4ce0610157346e0. * remove a bunch more cereal! * LET'S GOOO * fix these tests * and these * and that * stash, something is wrong with hyundai enable * Revert "stash, something is wrong with hyundai enable" This reverts commit 39cf327def258e2959fe23cd7a550a858f6d8f03. * forgot these * remove cereal from fw_versions * Revert "remove cereal from fw_versions" This reverts commit 232b37cd409b55d04b1afc90d4a80c49e710eb56. * remove rest of the cereal exceptions! * fix that * add typing to radard since I didn't realize RI.update() switched from cereal to structs * and here too! * add TODO for slots * needed CS to be capnp, fix comparisons, and type hint car_specific so it's easier to catch type issues (capnp isn't detected by mypy :( ) * remove the struct converter * save ~4-5% CPU at 100hz, we don't modify after so no need to deepcopy btw pickle.loads(pickle.dumps()) is faster by ~1% CPU * deepcopy -> copy: we can technically make a reference, but copy is almost free and less error-prone saves ~1% CPU * add non-copying asdict function * should save ~3% CPU (still 4% above baseline) * fix that, no dict support * ~27% decrease in time for 20k iterations on 3X (3.37857 -> 2.4821s) * give a better name * fix * dont support none, capitalize * sheesh, this called type() on every field * remove CS.events, clean up * bump card % * this was a bug on master! * add a which enum * default to pid * revert * update refs * not needed, but consistent * just Ecu * don't need to do this in this pr * clean up * no cast * consistent typing * rm * fix * can do this if we're desperate for the last few % * Revert "can do this if we're desperate for the last few %" This reverts commit 18e11ac7883a0a56583750b1cc5a2b13011e7299. * type this * don't need to convert carControl * i guess don't support set either * fix CP type hint * simplify that
1 year ago
import copy
from opendbc.can.packer import CANPacker
selfdrive/car: ban cereal and capnp (#33208) * ban cereal and msgq * common too * do toyota/values.py * do all fingerprints * example without builder * this still works, but no type checking anymore * stash * wtf, how does this work * okay actually not bad * safe * epic! * stash data_structures.py * some clean up * hell yeah * clean up old file * add to delete * delete This reverts commit 90239b7797ace31ee647a2fdbd67e0c3faa98dcf. * switch more CarParams stuff over remove unused * fix car tests by removing cereal! mypy forgets about dataclass if we wrap it :( * fix this too * fix this too * remove more cereal and add some good hyundai tests * bunch more typing * override default with 20hz radar * temp capnp converter helper * more lateralTuning * small union replicator is better than what i was trying, and fixes mypy dynamic typing issues * can keep all this the same now! * type ret: CarParams, add more missing structs, revert lateralTuning changes (smaller diff!) * revert more * get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :( would have been `CarParams.NetworkLocation()` * Revert "get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :(" This reverts commit bb28b228becba932052d2fc5a4389784027435b1. * remove cereal from car_helpers (TODO: caching) * remove a bunch of temp lines * use dataclass_transform! * remove some car.CarParams from the interfaces * remove rest of car.CarParams from the interfaces * same which() API * sort * from cereal/cache from fingerprinting! * more typing * dataclass to capnp helper for CarParams, cached it since it's kinda slow * (partial) fix process replay fingerprintig for new API * latcontrollers take capnp * forgot this * fix test_models * fix unit tests * not here * VehicleModel and controller still takes capnp CP since they get it from Params() * fix modeld test * more fix * need to namespace to structs, since CarState is both class and struct * this was never in the base class?! * clean that up again * fix import error fix import error * cmts and more structs * remove some more cereal from toyota + convert CarState to capnp * bruh this was wrong * replace more cereal * EventName is one of the last things... * replace a bunch more cereal.car * missing imports * more * can fix this typing now * proper toyota+others CS typing! * mypy can detect return type of CS.update() now * fix redeclaration of cruise_buttons type * mypy is only complaining about events now * temp fix * add carControl struct * replace CarControl i hope there's no circular imports in hyundai's CC * fine now * lol this was wrong too * fix crash * include my failed attempts at recursively converting to dataclass (doesn't implicitly convert types/recursively :( ) but attrs does, maybe will switch in the future * clean up * try out attr.s for its converter (doesn't work recursively yet, but interesting!) * Revert "try out attr.s for its converter (doesn't work recursively yet, but interesting!)" This reverts commit ff2434f7bbd45a4d4bfb21f7d6712d1f1c3bcde9. * test processes doesn't fail anymore (on toyota)! * fix honda crash * stash * Revert "stash" This reverts commit c1762af4e776790e4ad1322ad4ce0610157346e0. * remove a bunch more cereal! * LET'S GOOO * fix these tests * and these * and that * stash, something is wrong with hyundai enable * Revert "stash, something is wrong with hyundai enable" This reverts commit 39cf327def258e2959fe23cd7a550a858f6d8f03. * forgot these * remove cereal from fw_versions * Revert "remove cereal from fw_versions" This reverts commit 232b37cd409b55d04b1afc90d4a80c49e710eb56. * remove rest of the cereal exceptions! * fix that * add typing to radard since I didn't realize RI.update() switched from cereal to structs * and here too! * add TODO for slots * needed CS to be capnp, fix comparisons, and type hint car_specific so it's easier to catch type issues (capnp isn't detected by mypy :( ) * remove the struct converter * save ~4-5% CPU at 100hz, we don't modify after so no need to deepcopy btw pickle.loads(pickle.dumps()) is faster by ~1% CPU * deepcopy -> copy: we can technically make a reference, but copy is almost free and less error-prone saves ~1% CPU * add non-copying asdict function * should save ~3% CPU (still 4% above baseline) * fix that, no dict support * ~27% decrease in time for 20k iterations on 3X (3.37857 -> 2.4821s) * give a better name * fix * dont support none, capitalize * sheesh, this called type() on every field * remove CS.events, clean up * bump card % * this was a bug on master! * add a which enum * default to pid * revert * update refs * not needed, but consistent * just Ecu * don't need to do this in this pr * clean up * no cast * consistent typing * rm * fix * can do this if we're desperate for the last few % * Revert "can do this if we're desperate for the last few %" This reverts commit 18e11ac7883a0a56583750b1cc5a2b13011e7299. * type this * don't need to convert carControl * i guess don't support set either * fix CP type hint * simplify that
1 year ago
from openpilot.selfdrive.car import apply_driver_steer_torque_limits, structs
from openpilot.selfdrive.car.interfaces import CarControllerBase
from openpilot.selfdrive.car.mazda import mazdacan
from openpilot.selfdrive.car.mazda.values import CarControllerParams, Buttons
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
selfdrive/car: ban cereal and capnp (#33208) * ban cereal and msgq * common too * do toyota/values.py * do all fingerprints * example without builder * this still works, but no type checking anymore * stash * wtf, how does this work * okay actually not bad * safe * epic! * stash data_structures.py * some clean up * hell yeah * clean up old file * add to delete * delete This reverts commit 90239b7797ace31ee647a2fdbd67e0c3faa98dcf. * switch more CarParams stuff over remove unused * fix car tests by removing cereal! mypy forgets about dataclass if we wrap it :( * fix this too * fix this too * remove more cereal and add some good hyundai tests * bunch more typing * override default with 20hz radar * temp capnp converter helper * more lateralTuning * small union replicator is better than what i was trying, and fixes mypy dynamic typing issues * can keep all this the same now! * type ret: CarParams, add more missing structs, revert lateralTuning changes (smaller diff!) * revert more * get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :( would have been `CarParams.NetworkLocation()` * Revert "get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :(" This reverts commit bb28b228becba932052d2fc5a4389784027435b1. * remove cereal from car_helpers (TODO: caching) * remove a bunch of temp lines * use dataclass_transform! * remove some car.CarParams from the interfaces * remove rest of car.CarParams from the interfaces * same which() API * sort * from cereal/cache from fingerprinting! * more typing * dataclass to capnp helper for CarParams, cached it since it's kinda slow * (partial) fix process replay fingerprintig for new API * latcontrollers take capnp * forgot this * fix test_models * fix unit tests * not here * VehicleModel and controller still takes capnp CP since they get it from Params() * fix modeld test * more fix * need to namespace to structs, since CarState is both class and struct * this was never in the base class?! * clean that up again * fix import error fix import error * cmts and more structs * remove some more cereal from toyota + convert CarState to capnp * bruh this was wrong * replace more cereal * EventName is one of the last things... * replace a bunch more cereal.car * missing imports * more * can fix this typing now * proper toyota+others CS typing! * mypy can detect return type of CS.update() now * fix redeclaration of cruise_buttons type * mypy is only complaining about events now * temp fix * add carControl struct * replace CarControl i hope there's no circular imports in hyundai's CC * fine now * lol this was wrong too * fix crash * include my failed attempts at recursively converting to dataclass (doesn't implicitly convert types/recursively :( ) but attrs does, maybe will switch in the future * clean up * try out attr.s for its converter (doesn't work recursively yet, but interesting!) * Revert "try out attr.s for its converter (doesn't work recursively yet, but interesting!)" This reverts commit ff2434f7bbd45a4d4bfb21f7d6712d1f1c3bcde9. * test processes doesn't fail anymore (on toyota)! * fix honda crash * stash * Revert "stash" This reverts commit c1762af4e776790e4ad1322ad4ce0610157346e0. * remove a bunch more cereal! * LET'S GOOO * fix these tests * and these * and that * stash, something is wrong with hyundai enable * Revert "stash, something is wrong with hyundai enable" This reverts commit 39cf327def258e2959fe23cd7a550a858f6d8f03. * forgot these * remove cereal from fw_versions * Revert "remove cereal from fw_versions" This reverts commit 232b37cd409b55d04b1afc90d4a80c49e710eb56. * remove rest of the cereal exceptions! * fix that * add typing to radard since I didn't realize RI.update() switched from cereal to structs * and here too! * add TODO for slots * needed CS to be capnp, fix comparisons, and type hint car_specific so it's easier to catch type issues (capnp isn't detected by mypy :( ) * remove the struct converter * save ~4-5% CPU at 100hz, we don't modify after so no need to deepcopy btw pickle.loads(pickle.dumps()) is faster by ~1% CPU * deepcopy -> copy: we can technically make a reference, but copy is almost free and less error-prone saves ~1% CPU * add non-copying asdict function * should save ~3% CPU (still 4% above baseline) * fix that, no dict support * ~27% decrease in time for 20k iterations on 3X (3.37857 -> 2.4821s) * give a better name * fix * dont support none, capitalize * sheesh, this called type() on every field * remove CS.events, clean up * bump card % * this was a bug on master! * add a which enum * default to pid * revert * update refs * not needed, but consistent * just Ecu * don't need to do this in this pr * clean up * no cast * consistent typing * rm * fix * can do this if we're desperate for the last few % * Revert "can do this if we're desperate for the last few %" This reverts commit 18e11ac7883a0a56583750b1cc5a2b13011e7299. * type this * don't need to convert carControl * i guess don't support set either * fix CP type hint * simplify that
1 year ago
VisualAlert = structs.CarControl.HUDControl.VisualAlert
class CarController(CarControllerBase):
def __init__(self, dbc_name, CP):
super().__init__(dbc_name, CP)
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
self.apply_steer_last = 0
self.packer = CANPacker(dbc_name)
self.brake_counter = 0
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
def update(self, CC, CS, now_nanos):
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
can_sends = []
apply_steer = 0
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
if CC.latActive:
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
# calculate steer and also set limits due to driver torque
new_steer = int(round(CC.actuators.steer * CarControllerParams.STEER_MAX))
apply_steer = apply_driver_steer_torque_limits(new_steer, self.apply_steer_last,
CS.out.steeringTorque, CarControllerParams)
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
if CC.cruiseControl.cancel:
# If brake is pressed, let us wait >70ms before trying to disable crz to avoid
# a race condition with the stock system, where the second cancel from openpilot
# will disable the crz 'main on'. crz ctrl msg runs at 50hz. 70ms allows us to
# read 3 messages and most likely sync state before we attempt cancel.
self.brake_counter = self.brake_counter + 1
if self.frame % 10 == 0 and not (CS.out.brakePressed and self.brake_counter < 7):
# Cancel Stock ACC if it's enabled while OP is disengaged
# Send at a rate of 10hz until we sync with stock ACC state
can_sends.append(mazdacan.create_button_cmd(self.packer, self.CP, CS.crz_btns_counter, Buttons.CANCEL))
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
else:
self.brake_counter = 0
if CC.cruiseControl.resume and self.frame % 5 == 0:
# Mazda Stop and Go requires a RES button (or gas) press if the car stops more than 3 seconds
# Send Resume button when planner wants car to move
can_sends.append(mazdacan.create_button_cmd(self.packer, self.CP, CS.crz_btns_counter, Buttons.RESUME))
Bounty: Mazda (#988) * Mazda Port Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update checksum to account for steer angle signal used in some cars Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Add test drive/segment ID to pass CI tests Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Process gear and brake signals, add new fingerprints Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor some car interface code Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop redundant call, use Ecu, move warning to carstate, fix cruise speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop unused variables, cleanup handsoff tracking Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Update to steerError and steeringRate Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Refactor parse gear, update lkas signals from the new dbc Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Better tracking of engage and warning events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * remove commented lines, update speed_kph to match panda Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Steer Error Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Set lkas enable speed to 52 kph Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Drop block signal use, fix LGTM alerts Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * When gas is pressed OP will disengage, sync local state with it Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Use car's speed signal instead of wheel speed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Tidy up disengage events Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Rebase/Refactor with upstream Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Sync stock ACC state with OP Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * mazda dbc file renamed Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Improve acc stock and go by removing the 3 seconds limit Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Dashcam Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * PR Feedback Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * Send ACC cancel only if we are sure cruise is enabled Otherwise we run the risk of disabling main cruise Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * updated route Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com> * no process replay for now * add to release files * Revert "updated route" This reverts commit 233db4f1bc2d8eefaa86488be4f6f88360d20793. Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
5 years ago
self.apply_steer_last = apply_steer
# send HUD alerts
if self.frame % 50 == 0:
ldw = CC.hudControl.visualAlert == VisualAlert.ldw
steer_required = CC.hudControl.visualAlert == VisualAlert.steerRequired
# TODO: find a way to silence audible warnings so we can add more hud alerts
steer_required = steer_required and CS.lkas_allowed_speed
can_sends.append(mazdacan.create_alert_command(self.packer, CS.cam_laneinfo, ldw, steer_required))
# send steering command
can_sends.append(mazdacan.create_steering_control(self.packer, self.CP,
self.frame, apply_steer, CS.cam_lkas))
selfdrive/car: ban cereal and capnp (#33208) * ban cereal and msgq * common too * do toyota/values.py * do all fingerprints * example without builder * this still works, but no type checking anymore * stash * wtf, how does this work * okay actually not bad * safe * epic! * stash data_structures.py * some clean up * hell yeah * clean up old file * add to delete * delete This reverts commit 90239b7797ace31ee647a2fdbd67e0c3faa98dcf. * switch more CarParams stuff over remove unused * fix car tests by removing cereal! mypy forgets about dataclass if we wrap it :( * fix this too * fix this too * remove more cereal and add some good hyundai tests * bunch more typing * override default with 20hz radar * temp capnp converter helper * more lateralTuning * small union replicator is better than what i was trying, and fixes mypy dynamic typing issues * can keep all this the same now! * type ret: CarParams, add more missing structs, revert lateralTuning changes (smaller diff!) * revert more * get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :( would have been `CarParams.NetworkLocation()` * Revert "get first enum automatically, but ofc mypy doesn't pick up the new metaclass so can't use :(" This reverts commit bb28b228becba932052d2fc5a4389784027435b1. * remove cereal from car_helpers (TODO: caching) * remove a bunch of temp lines * use dataclass_transform! * remove some car.CarParams from the interfaces * remove rest of car.CarParams from the interfaces * same which() API * sort * from cereal/cache from fingerprinting! * more typing * dataclass to capnp helper for CarParams, cached it since it's kinda slow * (partial) fix process replay fingerprintig for new API * latcontrollers take capnp * forgot this * fix test_models * fix unit tests * not here * VehicleModel and controller still takes capnp CP since they get it from Params() * fix modeld test * more fix * need to namespace to structs, since CarState is both class and struct * this was never in the base class?! * clean that up again * fix import error fix import error * cmts and more structs * remove some more cereal from toyota + convert CarState to capnp * bruh this was wrong * replace more cereal * EventName is one of the last things... * replace a bunch more cereal.car * missing imports * more * can fix this typing now * proper toyota+others CS typing! * mypy can detect return type of CS.update() now * fix redeclaration of cruise_buttons type * mypy is only complaining about events now * temp fix * add carControl struct * replace CarControl i hope there's no circular imports in hyundai's CC * fine now * lol this was wrong too * fix crash * include my failed attempts at recursively converting to dataclass (doesn't implicitly convert types/recursively :( ) but attrs does, maybe will switch in the future * clean up * try out attr.s for its converter (doesn't work recursively yet, but interesting!) * Revert "try out attr.s for its converter (doesn't work recursively yet, but interesting!)" This reverts commit ff2434f7bbd45a4d4bfb21f7d6712d1f1c3bcde9. * test processes doesn't fail anymore (on toyota)! * fix honda crash * stash * Revert "stash" This reverts commit c1762af4e776790e4ad1322ad4ce0610157346e0. * remove a bunch more cereal! * LET'S GOOO * fix these tests * and these * and that * stash, something is wrong with hyundai enable * Revert "stash, something is wrong with hyundai enable" This reverts commit 39cf327def258e2959fe23cd7a550a858f6d8f03. * forgot these * remove cereal from fw_versions * Revert "remove cereal from fw_versions" This reverts commit 232b37cd409b55d04b1afc90d4a80c49e710eb56. * remove rest of the cereal exceptions! * fix that * add typing to radard since I didn't realize RI.update() switched from cereal to structs * and here too! * add TODO for slots * needed CS to be capnp, fix comparisons, and type hint car_specific so it's easier to catch type issues (capnp isn't detected by mypy :( ) * remove the struct converter * save ~4-5% CPU at 100hz, we don't modify after so no need to deepcopy btw pickle.loads(pickle.dumps()) is faster by ~1% CPU * deepcopy -> copy: we can technically make a reference, but copy is almost free and less error-prone saves ~1% CPU * add non-copying asdict function * should save ~3% CPU (still 4% above baseline) * fix that, no dict support * ~27% decrease in time for 20k iterations on 3X (3.37857 -> 2.4821s) * give a better name * fix * dont support none, capitalize * sheesh, this called type() on every field * remove CS.events, clean up * bump card % * this was a bug on master! * add a which enum * default to pid * revert * update refs * not needed, but consistent * just Ecu * don't need to do this in this pr * clean up * no cast * consistent typing * rm * fix * can do this if we're desperate for the last few % * Revert "can do this if we're desperate for the last few %" This reverts commit 18e11ac7883a0a56583750b1cc5a2b13011e7299. * type this * don't need to convert carControl * i guess don't support set either * fix CP type hint * simplify that
1 year ago
new_actuators = copy.copy(CC.actuators)
new_actuators.steer = apply_steer / CarControllerParams.STEER_MAX
new_actuators.steerOutputCan = apply_steer
self.frame += 1
return new_actuators, can_sends