Skip to content

Commit f8ce921

Browse files
author
Vehicle Researcher
committed
openpilot v0.5.7 release
old-commit-hash: 210db68
1 parent 6b0270b commit f8ce921

36 files changed

+837
-168
lines changed

README.md

+42-42
Original file line numberDiff line numberDiff line change
@@ -51,54 +51,54 @@ Also, we have a several thousand people community on [slack](https://slack.comma
5151
Hardware
5252
------
5353

54-
Right now openpilot supports the [EON Dashcam DevKit](https://comma.ai/shop/products/eon-dashcam-devkit). We'd like to support other platforms as well.
54+
At the moment openpilot supports the [EON Dashcam DevKit](https://comma.ai/shop/products/eon-dashcam-devkit). A [panda](https://shop.comma.ai/products/panda-obd-ii-dongle) and a [giraffe](https://comma.ai/shop/products/giraffe/) are recommended tools to interface the EON with the car. We'd like to support other platforms as well.
5555

5656
Install openpilot on a neo device by entering ``https://openpilot.comma.ai`` during NEOS setup.
5757

5858
Supported Cars
5959
------
6060

61-
| Make | Model | Supported Package | Lateral | Longitudinal | No Accel Below | No Steer Below | Giraffe |
62-
| ---------------------| ------------------------| ---------------------| --------| ---------------| -----------------| ---------------|-------------------|
63-
| Acura | ILX 2016-17 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 25mph | Nidec |
64-
| Acura | RDX 2018 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
65-
| Cadillac<sup>3</sup> | ATS 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
66-
| Chevrolet<sup>3</sup>| Malibu 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
67-
| Chevrolet<sup>3</sup>| Volt 2017-18 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
68-
| GMC<sup>3</sup>| Acadia Denali 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
69-
| Holden<sup>3</sup> | Astra 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
70-
| Honda | Accord 2018 | All | Yes | Stock | 0mph | 3mph | Bosch |
71-
| Honda | Civic 2016-18 | Honda Sensing | Yes | Yes | 0mph | 12mph | Nidec |
72-
| Honda | Civic 2017-18 *(Hatch)* | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
73-
| Honda | CR-V 2015-16 | Touring | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
74-
| Honda | CR-V 2017-18 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
75-
| Honda | Odyssey 2017-19 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 0mph | Inverted Nidec |
76-
| Honda | Pilot 2016-18 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
77-
| Honda | Pilot 2019 | All | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
78-
| Honda | Ridgeline 2017-18 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
79-
| Hyundai | Santa Fe 2019 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
80-
| Hyundai | Elantra 2017 | SCC + LKAS | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
81-
| Hyundai | Genesis 2018 | All | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
82-
| Kia | Sorento 2018 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
83-
| Kia | Stinger 2018 | SCC + LKAS | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
84-
| Lexus | RX Hybrid 2016-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
85-
| Toyota | Camry 2018<sup>4</sup> | All | Yes | Stock | 0mph<sup>5</sup> | 0mph | Toyota |
86-
| Toyota | C-HR 2017-18<sup>4</sup>| All | Yes | Stock | 0mph | 0mph | Toyota |
87-
| Toyota | Corolla 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph | 0mph | Toyota |
88-
| Toyota | Highlander 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
89-
| Toyota | Highlander Hybrid 2018 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
90-
| Toyota | Prius 2016 | TSS-P | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
91-
| Toyota | Prius 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
92-
| Toyota | Prius Prime 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
93-
| Toyota | Rav4 2016 | TSS-P | Yes | Yes<sup>2</sup>| 20mph | 0mph | Toyota |
94-
| Toyota | Rav4 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph | 0mph | Toyota |
95-
| Toyota | Rav4 Hybrid 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
96-
97-
<sup>1</sup>[Comma Pedal](https://community.comma.ai/wiki/index.php/Comma_Pedal) is used to provide stop-and-go capability to some of the openpilot-supported cars that don't currently support stop-and-go. Here is how to [build a Comma Pedal](https://medium.com/@jfrux/comma-pedal-building-with-macrofab-6328bea791e8). ***NOTE: The Comma Pedal is not officially supported by [comma.ai](https://comma.ai)***
98-
<sup>2</sup>When disconnecting the Driver Support Unit (DSU), otherwise longitudinal control is stock ACC. For DSU locations, see [Toyota Wiki page](https://community.comma.ai/wiki/index.php/Toyota)
99-
<sup>3</sup>[GM installation guide](https://zoneos.com/volt/).
100-
<sup>4</sup>It needs an extra 120Ohm resistor ([pic1](https://i.imgur.com/CmdKtTP.jpg), [pic2](https://i.imgur.com/s2etUo6.jpg)) on bus 3 and giraffe switches set to 01X1 (11X1 for stock LKAS), where X depends on if you have the [comma power](https://comma.ai/shop/products/power/).
101-
<sup>5</sup>28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control.
61+
| Make | Model | Supported Package | Lateral | Longitudinal | No Accel Below | No Steer Below | Giraffe |
62+
| ---------------------| -------------------------| ---------------------| --------| ---------------| -----------------| ---------------|-------------------|
63+
| Acura | ILX 2016-17 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 25mph | Nidec |
64+
| Acura | RDX 2018 | AcuraWatch Plus | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
65+
| Chevrolet<sup>3</sup>| Malibu 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
66+
| Chevrolet<sup>3</sup>| Volt 2017-18 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
67+
| Cadillac<sup>3</sup> | ATS 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
68+
| GMC<sup>3</sup> | Acadia Denali 2018 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
69+
| Holden<sup>3</sup> | Astra 2017 | Adaptive Cruise | Yes | Yes | 0mph | 7mph | Custom<sup>7</sup>|
70+
| Honda | Accord 2018 | All | Yes | Stock | 0mph | 3mph | Bosch |
71+
| Honda | Civic Sedan/Coupe 2016-18| Honda Sensing | Yes | Yes | 0mph | 12mph | Nidec |
72+
| Honda | Civic Hatchback 2017-18 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
73+
| Honda | CR-V 2015-16 | Touring | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
74+
| Honda | CR-V 2017-18 | Honda Sensing | Yes | Stock | 0mph | 12mph | Bosch |
75+
| Honda | Odyssey 2017-19 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 0mph | Inverted Nidec |
76+
| Honda | Pilot 2016-18 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
77+
| Honda | Pilot 2019 | All | Yes | Yes | 25mph<sup>1</sup>| 12mph | Inverted Nidec |
78+
| Honda | Ridgeline 2017-18 | Honda Sensing | Yes | Yes | 25mph<sup>1</sup>| 12mph | Nidec |
79+
| Hyundai | Santa Fe 2019 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
80+
| Hyundai | Elantra 2017 | SCC + LKAS | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
81+
| Hyundai | Genesis 2018 | All | Yes | Stock | 19mph | 34mph | Custom<sup>6</sup>|
82+
| Kia | Sorento 2018 | All | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
83+
| Kia | Stinger 2018 | SCC + LKAS | Yes | Stock | 0mph | 0mph | Custom<sup>6</sup>|
84+
| Lexus | RX Hybrid 2016-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
85+
| Toyota | Camry 2018<sup>4</sup> | All | Yes | Stock | 0mph<sup>5</sup> | 0mph | Toyota |
86+
| Toyota | C-HR 2017-18<sup>4</sup> | All | Yes | Stock | 0mph | 0mph | Toyota |
87+
| Toyota | Corolla 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph | 0mph | Toyota |
88+
| Toyota | Highlander 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
89+
| Toyota | Highlander Hybrid 2018 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
90+
| Toyota | Prius 2016 | TSS-P | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
91+
| Toyota | Prius 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
92+
| Toyota | Prius Prime 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
93+
| Toyota | Rav4 2016 | TSS-P | Yes | Yes<sup>2</sup>| 20mph | 0mph | Toyota |
94+
| Toyota | Rav4 2017-18 | All | Yes | Yes<sup>2</sup>| 20mph | 0mph | Toyota |
95+
| Toyota | Rav4 Hybrid 2017-18 | All | Yes | Yes<sup>2</sup>| 0mph | 0mph | Toyota |
96+
97+
<sup>1</sup>[Comma Pedal](https://community.comma.ai/wiki/index.php/Comma_Pedal) is used to provide stop-and-go capability to some of the openpilot-supported cars that don't currently support stop-and-go. Here is how to [build a Comma Pedal](https://medium.com/@jfrux/comma-pedal-building-with-macrofab-6328bea791e8). ***NOTE: The Comma Pedal is not officially supported by [comma.ai](https://comma.ai)***
98+
<sup>2</sup>When disconnecting the Driver Support Unit (DSU), otherwise longitudinal control is stock ACC. For DSU locations, see [Toyota Wiki page](https://community.comma.ai/wiki/index.php/Toyota)
99+
<sup>3</sup>[GM installation guide](https://zoneos.com/volt/).
100+
<sup>4</sup>It needs an extra 120Ohm resistor ([pic1](https://i.imgur.com/CmdKtTP.jpg), [pic2](https://i.imgur.com/s2etUo6.jpg)) on bus 3 and giraffe switches set to 01X1 (11X1 for stock LKAS), where X depends on if you have the [comma power](https://comma.ai/shop/products/power/).
101+
<sup>5</sup>28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control.
102102
<sup>6</sup>Open sourced [Hyundai Giraffe](https://github.com/commaai/neo/tree/master/giraffe/hyundai) is designed ofor the 2019 Sante Fe; pinout may differ for other Hyundais. <br />
103103
<sup>7</sup>Community built Giraffe, find more information here, [GM Giraffe](https://zoneos.com/shop/) <br />
104104

RELEASES.md

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
Version 0.5.7 (2018-12-06)
2+
========================
3+
* Speed limit from OpenStreetMap added to UI
4+
* Highlight speed limit when speed exceeds road speed limit plus a delta
5+
* Option to limit openpilot max speed to road speed limit plus a delta
6+
* Cadillac ATS support thanks to vntarasov!
7+
* GMC Acadia support thanks to CryptoKylan!
8+
* Decrease GPU power consumption
9+
* NEOSv8 autoupdate
10+
111
Version 0.5.6 (2018-11-16)
212
========================
313
* Refresh settings layout and add feature descriptions

apk/ai.comma.plus.offroad.apk

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:14093cbddcc8c2d0ec40de70e286c72d09c6fdf85920dfeaf373d6ebc91c9ee6
3-
size 18352349
2+
oid sha256:fd1b73de8429efcab05daa82f7f1f43bb508154c5c1d2e3a5822095071775ade
3+
size 18359184

cereal/Makefile

+5-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ GENS := gen/cpp/car.capnp.c++ gen/cpp/log.capnp.c++
66
JS := gen/js/car.capnp.js gen/js/log.capnp.js
77

88
UNAME_M ?= $(shell uname -m)
9-
109
# only generate C++ for docker tests
1110
ifneq ($(OPTEST),1)
1211
GENS += gen/c/car.capnp.c gen/c/log.capnp.c gen/c/include/c++.capnp.h gen/c/include/java.capnp.h
1312

1413
ifeq ($(UNAME_M),x86_64)
15-
GENS += gen/java/Car.java gen/java/Log.java
14+
ifneq (, $(shell which capnpc-java))
15+
GENS += gen/java/Car.java gen/java/Log.java
16+
else
17+
$(warning capnpc-java not found, skipping java build)
18+
endif
1619
endif
1720

1821
endif

cereal/car.capnp

+1
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ struct CarParams {
355355
radarOffCan @47 :Bool; # True when radar objects aren't visible on CAN
356356

357357
steerActuatorDelay @48 :Float32; # Steering wheel actuator delay in seconds
358+
openpilotLongitudinalControl @50 :Bool; # is openpilot doing the longitudinal control?
358359

359360
enum SteerControlType {
360361
torque @0;

cereal/log.capnp

+17-2
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,8 @@ struct ThermalData {
276276
startedTs @13 :UInt64;
277277

278278
thermalStatus @14 :ThermalStatus;
279-
chargerDisabled @17 :Bool;
279+
chargingError @17 :Bool;
280+
chargingDisabled @18 :Bool;
280281

281282
enum ThermalStatus {
282283
green @0; # all processes run
@@ -344,6 +345,7 @@ struct LiveCalibrationData {
344345
warpMatrix @0 :List(Float32);
345346
# camera_frame_from_model_frame
346347
warpMatrix2 @5 :List(Float32);
348+
warpMatrixBig @6 :List(Float32);
347349
calStatus @1 :Int8;
348350
calCycle @2 :Int32;
349351
calPerc @3 :Int8;
@@ -562,6 +564,10 @@ struct Plan {
562564

563565
gpsPlannerActive @19 :Bool;
564566

567+
# maps
568+
vCurvature @21 :Float32;
569+
decelForTurn @22 :Bool;
570+
565571
struct GpsTrajectory {
566572
x @0 :List(Float32);
567573
y @1 :List(Float32);
@@ -1567,8 +1573,17 @@ struct LiveParametersData {
15671573
}
15681574

15691575
struct LiveMapData {
1570-
valid @0 :Bool;
1576+
speedLimitValid @0 :Bool;
15711577
speedLimit @1 :Float32;
1578+
curvatureValid @2 :Bool;
1579+
curvature @3 :Float32;
1580+
wayId @4 :UInt64;
1581+
roadX @5 :List(Float32);
1582+
roadY @6 :List(Float32);
1583+
lastGps @7: GpsLocationData;
1584+
roadCurvatureX @8 :List(Float32);
1585+
roadCurvature @9 :List(Float32);
1586+
distToTurn @10 :Float32;
15721587
}
15731588

15741589

common/params.py

+3
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ class UnknownKeyName(Exception):
6363
"IsUploadVideoOverCellularEnabled": TxType.PERSISTENT,
6464
"IsDriverMonitoringEnabled": TxType.PERSISTENT,
6565
"IsGeofenceEnabled": TxType.PERSISTENT,
66+
"SpeedLimitOffset": TxType.PERSISTENT,
6667
# written: visiond
6768
# read: visiond, controlsd
6869
"CalibrationParams": TxType.PERSISTENT,
@@ -74,6 +75,8 @@ class UnknownKeyName(Exception):
7475
"DoUninstall": TxType.CLEAR_ON_MANAGER_START,
7576
"ShouldDoUpdate": TxType.CLEAR_ON_MANAGER_START,
7677
"IsUpdateAvailable": TxType.PERSISTENT,
78+
"LongitudinalControl": TxType.PERSISTENT,
79+
"LimitSetSpeed": TxType.PERSISTENT,
7780

7881
"RecordFront": TxType.PERSISTENT,
7982
}

common/transformations/model.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def get_model_height_transform(camera_frame_from_road_frame, height):
8383

8484
# camera_frame_from_model_frame aka 'warp matrix'
8585
# was: calibration.h/CalibrationTransform
86-
def get_camera_frame_from_model_frame(camera_frame_from_road_frame, height):
86+
def get_camera_frame_from_model_frame(camera_frame_from_road_frame, height=model_height):
8787
vp = vp_from_ke(camera_frame_from_road_frame)
8888

8989
model_camera_from_model_frame = np.array([

installer/updater/updater

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:1817dfc1a36226c1f2ffa56080c1488cb8e2dd83b2732c50f73f7e63302f2112
3-
size 2500744
2+
oid sha256:133fbf865c4466ae3fbc2b1b3e386479c32ff14994482fb8c4b3a0559ec67c10
3+
size 2513896

phonelibs/openblas/libopenblas.so

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
libopenblas_armv8p-r0.2.19.so
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:52a864869d30995fbde8192d7d4fa406cd98a4cbac16c79556bcf591cd8da23c
3+
size 9623424

requirements_openpilot.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ libusb1==1.5.0
55
pycapnp==0.6.3
66
pyzmq==15.4.0
77
raven==5.23.0
8-
requests==2.10.0
8+
requests==2.20.0
99
setproctitle==1.1.10
1010
simplejson==3.8.2
1111
pyyaml==3.12
@@ -16,4 +16,5 @@ filterpy==1.2.4
1616
smbus2==0.2.0
1717
pyflakes==1.6.0
1818
-e git+https://github.com/commaai/le_python.git@5eef8f5be5929d33973e1b10e686fa0cdcd6792f#egg=Logentries
19+
-e git+https://github.com/commaai/python-overpy.git@f86529af402d4642e1faeb146671c40284007323#egg=overpy
1920
Flask==1.0.2

selfdrive/boardd/boardd.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,10 @@ def __parse_can_buffer(dat):
7171
def can_send_many(arr):
7272
snds = []
7373
for addr, _, dat, alt in arr:
74-
snd = struct.pack("II", ((addr << 21) | 1), len(dat) | (alt << 4)) + dat
75-
snd = snd.ljust(0x10, '\x00')
76-
snds.append(snd)
74+
if addr < 0x800: # only support 11 bit addr
75+
snd = struct.pack("II", ((addr << 21) | 1), len(dat) | (alt << 4)) + dat
76+
snd = snd.ljust(0x10, '\x00')
77+
snds.append(snd)
7778
while 1:
7879
try:
7980
handle.bulkWrite(3, ''.join(snds))

selfdrive/car/ford/interface.py

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ def get_params(candidate, fingerprint):
119119
ret.brakeMaxV = [1., 0.8]
120120

121121
ret.enableCamera = not any(x for x in [970, 973, 984] if x in fingerprint)
122+
ret.openpilotLongitudinalControl = False
122123
cloudlog.warn("ECU Camera Simulated: %r", ret.enableCamera)
123124

124125
ret.steerLimitAlert = False

selfdrive/car/gm/interface.py

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def get_params(candidate, fingerprint):
6262
# Have to go passive if ASCM is online (ACC-enabled cars),
6363
# or camera is on powertrain bus (LKA cars without ACC).
6464
ret.enableCamera = not any(x for x in STOCK_CONTROL_MSGS[candidate] if x in fingerprint)
65+
ret.openpilotLongitudinalControl = ret.enableCamera
6566

6667
std_cargo = 136
6768

0 commit comments

Comments
 (0)