diff --git a/README.md b/README.md index 431b4723c9..0e58ae3901 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ Community Maintained Cars and Features | Make | Model (US Market Reference) | Supported Package | ACC | No ACC accel below | No ALC below | | ----------| ------------------------------| ------------------| -----------------| -------------------| -------------| +| Audi | A3 2015 | Driver Assistance | Stock | 0mph | 0mph | | Buick | Regal 20181 | Adaptive Cruise | openpilot | 0mph | 7mph | | Cadillac | ATS 20181 | Adaptive Cruise | openpilot | 0mph | 7mph | | Chevrolet | Malibu 20171 | Adaptive Cruise | openpilot | 0mph | 7mph | diff --git a/selfdrive/car/volkswagen/interface.py b/selfdrive/car/volkswagen/interface.py index 63da6672ba..24c078d7ad 100644 --- a/selfdrive/car/volkswagen/interface.py +++ b/selfdrive/car/volkswagen/interface.py @@ -25,7 +25,7 @@ class CarInterface(CarInterfaceBase): # VW port is a community feature, since we don't own one to test ret.communityFeature = True - if candidate == CAR.GOLF: + if candidate in [CAR.GOLF, CAR.AUDI_A3]: # Set common MQB parameters that will apply globally ret.carName = "volkswagen" ret.radarOffCan = True diff --git a/selfdrive/car/volkswagen/values.py b/selfdrive/car/volkswagen/values.py index d99d781026..361383ca89 100644 --- a/selfdrive/car/volkswagen/values.py +++ b/selfdrive/car/volkswagen/values.py @@ -47,14 +47,18 @@ MQB_LDW_MESSAGES = { class CAR: GOLF = "VOLKSWAGEN GOLF" + AUDI_A3 = "AUDI A3" FINGERPRINTS = { CAR.GOLF: [ # 76b83eb0245de90e|2019-10-21--17-40-42 - jyoung8607 car {64: 8, 134: 8, 159: 8, 173: 8, 178: 8, 253: 8, 257: 8, 260: 8, 262: 8, 264: 8, 278: 8, 279: 8, 283: 8, 286: 8, 288: 8, 289: 8, 290: 8, 294: 8, 299: 8, 302: 8, 346: 8, 385: 8, 418: 8, 427: 8, 668: 8, 679: 8, 681: 8, 695: 8, 779: 8, 780: 8, 783: 8, 792: 8, 795: 8, 804: 8, 806: 8, 807: 8, 808: 8, 809: 8, 870: 8, 896: 8, 897: 8, 898: 8, 901: 8, 917: 8, 919: 8, 949: 8, 958: 8, 960: 4, 981: 8, 987: 8, 988: 8, 991: 8, 997: 8, 1000: 8, 1019: 8, 1120: 8, 1122: 8, 1123: 8, 1124: 8, 1153: 8, 1162: 8, 1175: 8, 1312: 8, 1385: 8, 1413: 8, 1440: 5, 1514: 8, 1515: 8, 1520: 8, 1600: 8, 1601: 8, 1603: 8, 1605: 8, 1624: 8, 1626: 8, 1629: 8, 1631: 8, 1646: 8, 1648: 8, 1712: 6, 1714: 8, 1716: 8, 1717: 8, 1719: 8, 1720: 8, 1721: 8 }], + CAR.AUDI_A3: [ + {64: 8, 134: 8, 159: 8, 173: 8, 178: 8, 253: 8, 257: 8, 260: 8, 262: 8, 278: 8, 279: 8, 283: 8, 285: 8, 286: 8, 288: 8, 289: 8, 290: 8, 294: 8, 299: 8, 302: 8, 346: 8, 427: 8, 779: 8, 780: 8, 783: 8, 792: 8, 804: 8, 806: 8, 807: 8, 808: 8, 809: 8, 870: 8, 901: 8, 917: 8, 919: 8, 949: 8, 958: 8, 960: 4, 981: 8, 987: 8, 988: 8, 991: 8, 997: 8, 1019: 8, 1122: 8, 1123: 8, 1124: 8, 1153: 8, 1175: 8, 1312: 8, 1385: 8, 1413: 8, 1440: 5, 1520: 8, 1600: 8, 1601: 8, 1603: 8, 1624: 8, 1629: 8, 1631: 8, 1646: 8, 1648: 8, 1712: 6, 1714: 8, 1716: 8, 1719: 8, 1720: 8, 1721: 8}], } DBC = { CAR.GOLF: dbc_dict('vw_mqb_2010', None), + CAR.AUDI_A3: dbc_dict('vw_mqb_2010', None), } diff --git a/selfdrive/test/test_car_models.py b/selfdrive/test/test_car_models.py index 2279374db0..464297f07a 100755 --- a/selfdrive/test/test_car_models.py +++ b/selfdrive/test/test_car_models.py @@ -433,6 +433,10 @@ routes = { 'carFingerprint': VOLKSWAGEN.GOLF, 'enableCamera': True, }, + "07667b885add75fd|2021-01-23--19-48-42": { + 'carFingerprint': VOLKSWAGEN.AUDI_A3, + 'enableCamera': True, + }, "3c8f0c502e119c1c|2020-06-30--12-58-02": { 'carFingerprint': SUBARU.ASCENT, 'enableCamera': True,