Merge remote-tracking branch 'comma/master' into mqb-a3

# Conflicts:
#	selfdrive/car/volkswagen/values.py
pull/20489/head
Jason Young 4 years ago
commit ab5ea6c9c2
  1. 1
      README.md
  2. 6
      RELEASES.md
  3. 3
      selfdrive/assets/training/step0.jpg
  4. BIN
      selfdrive/assets/training/step0.png
  5. 3
      selfdrive/assets/training/step1.jpg
  6. BIN
      selfdrive/assets/training/step1.png
  7. 3
      selfdrive/assets/training/step10.jpg
  8. BIN
      selfdrive/assets/training/step10.png
  9. 3
      selfdrive/assets/training/step11.jpg
  10. BIN
      selfdrive/assets/training/step11.png
  11. 3
      selfdrive/assets/training/step12.jpg
  12. BIN
      selfdrive/assets/training/step12.png
  13. 3
      selfdrive/assets/training/step13.jpg
  14. BIN
      selfdrive/assets/training/step13.png
  15. 3
      selfdrive/assets/training/step14.jpg
  16. BIN
      selfdrive/assets/training/step14.png
  17. BIN
      selfdrive/assets/training/step15.png
  18. BIN
      selfdrive/assets/training/step16.png
  19. BIN
      selfdrive/assets/training/step17.png
  20. 3
      selfdrive/assets/training/step2.jpg
  21. BIN
      selfdrive/assets/training/step2.png
  22. 3
      selfdrive/assets/training/step3.jpg
  23. BIN
      selfdrive/assets/training/step3.png
  24. 3
      selfdrive/assets/training/step4.jpg
  25. BIN
      selfdrive/assets/training/step4.png
  26. 3
      selfdrive/assets/training/step5.jpg
  27. BIN
      selfdrive/assets/training/step5.png
  28. 3
      selfdrive/assets/training/step6.jpg
  29. BIN
      selfdrive/assets/training/step6.png
  30. 3
      selfdrive/assets/training/step7.jpg
  31. BIN
      selfdrive/assets/training/step7.png
  32. 3
      selfdrive/assets/training/step8.jpg
  33. BIN
      selfdrive/assets/training/step8.png
  34. 3
      selfdrive/assets/training/step9.jpg
  35. BIN
      selfdrive/assets/training/step9.png
  36. 5
      selfdrive/car/volkswagen/interface.py
  37. 22
      selfdrive/car/volkswagen/values.py
  38. 4
      selfdrive/test/test_car_models.py
  39. 16
      selfdrive/ui/qt/offroad/onboarding.cc
  40. 22
      selfdrive/ui/qt/offroad/onboarding.hpp

@ -172,6 +172,7 @@ Community Maintained Cars and Features
| SEAT | Ateca 2018 | Driver Assistance | Stock | 0mph | 0mph |
| Škoda | Kodiaq 2018 | Driver Assistance | Stock | 0mph | 0mph |
| Škoda | Scala 2020 | Driver Assistance | Stock | 0mph | 0mph |
| Škoda | Superb 2018 | Driver Assistance | Stock | 0mph | 0mph |
| Subaru | Ascent 2019 | EyeSight | Stock | 0mph | 0mph |
| Subaru | Crosstrek 2018-19 | EyeSight | Stock | 0mph | 0mph |
| Subaru | Forester 2019-20 | EyeSight | Stock | 0mph | 0mph |

@ -1,4 +1,4 @@
Version 0.8.3 (2021-XX-XX)
Version 0.8.3 (2021-04-01)
========================
* New model
* Trained on new diverse dataset from 2000+ users from 30+ countries
@ -10,9 +10,7 @@ Version 0.8.3 (2021-XX-XX)
* Default SSH key only used for setup
* Kia Ceed 2019 support thanks to ZanZaD13!
* Kia Seltos 2021 support thanks to speedking456!
* Škoda Kodiaq 2018 support thanks to jyoung8607!
* Volkswagen Tiguan 2020 support thanks to jyoung8607!
* Volkswagen Jetta 2018-2021 support thanks to jyoung8607!
* Added support for many Volkswagen and Škoda models thanks to jyoung8607!
Version 0.8.2 (2021-02-26)
========================

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c6c04843346495360f87d7378f6b92d1284f26876e4c61772391c4239eabb9a
size 187644

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e7ad4506e6e81e7b374676767be0037b1d27a5a6ba7e2354a639fe72510621c7
size 251834

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25b8ed39ca149b5083c61765951cef34ebbd94ed70d6111250f1f21f89c92170
size 263592

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:01932662ce154ae0456aa5adf42e604df3342dad03651c7dfe596a982bc10de2
size 220853

Binary file not shown.

After

Width:  |  Height:  |  Size: 743 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de067b0da7f676428a82d445a29d386f135081c53fd6203437bc7abeef941301
size 297138

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3a89702a4b25a5dd8431689cb06125780c30642613ac11d88dd245e1e8924cd7
size 376601

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c9f2b6fa133b102f2008a60dda0b344826ecfa57127ba43c7551d14c1b213d3b
size 234676

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd1b7ea05bdadba70f1aa12af9e044224ff751a9feb7336b0868dda99876c4ae
size 199105

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4ef49a4dde1309ca0e44de41ded5bf70a5e3dbf0cd503c50f03769c93c07e998
size 259261

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:10cc7c1a0515dcef8ae840d8d18cdfb6b60cbede409d25cfc8375c190763d7bc
size 269618

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58d340534194a7ba03466ce0f1eefaf2431d50ad6651702cb438b22d87b276bd
size 178004

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0d67cbc355c1f22e0ce20ff952a02df9b238774ebaf3076acfcc0f10944779aa
size 257768

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:21de74ca3ca3723c8d9e8e8671f07fede2a444c4ad1aeeb53dd91d25175a0d70
size 294373

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:441de6705aba7218327cb49866bf00927d2d8b6b724e91c9006b20a88f32c71a
size 216384

Binary file not shown.

After

Width:  |  Height:  |  Size: 645 KiB

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a7bfa7d4f48753409dd125d6a48b6b2d7e42a62b4b6fb1f2a7f5f11b212665a
size 200923

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

@ -97,6 +97,11 @@ class CarInterface(CarInterfaceBase):
ret.mass = 1192 + STD_CARGO_KG
ret.wheelbase = 2.65
elif candidate == CAR.SKODA_SUPERB_MK3:
# Averages of all 3V/NP Scala variants
ret.mass = 1505 + STD_CARGO_KG
ret.wheelbase = 2.84
ret.centerToFront = ret.wheelbase * 0.45
ret.enableCamera = True # Stock camera detection doesn't apply to VW

@ -63,6 +63,7 @@ class CAR:
SEAT_ATECA_MK1 = "SEAT ATECA 1ST GEN" # Chassis 5F, Mk1 SEAT Ateca and CUPRA Ateca
SKODA_KODIAQ_MK1 = "SKODA KODIAQ 1ST GEN" # Chassis NS, Mk1 Skoda Kodiaq
SKODA_SCALA_MK1 = "SKODA SCALA 1ST GEN" # Chassis NW, Mk1 Skoda Scala and Skoda Kamiq
SKODA_SUPERB_MK3 = "SKODA SUPERB 3RD GEN" # Chassis 3V/NP, Mk3 Skoda Superb and variants
FINGERPRINTS = {
CAR.GOLF: [{
@ -89,9 +90,12 @@ FINGERPRINTS = {
CAR.SKODA_SCALA_MK1: [{
64: 8, 134: 8, 159: 8, 173: 8, 178: 8, 253: 8, 257: 8, 262: 8, 278: 8, 279: 8, 283: 8, 286: 8, 288: 8, 289: 8, 290: 8, 294: 8, 299: 8, 302: 8, 346: 8, 418: 8, 427: 8, 506: 8, 568: 8, 569: 8, 572: 8, 573: 8, 679: 8, 681: 8, 684: 8, 695: 8, 779: 8, 780: 8, 783: 8, 787: 8, 788: 8, 789: 8, 792: 8, 795: 8, 804: 8, 806: 8, 807: 8, 808: 8, 809: 8, 826: 8, 827: 8, 828: 8, 870: 8, 879: 8, 884: 8, 888: 8, 891: 8, 901: 8, 913: 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, 1122: 8, 1123: 8, 1124: 8, 1153: 8, 1156: 8, 1157: 8, 1158: 8, 1162: 8, 1175: 8, 1312: 8, 1343: 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, 1635: 8, 1646: 8, 1648: 8, 1712: 6, 1714: 8, 1716: 8, 1717: 8, 1719: 8, 1720: 8, 1721: 8, 1792: 8, 1872: 8, 1879: 8, 1976: 8, 1977: 8, 1982: 8, 1985: 8
}],
CAR.SKODA_SUPERB_MK3: [{
64: 8, 134: 8, 159: 8, 178: 8, 253: 8, 257: 8, 260: 8, 262: 8, 278: 8, 279: 8, 283: 8, 286: 8, 288: 8, 289: 8, 290: 8, 294: 8, 295: 8, 299: 8, 302: 8, 346: 8, 418: 8, 427: 8, 679: 8, 681: 8, 695: 8, 779: 8, 780: 8, 783: 8, 791: 8, 792: 8, 795: 8, 799: 8, 804: 8, 806: 8, 807: 8, 808: 8, 809: 8, 838: 8, 839: 8, 840: 8, 841: 8, 842: 8, 843: 8, 844: 8, 845: 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, 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, 1624: 8, 1626: 8, 1629: 8, 1631: 8, 1646: 8, 1648: 8, 1712: 6, 1714: 8, 1716: 8, 1717: 8, 1719: 8, 1720: 8, 1792: 8, 1872: 8, 1879: 8, 1976: 8, 1977: 8, 1985: 8, 2017: 8
}],
}
IGNORED_FINGERPRINTS = [CAR.JETTA_MK7, CAR.PASSAT_MK8, CAR.TIGUAN_MK2, CAR.SEAT_ATECA_MK1, CAR.SKODA_KODIAQ_MK1, CAR.SKODA_SCALA_MK1]
IGNORED_FINGERPRINTS = [CAR.JETTA_MK7, CAR.PASSAT_MK8, CAR.TIGUAN_MK2, CAR.SEAT_ATECA_MK1, CAR.SKODA_KODIAQ_MK1, CAR.SKODA_SCALA_MK1, CAR.SKODA_SUPERB_MK3]
FW_VERSIONS = {
CAR.GOLF: {
@ -257,6 +261,21 @@ FW_VERSIONS = {
b'\xf1\x872Q0907572R \xf1\x890372',
],
},
CAR.SKODA_SUPERB_MK3: {
(Ecu.engine, 0x7e0, None): [
b'\xf1\x8704L906026KB\xf1\x894071',
],
# Only onboarded Superb so far is a manual (Ecu.transmission, 0x7e1, None): [],
(Ecu.srs, 0x715, None): [
b'\xf1\x875Q0959655BH\xf1\x890336\xf1\x82\02331310031313100313131013141319331413100',
],
(Ecu.eps, 0x712, None): [
b'\xf1\x875Q0910143B \xf1\x892201\xf1\x82\00563UZ060700',
],
(Ecu.fwdRadar, 0x757, None): [
b'\xf1\x873Q0907572C \xf1\x890195',
],
},
}
DBC = {
@ -268,4 +287,5 @@ DBC = {
CAR.SEAT_ATECA_MK1: dbc_dict('vw_mqb_2010', None),
CAR.SKODA_KODIAQ_MK1: dbc_dict('vw_mqb_2010', None),
CAR.SKODA_SCALA_MK1: dbc_dict('vw_mqb_2010', None),
CAR.SKODA_SUPERB_MK3: dbc_dict('vw_mqb_2010', None),
}

@ -469,6 +469,10 @@ routes = {
'carFingerprint': VOLKSWAGEN.SKODA_SCALA_MK1,
'enableCamera': True,
},
"b2e9858e29db492b|2021-03-26--16-58-42": {
'carFingerprint': VOLKSWAGEN.SKODA_SUPERB_MK3,
'enableCamera': True,
},
"3c8f0c502e119c1c|2020-06-30--12-58-02": {
'carFingerprint': SUBARU.ASCENT,
'enableCamera': True,

@ -12,30 +12,28 @@
void TrainingGuide::mouseReleaseEvent(QMouseEvent *e) {
int leftOffset = (geometry().width()-1620)/2;
int mousex = e->x()-leftOffset;
int mousey = e->y();
//qDebug() << e->x() << ", " << e->y();
// Check for restart
if (currentIndex == (boundingBox.size() - 1) && 1050 <= mousex && mousex <= 1500 &&
773 <= mousey && mousey <= 954) {
if (currentIndex == (boundingBox.size() - 1) && 200 <= e->x() && e->x() <= 920 &&
760 <= e->y() && e->y() <= 960) {
currentIndex = 0;
} else if (boundingBox[currentIndex][0] <= mousex && mousex <= boundingBox[currentIndex][1] &&
boundingBox[currentIndex][2] <= mousey && mousey <= boundingBox[currentIndex][3]) {
} else if (boundingBox[currentIndex][0] <= e->x() && e->x() <= boundingBox[currentIndex][1] &&
boundingBox[currentIndex][2] <= e->y() && e->y() <= boundingBox[currentIndex][3]) {
currentIndex += 1;
}
if (currentIndex >= boundingBox.size()) {
emit completedTraining();
} else {
image.load("../assets/training/step" + QString::number(currentIndex) + ".jpg");
image.load("../assets/training/step" + QString::number(currentIndex) + ".png");
update();
}
}
void TrainingGuide::showEvent(QShowEvent *event) {
currentIndex = 0;
image.load("../assets/training/step0.jpg");
image.load("../assets/training/step0.png");
}
void TrainingGuide::paintEvent(QPaintEvent *event) {

@ -26,8 +26,26 @@ private:
// Bounding boxes for the a given training guide step
// (minx, maxx, miny, maxy)
QVector<QVector<int>> boundingBox {{250, 930, 750, 900}, {280, 1280, 650, 950}, {330, 1130, 590, 900}, {910, 1580, 500, 1000}, {1180, 1300, 630, 720}, {290, 1050, 590, 960},
{1090, 1240, 550, 660}, {1050, 1580, 250, 900}, {320, 1130, 670, 1020}, {1010, 1580, 410, 750}, {1040, 1500, 230, 1030}, {300, 1190, 590, 920}, {1050, 1310, 170, 870}, {950, 1530, 460, 770}, {190, 970, 750, 970}};
QVector<QVector<int>> boundingBox {
{650, 1375, 700, 900},
{1600, 1920, 0, 1080},
{1600, 1920, 0, 1080},
{1240, 1750, 480, 1080},
{1570, 1780, 620, 750},
{1600, 1920, 0, 1080},
{1630, 1740, 620, 780},
{1200, 1920, 0, 1080},
{1455, 1850, 400, 660},
{1460, 1800, 195, 520},
{1600, 1920, 0, 1080},
{1350, 1920, 65, 1080},
{1600, 1920, 0, 1080},
{1570, 1900, 130, 1000},
{1350, 1770, 500, 700},
{1600, 1920, 0, 1080},
{1600, 1920, 0, 1080},
{1000, 1800, 760, 954},
};
signals:
void completedTraining();

Loading…
Cancel
Save