diff --git a/README.md b/README.md
index 83e6c7d30..1b66a2df9 100644
--- a/README.md
+++ b/README.md
@@ -67,8 +67,8 @@ Supported Cars
| Acura | ILX 2016-19 | AcuraWatch Plus | openpilot | 25mph1 | 25mph |
| Acura | RDX 2016-18 | AcuraWatch Plus | openpilot | 25mph1 | 12mph |
| Acura | RDX 2019-21 | All | Stock | 0mph | 3mph |
-| Honda | Accord 2018-21 | All | Stock | 0mph | 3mph |
-| Honda | Accord Hybrid 2018-21 | All | Stock | 0mph | 3mph |
+| Honda | Accord 2018-20 | All | Stock | 0mph | 3mph |
+| Honda | Accord Hybrid 2018-20 | All | Stock | 0mph | 3mph |
| Honda | Civic Hatchback 2017-21 | Honda Sensing | Stock | 0mph | 12mph |
| Honda | Civic Coupe 2016-18 | Honda Sensing | openpilot | 0mph | 12mph |
| Honda | Civic Coupe 2019-20 | All | Stock | 0mph | 2mph2 |
diff --git a/RELEASES.md b/RELEASES.md
index a52ad3760..3434221a7 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -8,8 +8,6 @@ Version 0.8.8 (2021-08-27)
* NEOS 18 for comma two: update packages
* AGNOS 1.3 for comma three: fix display init at high temperatures
* Improved auto-exposure on comma three
- * Honda Accord 2021 support thanks to csouers!
- * Honda Accord Hybrid 2021 support thanks to csouers!
* Hyundai Kona Hybrid 2020 support thanks to haram-KONA!
* Hyundai Sonata Hybrid 2021 support thanks to Matt-Wash-Burn!
* Kia Niro Hybrid 2021 support thanks to tetious!
diff --git a/panda/board/safety/safety_honda.h b/panda/board/safety/safety_honda.h
index 8566f06a8..0e2acdb46 100644
--- a/panda/board/safety/safety_honda.h
+++ b/panda/board/safety/safety_honda.h
@@ -7,8 +7,8 @@
// brake rising edge
// brake > 0mph
const CanMsg HONDA_N_TX_MSGS[] = {{0xE4, 0, 5}, {0x194, 0, 4}, {0x1FA, 0, 8}, {0x200, 0, 6}, {0x30C, 0, 8}, {0x33D, 0, 5}};
-const CanMsg HONDA_BG_TX_MSGS[] = {{0xE4, 2, 5}, {0xE5, 2, 8}, {0x296, 0, 4}, {0x33D, 2, 5}, {0x33DA, 2, 5}, {0x33DB, 2, 8}}; // Bosch Giraffe
-const CanMsg HONDA_BH_TX_MSGS[] = {{0xE4, 0, 5}, {0xE5, 0, 8}, {0x296, 1, 4}, {0x33D, 0, 5}, {0x33DA, 0, 5}, {0x33DB, 0, 8}}; // Bosch Harness
+const CanMsg HONDA_BG_TX_MSGS[] = {{0xE4, 2, 5}, {0xE5, 2, 8}, {0x296, 0, 4}, {0x33D, 2, 5}}; // Bosch Giraffe
+const CanMsg HONDA_BH_TX_MSGS[] = {{0xE4, 0, 5}, {0xE5, 0, 8}, {0x296, 1, 4}, {0x33D, 0, 5}}; // Bosch Harness
const CanMsg HONDA_BG_LONG_TX_MSGS[] = {{0xE4, 0, 5}, {0x1DF, 0, 8}, {0x1EF, 0, 8}, {0x1FA, 0, 8}, {0x30C, 0, 8}, {0x33D, 0, 5}, {0x39F, 0, 8}, {0x18DAB0F1, 0, 8}}; // Bosch Giraffe w/ gas and brakes
const CanMsg HONDA_BH_LONG_TX_MSGS[] = {{0xE4, 1, 5}, {0x1DF, 1, 8}, {0x1EF, 1, 8}, {0x1FA, 1, 8}, {0x30C, 1, 8}, {0x33D, 1, 5}, {0x39F, 1, 8}, {0x18DAB0F1, 1, 8}}; // Bosch Harness w/ gas and brakes
@@ -274,7 +274,7 @@ static int honda_tx_hook(CAN_FIFOMailBox_TypeDef *to_send) {
}
}
- // Bosch supplemental control check
+ // Bosch supplemental control check
if (addr == 0xE5) {
if ((GET_BYTES_04(to_send) != 0x10800004) || ((GET_BYTES_48(to_send) & 0x00FFFFFF) != 0x0)) {
tx = 0;
@@ -376,7 +376,7 @@ static int honda_bosch_fwd_hook(int bus_num, CAN_FIFOMailBox_TypeDef *to_fwd) {
}
if (bus_num == bus_rdr_cam) {
int addr = GET_ADDR(to_fwd);
- int is_lkas_msg = (addr == 0xE4) || (addr == 0xE5) || (addr == 0x33D) || (addr == 0x33DA) || (addr == 0x33DB);
+ int is_lkas_msg = (addr == 0xE4) || (addr == 0xE5) || (addr == 0x33D);
if (!is_lkas_msg) {
bus_fwd = bus_rdr_car;
}
diff --git a/selfdrive/car/honda/carstate.py b/selfdrive/car/honda/carstate.py
index 36461bf82..982d3ece9 100644
--- a/selfdrive/car/honda/carstate.py
+++ b/selfdrive/car/honda/carstate.py
@@ -119,7 +119,7 @@ def get_can_signals(CP, gearbox_msg="GEARBOX"):
else:
checks += [("CRUISE_PARAMS", 50)]
- if CP.carFingerprint in (CAR.ACCORD, CAR.ACCORD_2021, CAR.ACCORDH, CAR.ACCORDH_2021, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G):
+ if CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G):
signals += [("DRIVERS_DOOR_OPEN", "SCM_FEEDBACK", 1)]
elif CP.carFingerprint == CAR.ODYSSEY_CHN:
signals += [("DRIVERS_DOOR_OPEN", "SCM_BUTTONS", 1)]
@@ -230,7 +230,7 @@ class CarState(CarStateBase):
# ******************* parse out can *******************
# TODO: find wheels moving bit in dbc
- if self.CP.carFingerprint in (CAR.ACCORD, CAR.ACCORD_2021, CAR.ACCORDH, CAR.ACCORDH_2021, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G):
+ if self.CP.carFingerprint in (CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G):
ret.standstill = cp.vl["ENGINE_DATA"]["XMISSION_SPEED"] < 0.1
ret.doorOpen = bool(cp.vl["SCM_FEEDBACK"]["DRIVERS_DOOR_OPEN"])
elif self.CP.carFingerprint == CAR.ODYSSEY_CHN:
@@ -279,7 +279,7 @@ class CarState(CarStateBase):
250, cp.vl["SCM_FEEDBACK"]["LEFT_BLINKER"], cp.vl["SCM_FEEDBACK"]["RIGHT_BLINKER"])
self.brake_hold = cp.vl["VSA_STATUS"]["BRAKE_HOLD_ACTIVE"]
- if self.CP.carFingerprint in (CAR.CIVIC, CAR.ODYSSEY, CAR.CRV_5G, CAR.ACCORD, CAR.ACCORD_2021, CAR.ACCORDH, CAR.ACCORDH_2021, CAR.CIVIC_BOSCH,
+ if self.CP.carFingerprint in (CAR.CIVIC, CAR.ODYSSEY, CAR.CRV_5G, CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH,
CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G):
self.park_brake = cp.vl["EPB_STATUS"]["EPB_STATE"] != 0
main_on = cp.vl["SCM_FEEDBACK"]["MAIN_ON"]
diff --git a/selfdrive/car/honda/hondacan.py b/selfdrive/car/honda/hondacan.py
index 290d10028..d30f5b54f 100644
--- a/selfdrive/car/honda/hondacan.py
+++ b/selfdrive/car/honda/hondacan.py
@@ -1,5 +1,5 @@
from selfdrive.car.isotp_parallel_query import IsoTpParallelQuery
-from selfdrive.car.honda.values import HONDA_BOSCH, HONDA_BOSCH_EXT, CAR
+from selfdrive.car.honda.values import HONDA_BOSCH, CAR
from selfdrive.config import Conversions as CV
from selfdrive.swaglog import cloudlog
@@ -169,18 +169,12 @@ def create_ui_commands(packer, pcm_speed, hud, car_fingerprint, is_metric, idx,
lkas_hud_values = {
'SET_ME_X41': 0x41,
+ 'SET_ME_X48': 0x48,
'STEERING_REQUIRED': hud.steer_required,
'SOLID_LANES': hud.lanes,
'BEEP': 0,
}
- if car_fingerprint not in HONDA_BOSCH_EXT:
- lkas_hud_values['SET_ME_X48'] = 0x48
-
- if car_fingerprint in HONDA_BOSCH_EXT and not openpilot_longitudinal_control:
- commands.append(packer.make_can_msg('LKAS_HUD_A', bus_lkas, lkas_hud_values, idx))
- commands.append(packer.make_can_msg('LKAS_HUD_B', bus_lkas, lkas_hud_values, idx))
- else:
- commands.append(packer.make_can_msg('LKAS_HUD', bus_lkas, lkas_hud_values, idx))
+ commands.append(packer.make_can_msg('LKAS_HUD', bus_lkas, lkas_hud_values, idx))
if radar_disabled and car_fingerprint in HONDA_BOSCH:
radar_hud_values = {
diff --git a/selfdrive/car/honda/interface.py b/selfdrive/car/honda/interface.py
index 6d583a26b..5e08d4810 100755
--- a/selfdrive/car/honda/interface.py
+++ b/selfdrive/car/honda/interface.py
@@ -158,7 +158,7 @@ class CarInterface(CarInterfaceBase):
tire_stiffness_factor = 1.
ret.lateralTuning.pid.kpV, ret.lateralTuning.pid.kiV = [[0.8], [0.24]]
- elif candidate in (CAR.ACCORD, CAR.ACCORD_2021, CAR.ACCORDH, CAR.ACCORDH_2021):
+ elif candidate in (CAR.ACCORD, CAR.ACCORDH):
stop_and_go = True
ret.mass = 3279. * CV.LB_TO_KG + STD_CARGO_KG
ret.wheelbase = 2.83
diff --git a/selfdrive/car/honda/values.py b/selfdrive/car/honda/values.py
index fe6f51546..cfc3bfd8d 100644
--- a/selfdrive/car/honda/values.py
+++ b/selfdrive/car/honda/values.py
@@ -51,8 +51,6 @@ VISUAL_HUD = {
class CAR:
ACCORD = "HONDA ACCORD 2018"
ACCORDH = "HONDA ACCORD HYBRID 2018"
- ACCORD_2021 = "HONDA ACCORD 2021"
- ACCORDH_2021 = "HONDA ACCORD HYBRID 2021"
CIVIC = "HONDA CIVIC 2016"
CIVIC_BOSCH = "HONDA CIVIC (BOSCH) 2019"
CIVIC_BOSCH_DIESEL = "HONDA CIVIC SEDAN 1.6 DIESEL 2019"
@@ -289,10 +287,12 @@ FW_VERSIONS = {
],
(Ecu.fwdCamera, 0x18dab5f1, None): [
b'36161-TWA-A070\x00\x00',
+ b'36161-TWA-A330\x00\x00',
],
(Ecu.fwdRadar, 0x18dab0f1, None): [
b'36802-TWA-A080\x00\x00',
b'36802-TWA-A070\x00\x00',
+ b'36802-TWA-A330\x00\x00',
],
(Ecu.eps, 0x18da30f1, None): [
b'39990-TVA-A160\x00\x00',
@@ -300,78 +300,6 @@ FW_VERSIONS = {
b'39990-TVA-A340\x00\x00',
],
},
- CAR.ACCORD_2021: {
- (Ecu.programmedFuelInjection, 0x18da10f1, None): [
- b'37805-6B2-C520\x00\x00',
- ],
- (Ecu.transmission, 0x18da1ef1, None): [
- b'28102-6B8-A700\x00\x00',
- ],
- (Ecu.electricBrakeBooster, 0x18da2bf1, None): [
- b'46114-TVA-A320\x00\x00',
- ],
- (Ecu.gateway, 0x18daeff1, None): [
- b'38897-TVA-A020\x00\x00',
- ],
- (Ecu.vsa, 0x18da28f1, None): [
- b'57114-TVA-E520\x00\x00',
- ],
- (Ecu.srs, 0x18da53f1, None): [
- b'77959-TVA-L420\x00\x00',
- ],
- (Ecu.combinationMeter, 0x18da60f1, None): [
- b'78109-TVC-A230\x00\x00',
- ],
- (Ecu.hud, 0x18da61f1, None): [
- b'78209-TVA-A110\x00\x00',
- ],
- (Ecu.shiftByWire, 0x18da0bf1, None): [
- b'54008-TVC-A910\x00\x00',
- ],
- (Ecu.fwdCamera, 0x18dab5f1, None): [
- b'36161-TVC-A330\x00\x00',
- ],
- (Ecu.fwdRadar, 0x18dab0f1, None): [
- b'36802-TVC-A330\x00\x00',
- ],
- (Ecu.eps, 0x18da30f1, None): [
- b'39990-TVA-A340\x00\x00',
- ],
- (Ecu.unknown, 0x18da3af1, None): [
- b'39390-TVA-A120\x00\x00',
- ],
- },
- CAR.ACCORDH_2021: {
- (Ecu.gateway, 0x18daeff1, None): [
- b'38897-TWD-J020\x00\x00',
- ],
- (Ecu.vsa, 0x18da28f1, None): [
- b'57114-TWA-A530\x00\x00',
- b'57114-TWA-B520\x00\x00',
- ],
- (Ecu.srs, 0x18da53f1, None): [
- b'77959-TWA-L420\x00\x00',
- ],
- (Ecu.combinationMeter, 0x18da60f1, None): [
- b'78109-TWA-A030\x00\x00',
- b'78109-TWA-A230\x00\x00',
- ],
- (Ecu.shiftByWire, 0x18da0bf1, None): [
- b'54008-TWA-A910\x00\x00',
- ],
- (Ecu.fwdCamera, 0x18dab5f1, None): [
- b'36161-TWA-A330\x00\x00',
- ],
- (Ecu.fwdRadar, 0x18dab0f1, None): [
- b'36802-TWA-A330\x00\x00',
- ],
- (Ecu.eps, 0x18da30f1, None): [
- b'39990-TVA-A340\x00\x00',
- ],
- (Ecu.unknown, 0x18da3af1, None): [
- b'39390-TVA-A120\x00\x00',
- ],
- },
CAR.CIVIC: {
(Ecu.programmedFuelInjection, 0x18da10f1, None): [
b'37805-5AA-A640\x00\x00',
@@ -1301,9 +1229,7 @@ FW_VERSIONS = {
DBC = {
CAR.ACCORD: dbc_dict('honda_accord_2018_can_generated', None),
- CAR.ACCORD_2021: dbc_dict('honda_accord_2018_can_generated', None),
CAR.ACCORDH: dbc_dict('honda_accord_2018_can_generated', None),
- CAR.ACCORDH_2021: dbc_dict('honda_accord_2018_can_generated', None),
CAR.ACURA_ILX: dbc_dict('acura_ilx_2016_can_generated', 'acura_ilx_2016_nidec'),
CAR.ACURA_RDX: dbc_dict('acura_rdx_2018_can_generated', 'acura_ilx_2016_nidec'),
CAR.ACURA_RDX_3G: dbc_dict('acura_rdx_2020_can_generated', None),
@@ -1341,8 +1267,5 @@ SPEED_FACTOR = {
}
OLD_NIDEC_LONG_CONTROL = set([CAR.ODYSSEY, CAR.ACURA_RDX, CAR.CRV, CAR.HRV])
-HONDA_BOSCH = set([CAR.ACCORD, CAR.ACCORD_2021, CAR.ACCORDH, CAR.ACCORDH_2021, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_5G, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G])
-HONDA_BOSCH_ALT_BRAKE_SIGNAL = set([CAR.ACCORD, CAR.ACCORD_2021, CAR.CRV_5G, CAR.ACURA_RDX_3G])
-
-# Bosch models with alternate set of LKAS_HUD messages
-HONDA_BOSCH_EXT = set([CAR.ACCORD_2021, CAR.ACCORDH_2021])
+HONDA_BOSCH = set([CAR.ACCORD, CAR.ACCORDH, CAR.CIVIC_BOSCH, CAR.CIVIC_BOSCH_DIESEL, CAR.CRV_5G, CAR.CRV_HYBRID, CAR.INSIGHT, CAR.ACURA_RDX_3G])
+HONDA_BOSCH_ALT_BRAKE_SIGNAL = set([CAR.ACCORD, CAR.CRV_5G, CAR.ACURA_RDX_3G])