diff --git a/CHANGELOGS-DEV.md b/CHANGELOGS-DEV.md index 00a46011b..1d3f2e968 100644 --- a/CHANGELOGS-DEV.md +++ b/CHANGELOGS-DEV.md @@ -18,10 +18,12 @@ dragonpilot 0.7.10.1 * GENESIS_G70 Optimisation (Thanks to @sebastian4k) * HYUNDAI_GENESIS 優化 (感謝 @donfyffe 提供) * HYUNDAI_GENESIS Optimisation (Thanks to @donfyffe) -* 加入 Dynamic gas Lite。(感謝 toyboxZ 提供) -* Added Dynamic Gas Lite. (Thanks to toyboxZ) +* 加入 Dynamic gas Lite。(感謝 @toyboxZ 提供) +* Added Dynamic Gas Lite. (Thanks to @toyboxZ) * 加入來自 afa 的 Honda inspire, accord, crv SnG 優化。(感謝 @menwenliang 提供) * Added Honda inspire, accord, crv SnG optimisation from afa fork. (Thanks to @menwenliang) +* 加入 dp_toyota_lowest_cruise_override_vego。(感謝 @toyboxZ 提供) +* Added dp_toyota_lowest_cruise_override_vego. (Thanks to @toyboxZ) dragonpilot 0.7.10.0 ======================== diff --git a/CHANGELOGS-REL.md b/CHANGELOGS-REL.md index 8fcdf95fd..1fe3b8af5 100644 --- a/CHANGELOGS-REL.md +++ b/CHANGELOGS-REL.md @@ -35,10 +35,12 @@ dragonpilot 0.7.10.0 * GENESIS_G70 Optimisation (Thanks to @sebastian4k) * HYUNDAI_GENESIS 優化 (感謝 @donfyffe 提供) * HYUNDAI_GENESIS Optimisation (Thanks to @donfyffe) -* 加入 Dynamic gas Lite。(感謝 toyboxZ 提供) -* Added Dynamic Gas Lite. (Thanks to toyboxZ) +* 加入 Dynamic gas Lite。(感謝 @toyboxZ 提供) +* Added Dynamic Gas Lite. (Thanks to @toyboxZ) * 加入來自 afa 的 Honda inspire, accord, crv SnG 優化。(感謝 @menwenliang 提供) * Added Honda inspire, accord, crv SnG optimisation from afa fork. (Thanks to @menwenliang) +* 加入 dp_toyota_lowest_cruise_override_vego。(感謝 @toyboxZ 提供) +* Added dp_toyota_lowest_cruise_override_vego. (Thanks to @toyboxZ) dragonpilot 0.7.8 ======================== diff --git a/CHANGELOGS.md b/CHANGELOGS.md index df4986643..4875523ac 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -2,11 +2,13 @@ ======================== * 加入來自 afa 的 Honda inspire, accord, crv SnG 優化。(感謝 @menwenliang 提供) * Added Honda inspire, accord, crv SnG optimisation from afa fork. (Thanks to @menwenliang) +* 加入 dp_toyota_lowest_cruise_override_vego。(感謝 @toyboxZ 提供) +* Added dp_toyota_lowest_cruise_override_vego. (Thanks to @toyboxZ) 2020-11-20 (0.7.10.0) ======================== -* 加入 Dynamic gas Lite。(感謝 toyboxZ 提供) -* Added Dynamic Gas Lite. (Thanks to toyboxZ) +* 加入 Dynamic gas Lite。(感謝 @toyboxZ 提供) +* Added Dynamic Gas Lite. (Thanks to @toyboxZ) 2020-11-19 (0.7.10.0) ======================== diff --git a/cereal/log.capnp b/cereal/log.capnp index 2ca65c815..6128f7881 100644 --- a/cereal/log.capnp +++ b/cereal/log.capnp @@ -2145,7 +2145,6 @@ struct Event { } } -# dp struct DragonConf { dpThermalStarted @0 :Bool; dpThermalOverheat @1 :Bool; @@ -2211,14 +2210,15 @@ struct DragonConf { dpToyotaLdw @61 :Bool; dpToyotaSng @62 :Bool; dpToyotaLowestCruiseOverride @63 :Bool; - dpToyotaLowestCruiseOverrideAt @64 :Float32; - dpToyotaLowestCruiseOverrideSpeed @65 :Float32; - dpIpAddr @66 :Text; - dpCameraOffset @67 :Int8; - dpLocale @68 :Text; - dpChargingCtrl @69 :Bool; - dpChargingAt @70 :UInt8; - dpDischargingAt @71 :UInt8; - dpIsUpdating @72 :Bool; - dpTimebombAssist @73 :Bool; + dpToyotaLowestCruiseOverrideVego @64 :Bool; + dpToyotaLowestCruiseOverrideAt @65 :Float32; + dpToyotaLowestCruiseOverrideSpeed @66 :Float32; + dpIpAddr @67 :Text; + dpCameraOffset @68 :Int8; + dpLocale @69 :Text; + dpChargingCtrl @70 :Bool; + dpChargingAt @71 :UInt8; + dpDischargingAt @72 :UInt8; + dpIsUpdating @73 :Bool; + dpTimebombAssist @74 :Bool; } \ No newline at end of file diff --git a/common/dp_conf.py b/common/dp_conf.py index 9929c938b..2eb88f986 100644 --- a/common/dp_conf.py +++ b/common/dp_conf.py @@ -105,6 +105,7 @@ confs = [ {'name': 'dp_toyota_sng', 'default': False, 'type': 'Bool', 'depends': [{'name': 'dp_car_detected', 'vals': ['toyota']}, {'name': 'dp_atl', 'vals': [False]}], 'conf_type': ['param', 'struct']}, {'name': 'dp_toyota_zss', 'default': False, 'type': 'Bool', 'depends': [{'name': 'dp_car_detected', 'vals': ['toyota']}], 'conf_type': ['param']}, {'name': 'dp_toyota_lowest_cruise_override', 'default': False, 'type': 'Bool', 'depends': [{'name': 'dp_car_detected', 'vals': ['toyota']}, {'name': 'dp_atl', 'vals': [False]}], 'conf_type': ['param', 'struct']}, + {'name': 'dp_toyota_lowest_cruise_override_vego', 'default': False, 'type': 'Bool', 'depends': [{'name': 'dp_car_detected', 'vals': ['toyota']}, {'name': 'dp_atl', 'vals': [False]}], 'conf_type': ['param', 'struct']}, {'name': 'dp_toyota_lowest_cruise_override_at', 'default': 44, 'type': 'Float32', 'depends': [{'name': 'dp_car_detected', 'vals': ['toyota']}, {'name': 'dp_toyota_lowest_cruise_override', 'vals': [True]}], 'min': 0, 'max': 255., 'conf_type': ['param', 'struct']}, {'name': 'dp_toyota_lowest_cruise_override_speed', 'default': 32, 'type': 'Float32', 'depends': [{'name': 'dp_car_detected', 'vals': ['toyota']}, {'name': 'dp_toyota_lowest_cruise_override_speed', 'vals': [True]}], 'min': 0, 'max': 255., 'conf_type': ['param', 'struct']}, # hyundai diff --git a/selfdrive/car/toyota/interface.py b/selfdrive/car/toyota/interface.py index ca3d1204b..8416b1346 100755 --- a/selfdrive/car/toyota/interface.py +++ b/selfdrive/car/toyota/interface.py @@ -11,6 +11,12 @@ from common.params import Params EventName = car.CarEvent.EventName class CarInterface(CarInterfaceBase): + def __init__(self, CP, CarController, CarState): + super().__init__(CP, CarController, CarState) + + # dp + self.dp_cruise_speed = 0. + @staticmethod def compute_gb(accel, speed): return float(accel) / 3.0 @@ -367,8 +373,16 @@ class CarInterface(CarInterfaceBase): # dp self.dragonconf = dragonconf ret.cruiseState.enabled = common_interface_atl(ret, dragonconf.dpAtl) - if dragonconf.dpToyotaLowestCruiseOverride and ret.cruiseState.speed < dragonconf.dpToyotaLowestCruiseOverrideAt * CV.KPH_TO_MS: - ret.cruiseState.speed = dragonconf.dpToyotaLowestCruiseOverrideSpeed * CV.KPH_TO_MS + if ret.cruiseState.enabled and dragonconf.dpToyotaLowestCruiseOverride and ret.cruiseState.speed < dragonconf.dpToyotaLowestCruiseOverrideAt * CV.KPH_TO_MS: + if dragonconf.dpToyotaLowestCruiseOverrideVego: + if self.dp_cruise_speed == 0.: + ret.cruiseState.speed = self.dp_cruise_speed = max( dragonconf.dpToyotaLowestCruiseOverrideSpeed * CV.KPH_TO_MS,ret.vEgo) + else: + ret.cruiseState.speed = self.dp_cruise_speed + else: + ret.cruiseState.speed = dragonconf.dpToyotaLowestCruiseOverrideSpeed * CV.KPH_TO_MS + else: + self.dp_cruise_speed = 0. ret.canValid = self.cp.can_valid and self.cp_cam.can_valid ret.steeringRateLimited = self.CC.steer_rate_limited if self.CC is not None else False