* migrate to v0.7.2
* increase mini dev bar font size
* update APKs
* system APKs updated to v0.7.2
* autonavi updated to v4.5.0.600053
* use old updated
* Add missing auto start Aegis app option.
745a2bb0 Removed non high voltage items. Added units.
fafd091a Added High Voltage Management to powertrain file.
15b6b316 Update subaru_global_2017.dbc
a12af19a Add steering error signal in subaru global
d411c175 correct max value
881c065d add electrical gear and fix driver torque
1bbac4b8 Add reference to CANdevStudio in README file
8f70ea01 Adds 2016 Honda CR-V Executive
git-subtree-dir: opendbc
git-subtree-split: 745a2bb00dad694fb8fcacaea5aaa9207bef06a7
d034f3e9 Added the option to turn on IR in power savings mode (#431)
82cafd10 Allow fan control in power saving (#429)
186d9dcb Fixed GMLAN interrupts when used in Tesla safety (#428)
f67ec28e Fix msg checks for non Honda and Toyota (#426)
git-subtree-dir: panda
git-subtree-split: d034f3e9c08130f7c933525af98e2c4ccb14b7c4
23abef4f add networkType to thermal
3f01dcf0 fix bad naming
4999e620 unconfusing and accessible to all
8f9aa8fc add fingerprintSource to carParams
57940309 better put
06f8d15c standalone monitorstate (#23)
6eb1e368 qlog at model rate
c38fb572 LateralParams
0c45f20d add uncertainty event name
git-subtree-dir: cereal
git-subtree-split: 23abef4fdb18bc2b06281f9937ed3e7fc31e5c37
* Battery protection
If your car battery voltage is lower than 0% switch off charging to stop the Eon from damaging the 12v car battery. Leaving you with a car that can not start but has a fully charged eon ;-)
* add rbiasini comment && !ignition
* Update Offroad_ChargeDisabled with voltage low
* simplify alert
* non-temporal hysteresis from @rbiasini
And up the start charge limit to 12v. i.e. 50% car battery voltage
* once battery power recovers to 11.500 volts charge
This leaves 1v inbetween for any fluctuations that could occur.
* fix indent
* Fix indent of whole block
It looks like sometimes when you copy and paste into the github web interface some white spacing gets added or removed. BE AWARE!
* Add lane departure alert in controlsd
* Need init values for LDA
* Add lane departure in interface.py
* Include LDA in CarControler
* Add logic for LDA in toyotacan
* Add speed condition and comments for LDA
* Correct right CS.vEgo
* Correct rPoly spelling
* Add left and rightLaneDepart to HUDControl in car.capnp
* Add left and rightLane_Depart in UI function
* set controlsd priority
* revert
* There must be a line to depart from
* Include changes from @pd0wm
* Remove redundant False allocation
leftLaneDepart and rightLaneDepart as False by default according to @pd0wm
* Modify variable names
right_lane_depart and left_lane_depart to conform with python naming convention
* Modify variable names
right_lane_depart and left_lane_depart to conform with python naming convention
* Wrap lane departure warning in one bool
* Add pylint to travis-ci
* Change travis build order
* Fix missing pylint
* Add pylint to dockerfile
* Test with fixed linter for chrysler changes
* Fix linter issues in OP
* fixed linter on ford
* Fix Riccardo's comments
* 2019 Chrysler Pacfica and 2019 Jeep Grand Cherokee support, along with likely support for arbitrary models.
This is done by copying most values from the stock LKAS camera which is active with https://github.com/commaai/panda/pull/177
* No longer send LKAS_HEARTBIT because Panda now forwards it for us.
* Pacifica Hybrid 2018 combine fingerprints, add 808: 8
* panda chrysler: forward bus 0 to bus 2
copy of Panda commit: https://github.com/commaai/panda/commit/104950264473274e0012a39b7ea2d1468ef46d8d
This status was defined as a bump error, but it isn't actually due to bumps. It's also triggered by driver overrides that are somewhat higher than the "steer_override" threshold. By removing this temporary disengagement, the car is much more predictable on bumpy roads AND in turns that require assistance from the driver.
* selfdrive: add sys module to exit call
exit() is a helper for interactive shell. Let's explicit
use the module sys.
* selfdrive: tomstoned.py use constant for /data/tombstones/
Instead of use multiple times a string for
the data dir, use a variable.
Although there's a fingerprint and LKAS constant for the 2019 Pacifica, it doesn't work well enough that I'd consider it supported.
P.S. I have an idea for how to support all Chrysler with one code base, even those I've never looked at. Forward can0 to the stock LKAS (can2) so that the stock LKAS is active. Then read the stock LKAS messages on can2 to both get the vehicle's LKAS constant, any status messages, and perhaps a more reliable counter. I'll try to code it up this weekend.
* Eliminate brake oscillations when using Pedal
* Simplified code
* syntax error fix
* Grinding code as applied to Honda Pilot only
Each model may need its own setting due to USER_BRAKE noise disengagements
* correction: self.CP.carFingerprint instead of CP.carFingerprint
* Add Ridgeline to Pedal Grinding fix
Confirmed to work also on Ridgeline
* fingerprint and new car
* you know the drill
* fix
* mod civic hatch to work for now
* try to merge hatch and other bosch
* fix
* fixed spaces
* comma (heh)
* make mass civic
* Add to readme. Need to confirm speed
* steering dropout at ~3.3 kph
* Remove additional fingerprint
* combined comment. fixed formatting to match
* Added EX-L subsection for the existing 2019 Pilot
Verified working with @Hitmantw25 12/20... and again 12/27 (VG w/ "Josh").
* Update selfdrive/car/honda/values.py
@energee wants to revert a change he made in a previous PR.
Co-Authored-By: ErichMoraga <33645296+ErichMoraga@users.noreply.github.com>
* Removed an extra space @energee included.
* Update fingerprints.py
Taiwanese Prius Prime fingerprint was identical to the regular prime (107 msgs.), but should really have 110. I have the correct one in there now.
* openpilot 0.4.3.1 (#220)
* Honda Pilot 2017 Port (#161)
* Update README.md
* Update fingerprints.py
* Update carstate.py
* Update hondacan.py
* Update interface.py
* Update interface.py
* Update interface.py
* Update README.md
* Update README.md
* Update README.md
* Update fingerprints.py
* Update carstate.py
* Update hondacan.py
* Update interface.py
* Update carstate.py
* Update hondacan.py
* Update README.md
* Update fingerprints.py
* Update carstate.py
* Update carstate.py
* Update carstate.py
* Update hondacan.py
* Update interface.py
* Update carstate.py
* Update carstate.py
* Update Pilot Fingerprint
* Update fingerprints.py
* Give pilot its own definition and not use ILX
* add pilot argument
* Add Pilot interface
* Add pilot argument
* Update interface.py
* Parse Different gear on pilot
* Add steer max
* Fixed duplication of steer max value
* Adjust PID's for steering
* Update carcontroller.py
* Change Steer Ratio and wheelbase
* Update Steer fault values
Steer fault value of 3, does not seem to effect anything
* Update Kp,Ki Ratio
* Update interface.py
* Update readme for Pilot
* add pilot
* Update fingerprints.py
* Update carstate.py
* add signals
* add signal
* fix restricting video upload to wifi
* Dibs on SAFETY_GM numerical value
To match Panda repo.
* Safety Reference for Honda Bosch
* Update fingerprints.py (#210)
Consolidated my fingerprint and removed duplicates and ordered the fingerprint for the RAV4H. Double Checked.
* Interpolate ki/kp for steering PID loop (#200)
* Interpolate ki/kp for steering PID loop
Very much needed for the Volt port: car ping-pongs with low kp
on high speeeds, and the loop is unstable with high kp on
low speeds.
Also, removes "number or array?" logic from PIController,
now that all the callers use interpolation ofr ki/kp.
* Pass speed to steering PID loop for ki/kp interpolation
* Remove unused numbers import
* Slight changes to UI and Fingerprint for Odyssey Elite (#196)
* Adding back drive time to UI
* Add fingerprint for Odyssey Elite
* Removed extended fingerprint for Elite
* Revert "Adding back drive time to UI"
This reverts commit b9b02f7ff2511f28922f0bea47cd8c70bb9f4010.
* Squashed 'panda/' changes from 98f29a4..67d5208
67d5208 fix signedness issue in toyota safety
fe15d3f bump pandacan
11c2b08 add fault invalid
2c26e45 add sleep
27c7637 forgot the counter
3a6d7db don't hang
bfa7d2e canloader works
b259e2a can flasher is close to working
83f2edf isotp can support in softloader
7ae7c79 typo
e85cc47 forgot the selfs
190b4f6 start work on canflasher
5c655c9 add recover support
ae3457f usbflash is reliable
f7a0ab0 pedal usbflash works
585d0f9 add way to call isotp
be82899 despite it being bad code, move isotp
000715b start work on pedal canloader
626e312 pedal has a bootstub now
3662d1e redundant check
81e6b0d fix bug
083cd12 should have bounty to refactor that ish
b65d30c bad asserts
b2e6c3f isotp untested support for subaddr
30fd66a Merge pull request #93 from vntarasov/volt
06f5109 Merge pull request #94 from gregjhogan/can-printer-hex
c7d098c Merge pull request #95 from gregjhogan/setup-script
22fe250 Merge pull request #99 from gregjhogan/bit-transition-example
ba16ba3 Merge pull request #100 from gregjhogan/j2534-troubleshooting-instructions
ad08ea4 Merge pull request #90 from gregjhogan/can-forwarding
f3b6f5d added j2534 troubleshooting instructions
858d150 added script to find bits that transition from 0 to 1
c6acac8 added checking pedal interceptor message length
f7226ff added brake safety checks
d0c2634 added gas safety checks
d378e4a removed bosch safety forwarding restriction on 29 bit addresses
5c7ef9e added bosch safety hooks and forwarding
90c64b6 add note
23de8d4 Merge pull request #97 from commaai/pedal_improvements
0261641 added missing python packages
b92b235 fix bytearray encode issue
2434f1c Tweak Volt's brake pedal stickiness
e2f73d2 enable has a whole byte to itself
d5a9e1e correct checksum
f8ed9fa better names
986a14c don't alias pointers
9b8472e add watchdog support
8f0add9 handle faults
1d917f8 split gas set into 2 values, and have a fault state
1b77026 j2534 isn't alpha anymore
fbcc872 Merge pull request #92 from commaai/pedal
8a6f44b pedal is sending messages
08f464c python 3 bro is bad bro
9390961 kline checksum algo was broken...
3b7c33b add kline debug support
aa622bc init values
631ea9f better refactor
eb1fd75 add PEDAL adc sets
ccaa310 don't build with usb
8d4d763 debug console works
bd09883 comma pedal is building
75a29d5 Merge pull request #84 from gregjhogan/j2534-hds
eece37d only the panda has gmlan
9f43abe Merge pull request #89 from vntarasov/volt
5364d43 Merge pull request #88 from vntarasov/smaller-firmware
377a1ec bump version for descriptor fix
4fabdf0 Merge pull request #87 from gregjhogan/usb-multi-packet-control
8580773 fix sending WinUSB Extended Properties Feature Descriptor
6908feb Chevy Volt safety
786a004 Enable optimization to reduce firmware size
d70f43b hack to fix thinkpad
95ab1ae fixed flow control message padding
bbd04d1 updated installer
62216d0 single standalone DLL for J2534 driver
5c9138d fixed 11 bit address issue
f3b0ad2 fix LOOPBACK getting set when DATA_RATE is set
b750d36 updated README
a9a097f lowered CPU utilization
7c26a70 TIS needs unsupported protocols to return an error
42692b4 TIS doesn't like ChannelID being zero
cf126bb SET_CONFIG return error for reserved parameters
2e99dbf fix HDS issues
8203cc8 add is_grey
e946a54 add insecure_okay flag
4363b3e check webpage
4f59ded add secure mode note
6b11fb5 add autosecuring to tests
b27d185 Merge pull request #86 from commaai/better_pairing
4b53b42 elm wifi isn't an automated test
99f85cb Merge pull request #85 from gregjhogan/usb-wcid
0d38060 auto-install WinUSB device driver
c6653ca from python import
38cc0ee add wifi_secure_mode, boots in insecure mode
git-subtree-dir: panda
git-subtree-split: 67d52089a1300b86800d897f2b271e0a24cf6dd6
* Squashed 'opendbc/' changes from 81d9871..aa067f7
aa067f7 Chevy Volt tweaks (#83)
a60c6c4 Toyota: change signal name in EPS_STATUS msg
ce70b1a extra setme field toyota LKAS_HUD
df2a552 toyota missing ACC_CONTROL checksum
48bb293 Revert "Toyota Prius: added a comma specific message to control the speed sent to the EPS"
5f42439 Toyota Prius: added a comma specific message to control the speed sent to the EPS
6f5e8b6 Pedal Interceptor: fault state VAL moved to _comma
efd5f5c add setme to honda ACC_HUD
97fc335 add interceptor to civic
6f40f16 update generator script to allow for multiple imports
9ca956b add setme to toyota STEERING_IPAS
e5afa57 run generator for ipas scaling
8bd1182 Toyota IPAS: proper steer angle unit
f57511e acceleration pedal for gasPressed
c8d1dbc high beams also. likely dashboard message.
9f1c78b high beams for genericToggle
f037d42 turn signal lights (and thus hazard lights)
b35bb08 turn signals
78986cf Revert "turn signals"
ba946c9 turn signals
2af3ecc Speed, braking, and distance signals
f40ab87 Set packet lengths, adding steering rate, adjusted speed
cd59bfa units for speed_right
c2fcce2 speed of right vs left side of car
4ef5fae value table for gear status
97c48e2 tighten up speed bits. brake pressue max comment.
a0cbfd1 add gear status PRNDL
0c82865 initial signals for chrysler pacifica 2017 hybrid
5ed0540 add set me to toyota LKAS_HUD
aecac5d add set me fields to toyota ACC_HUD
5417013 update toyota ACC_CONTROL fields
e91e967 Comma Pedal: made GAS_COMMAND 6 bytes
d04434a Comma Pedal: added state byte and enable bit
c30b2cd Comma Pedal: sending 2 tracks on 0x200
8f72467 Volt doors and belts status (#70)
60f8b6c add set me to lkas hud honda
3c9e335 fix honda pcm gas message size
7ca471d Add 2018 Toyota CHR dbc (#78)
637fe00 set scaling to 1 for brake and gas which have no real unit
62a88d4 Volt: switch to parsing ACC buttons from powertrain CAN (#74)
3fdd47b Volt's gas pedal only and combined gas/acc (#76)
45ec9c9 Add 2017 Honda Ridgeline (#77)
cbd186a Add 2018 Camry Hybrid DBC's (#73)
974eeaf Toyota: re-generated the files after cfbc9ae363f98ef
19ea195 Toyota: more vals for LKA_STATE
cfbc9ae fixed inconsistent factor for speed in Honda dbc files
e7db803 convert all line endings to unix style
git-subtree-dir: opendbc
git-subtree-split: aa067f7079aa12617f7a37d85233e51af44e1bb2
* openpilot v0.4.3 release
* Squashed 'panda/' changes from 67d5208..3125232
3125232 bump version
703c0b4 Gas Interceptor: another fix to gas pressed logic
196d383 Interceptor: fixed gas pressed logic
git-subtree-dir: panda
git-subtree-split: 31252324d98e701c33cb6aeda20af6b549175764
* Squashed 'opendbc/' changes from aa067f7..91e882d
91e882d Updating bosch dbcs to use new format and bringing in new honda changes (#82)
9b32e2e Fix Checksum errors for CH-R (#86)
git-subtree-dir: opendbc
git-subtree-split: 91e882d4a04c129e12d39bcff0bbe56b75166e0f
* openpilot v0.4.3 release
* openpilot v0.4.3.1 release
* fix bug in canpacker for Toyotas with DSU connected (#221)
* update year on civic
* Revert "openpilot 0.4.3.1 (#220)"
This reverts commit 32ebfde2ddf907878aa2faca2624ec23e495b5f7.
* Revert the changes to GM in 0.5.4 (#380) (#386)
* Revert 0.5.4 changes for GM for 18ers
* Redo the refactor of stock control msgs
* Fixed missing CONTROL_MSGS -> STOCK_CONTROL_MSGS
* Remove spacing
* Need candidate array idx
* Cleanup
Uses generic dbc
All car names in alphabetical order
All fingerprints in alphabetical order
Acknowledgement to users who have made each vehicle possible
* no unecessary comments
* Match dbc to opendbc
Tuned kP and kI and Tire Stiffness Factor settings.
Fixes lane centering issues in the following situations:
1. Hugging of left lane line during fast left curving roads
2. Hugging of right lane line during fast right curving roads
3. Left bias in fast lane on crowned roads (sloping down to the left)
4. Right bias in slow lane on crowned roads (sloping down to the right)
Works better when lane_width = 2.85 (vs 3.7 default) in pathplanner.py
This is a noop for most users, but for those of us working on new
car ports where we have our own additional defines, having
those defines out of sync creates merge conflicts in one place
(good so we can fix it) but not the other ( not good becasue
they will go unnoticed). I learned this the hardway!.
Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com>
* hyundai WIP
* steer_driver_factor is 1
* removed unnecessary file
* removed unnecessary code
* Update carcontroller.py
bug fix
* safety tuning and fixed interface stiffness
* better lateral tuning, some fixes
* Fix set speed
* added camera state reading, autoresume from stop, cancel on accel, hud alerts
* WIP
* Updated for Kia Sorento *WIP*
* Cleanup
* clean2
* Bug Fixes
* pre-merge
* Add all the cars!
* Panda to auto-detect Camera Bus
* Move Checksum Check
* Final Sorento Tuning
* Make CAN3 for Cam default
* Update README.md
* update panda, minor aesthetic updates
* few other minor changes
* added steer not allowed alert
* bup panda version to force panda update
* fixed camera alerts
* Revert to using CLU15 for Gear Selection
* Missing Defines
Didn’t realise this was removed as well!
* Change Gear Selection Definitions
Add logic to use transmission message rather than cluster message for all gear selections UNLESS the car in question does not have the known good transmission messages
* Revert Camera CAN Bus
* self.candidate
* fixed fingerpint, tested on Sorento
* Update for Elantra on Hyundai-Dev Branch
Latest Elantra values that correlate to progress Community branch.
* Revert 0.5.4 changes for GM for 18ers
* Redo the refactor of stock control msgs
* Fixed missing CONTROL_MSGS -> STOCK_CONTROL_MSGS
* Remove spacing
* Need candidate array idx
* hyundai WIP
* steer_driver_factor is 1
* removed unnecessary file
* removed unnecessary code
* Update carcontroller.py
bug fix
* safety tuning and fixed interface stiffness
* better lateral tuning, some fixes
* Fix set speed
* added camera state reading, autoresume from stop, cancel on accel, hud alerts
* WIP
* Updated for Kia Sorento *WIP*
* Cleanup
* clean2
* Bug Fixes
* pre-merge
* Add all the cars!
* Panda to auto-detect Camera Bus
* Move Checksum Check
* Final Sorento Tuning
* Make CAN3 for Cam default
* Update README.md
* update panda, minor aesthetic updates
* few other minor changes
* added steer not allowed alert
* bup panda version to force panda update
* fixed camera alerts
* Trying to make Highlander ICE stop and go
* Making acceleration slow for fuel efficiency
* Removing annoying commanded disengage beep
* Raised accel_max by 50% and commented on chime
* Testing if Highlander ICE can resume follow from 0
* Returned to 1.5 m/s2 for testing stop and go
* Prep for merging upstream
* Prep for upstream merge item #2
* Added Highlander ICE/Hybrid to Stop and Go
Also updated table of vehicles
* Rollback advertising stop and go for Highlanders
* Fix whitespace
In 2017 Volts, PCM fault occurs for a few seconds if ACC gas
is commanded while user presses gas pedal. PID winds up,
and when PCM fault clears, car gets a "max gas" jolt.
In 2018 Volts, PCM fault doesn't time out, which means pre-enable
doesn't work at all, and car would slowly decelerate, while openpilot
thinks it's engaged.
* Honda Odyssey 2019 EX-L PID Tuning.
* Update interface.py - Increased Kp for Odyssey
Increases response from 0.4, but oscillation still occurs in very sharp curves.
* Move vehicle state values (that get sent to radar) into values.py file, its a better place for it :)
* idx with offset should only be applied to 0x300
* Adds new honda pilot to vehicle state msg array
* Adds Joel's Changes to values, sorted as Rick wanted.
* Adds space at end of file.
* Adds Changes to Steering Ratio for Pilot testing.
* Adding this to steer ratio makes it even 3.33
Not sure if this should go into this PR though or not.
This makes the ratio match the other vehicles in the file. Otherwise it's 3.454545...
* Changes the RAV4 back to not include pedal.
* Updated Comments for Pedal Support
* - Adds menuever test output to gitignore.
- Slight comment update to Ridgeline
* - Cleanup steer status comments
- Adds steering warning for interceptor cars in low speed lockout.
* Cleans up comments.
* Update README.md
* Corrects verbiage in README regarding Comma Pedal on Honda's
* Updates Odyssey and MDX to not add extra warnings for low-speed-lockout.
* Updates Comma Pedal references to use anchor links.
* Minor tweak to README
* Updates RDX to warn no steering below 12mph
* Reverts changes to README, carstate.py, and interface.py
* Removes extra libraries from a prior experiment.
* Replaces README with one from current devel. Hope this fixes spacing issues.
* Adds Pedal back to Honda Cars and sorts fingerprint values
* Fixes spacing changes that were not intentional.
* Fixed carstate no newline at end of file.
* Fixes new line at end of file issue.
* Converted the Long's to Int's
Loving the way this adds some realism and cleans things up a bit on the image.
Let's do this! xD <3
Thanks for the AMAZING and EXCITING update. Driving on it first thing in the morning.
Congratulations Comma Team!
* Adds Honda Ridgeline
Replaced trim level placeholder
Adding 0x301 ridgeline message
(I restructured this slightly since we don't need to repeat `commands.append(make_can_msg(0x300, msg_0x300, idx, 1))` so many times
Updated dbc name
Use pedal_gas to detect gas pressed
Remove unnecessary signal check
Fix array notation
* Tire stiffness factor bumped to 1.5x
* Adds safety tests at line 133
* Revert "Adds safety tests at line 133"
This reverts commit 349edf5b1a879cac704db3786d0626211497bcb7.
* fix failing build due to syntax
* update variables for failing build
* Update interface.py
* Update Tire Slip Factor
* Adding back drive time to UI
* Add fingerprint for Odyssey Elite
* Removed extended fingerprint for Elite
* Revert "Adding back drive time to UI"
This reverts commit b9b02f7ff2511f28922f0bea47cd8c70bb9f4010.
* Interpolate ki/kp for steering PID loop
Very much needed for the Volt port: car ping-pongs with low kp
on high speeeds, and the loop is unstable with high kp on
low speeds.
Also, removes "number or array?" logic from PIController,
now that all the callers use interpolation ofr ki/kp.
* Pass speed to steering PID loop for ki/kp interpolation
* Remove unused numbers import
* Fixed acceleration issue caused by used of both "Community Maintain Feature" and "Custom Car Model". (Special Thanks to @Wei, @Sky Chang, @Han9365, @鄧育林)
* 新增 DragonMaxSpeedLimit 設定值 (mph),當如果車速高於此值 op 將會停止操控。(感謝 @Anthony 建議)
* Added DragonMaxSpeedLimit parameter (mph), op will stop controlling when car speed is high than the value. (Thanks to @Anthony)
* 更新 appd 使用 cnpmjs 來下載 APKs。
* Updated appd to use cnpmjs to download APKs.
* 修正更新服務。(感謝 @Wei)
* Fixed Update Service. (Thanks to @Wei)
* 新增加拿大版 2018 Toyota Sienna LTD 指紋(v2)。(感謝 明峰 提供)
* Added Canada 2018 Toyota Sienna LTD fingerprint (v2). (Thanks to 明峰)
* 新增「通過移動網路上傳」開關
* Added Upload Over Mobile Network toggle.
* 新增「通過熱點上傳」開關
* Added Upload Over Hotspot toggle.
* 新增加拿大版 2018 Toyota Sienna LTD 指紋(v1)。(感謝 明峰 提供)
* Added Canada 2018 Toyota Sienna LTD fingerprint (v1). (Thanks to 明峰)
@@ -14,15 +14,15 @@ Most open source development activity is coordinated through our [Discord](https
### Local Testing
You can test your changes on your machine by running `run_docker_tests.sh`. This will run some automated tests in docker against your code.
You can test your changes on your machine by running `run_docker_tests.sh`. This will run some automated tests in docker against your code.
### Automated Testing
All PRs are automatically checked by Github Actions. Check out `.github/workflows/` for what Github Actions runs. Any new tests sould be added to Github Actions.
All PRs are automatically checked by travis. Check out `.travis.yml` for what travis runs. Any new tests sould be added to travis.
### Code Style and Linting
Code is automatically checked for style by Github Actions as part of the automated tests. You can also run these tests yourself by running `pylint_openpilot.sh` and `flake8_openpilot.sh`.
Code is automatically check for style by travis as part of the automated tests. You can also run these yourself by running `check_code_quality.sh`.
## Car Ports (openpilot)
@@ -32,19 +32,9 @@ If you port openpilot to a substantially new car brand, see this more generic [B
## Pull Requests
Pull requests should be against the master branch. Before running master on in-car hardware, you'll need to clone the submodules too. That can be done by recursively cloning the repository:
Pull requests should be against the master branch. Before running master on in-car hardware, you'll need to run
```
git submodule init
git submodule update
```
The reasons for having submodules on a dedicated repository and our new development philosophy can be found in our [post about externalization](https://medium.com/@comma_ai/a-2020-theme-externalization-13b33326d8b3).
Modules that are in seperate repositories include:
* apks
* cereal
* laika
* opendbc
* panda
in order to pull down the submodules, such as `panda` and `opendbc`.
@@ -57,125 +57,102 @@ openpilot should preserve all other vehicle's stock features, including, but are
Supported Hardware
------
At the moment, openpilot supports the [EON DevKit](https://comma.ai/shop/products/eon-dashcam-devkit) and the [comma two](https://comma.ai/shop/products/comma-two-devkit). A [car harness](https://comma.ai/shop/products/car-harness) is recommended to connect the EON or comma two to the car. For experimental purposes, openpilot can also run on an Ubuntu computer with external [webcams](https://github.com/commaai/openpilot/tree/master/tools/webcam).
At the moment, openpilot supports the [EON DevKit](https://comma.ai/shop/products/eon-dashcam-devkit) and the [comma two](https://comma.ai/shop/products/comma-two-devkit). A [car harness](https://comma.ai/shop/products/car-harness) is recommended to connect the EON or comma two to the car. In the future, we'd like to support other platforms as well, like gaming PCs.
Supported Cars
------
| Make | Model (US Market Reference) | Supported Package | ACC | No ACC accel below | No ALC below |
<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](https://comma.ai).*** <br />
<sup>2</sup>2019 Honda Civic 1.6L Diesel Sedan does not have ALC below 12mph. <br />
<sup>3</sup>When disconnecting the Driver Support Unit (DSU), openpilot ACC will replace stock ACC. For DSU locations, see [Toyota Wiki page](https://community.comma.ai/wiki/index.php/Toyota). ***NOTE: disconnecting the DSU disables Automatic Emergency Braking (AEB).*** <br />
<sup>4</sup>28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control. <br />
<sup>1</sup>Requires a [panda](https://comma.ai/shop/products/panda-obd-ii-dongle) and open sourced [Hyundai giraffe](https://github.com/commaai/neo/tree/master/giraffe/hyundai), designed for the 2019 Sante Fe; pinout may differ for other Hyundai and Kia models. <br />
<sup>2</sup>28mph for Camry 4CYL L, 4CYL LE and 4CYL SE which don't have Full-Speed Range Dynamic Radar Cruise Control. <br />
<sup>3</sup>Requires a [custom connector](https://community.comma.ai/wiki/index.php/Volkswagen#Integration_at_R242_Camera) for the [car harness](https://comma.ai/shop/products/car-harness) <br />
Community Maintained Cars and Features
------
| Make | Model (US Market Reference) | Supported Package | ACC | No ACC accel below | No ALC below |
<sup>1</sup>Requires a [panda](https://comma.ai/shop/products/panda-obd-ii-dongle) and [community built giraffe](https://zoneos.com/volt/). ***NOTE: disconnecting the ASCM disables Automatic Emergency Braking (AEB).*** <br />
<sup>2</sup>Requires a [panda](https://comma.ai/shop/products/panda-obd-ii-dongle) and open sourced [Hyundai giraffe](https://github.com/commaai/neo/tree/master/giraffe/hyundai), designed for the 2019 Sante Fe; pinout may differ for other Hyundai and Kia models. <br />
<sup>3</sup>Requires a [custom connector](https://community.comma.ai/wiki/index.php/Volkswagen#Integration_at_R242_Camera) for the [car harness](https://comma.ai/shop/products/car-harness) <br />
Although it's not upstream, there's a community of people getting openpilot to run on Tesla's [here](https://tinkla.us/)
<sup>4</sup>When disconnecting the Driver Support Unit (DSU), openpilot ACC will replace stock ACC. For DSU locations, see [Toyota Wiki page](https://community.comma.ai/wiki/index.php/Toyota). ***NOTE: disconnecting the DSU disables Automatic Emergency Braking (AEB).*** <br />
<sup>5</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](https://comma.ai).*** <br />
<sup>6</sup>Requires a [panda](https://comma.ai/shop/products/panda-obd-ii-dongle) and [community built giraffe](https://zoneos.com/volt/). ***NOTE: disconnecting the ASCM disables Automatic Emergency Braking (AEB).*** <br />
Community Maintained Cars and Features are not verified by comma to meet our [safety model](SAFETY.md). Be extra cautious using them. They are only available after enabling the toggle in `Settings->Developer->Enable Community Features`.
To promote a car from community maintained, it must meet a few requirements. We must own one from the brand, we must sell the harness for it, has full ISO26262 in both panda and openpilot, there must be a path forward for longitudinal control, it must have AEB still enabled, and it must support fingerprinting 2.0
Installation Instructions
------
Install openpilot on an EON or comma two by entering ``https://openpilot.comma.ai`` during the installer setup.
Install openpilot on a EON by entering ``https://openpilot.comma.ai`` during the installer setup.
Follow these [video instructions](https://youtu.be/3nlkomHathI) to properly mount the device on the windshield. Note: openpilot features an automatic pose calibration routine and openpilot performance should not be affected by small pitch and yaw misalignments caused by imprecise device mounting.
Follow this [video instructions](https://youtu.be/3nlkomHathI) to properly mount the EON on the windshield. Note: openpilot features an automatic pose calibration routine and openpilot performance should not be affected by small pitch and yaw misalignments caused by imprecise EON mounting.
Before placing the device on your windshield, check the state and local laws and ordinances where you drive. Some state laws prohibit or restrict the placement of objects on the windshield of a motor vehicle.
@@ -193,7 +170,7 @@ Many factors can impact the performance of openpilot ALC and openpilot LDW, caus
* Poor visibility (heavy rain, snow, fog, etc.) or weather conditions that may interfere with sensor operation.
* The road facing camera is obstructed, covered or damaged by mud, ice, snow, etc.
* Obstruction caused by applying excessive paint or adhesive products (such as wraps, stickers, rubber coating, etc.) onto the vehicle.
* The device is mounted incorrectly.
* The EON is mounted incorrectly.
* When in sharp curves, like on-off ramps, intersections etc...; openpilot is designed to be limited in the amount of steering torque it can produce.
* In the presence of restricted lanes or construction zones.
* When driving on highly banked roads or in presence of strong cross-wind.
@@ -213,7 +190,7 @@ Many factors can impact the performance of openpilot ACC and openpilot FCW, caus
* Poor visibility (heavy rain, snow, fog, etc.) or weather conditions that may interfere with sensor operation.
* The road facing camera or radar are obstructed, covered, or damaged by mud, ice, snow, etc.
* Obstruction caused by applying excessive paint or adhesive products (such as wraps, stickers, rubber coating, etc.) onto the vehicle.
* The device is mounted incorrectly.
* The EON is mounted incorrectly.
* Approaching a toll booth, a bridge or a large metal plate.
* When driving on roads with pedestrians, cyclists, etc...
* In presence of traffic signs or stop lights, which are not detected by openpilot at this time.
@@ -231,13 +208,13 @@ The list above does not represent an exhaustive list of situations that may inte
Limitations of openpilot DM
------
openpilot DM should not be considered an exact measurement of the alertness of the driver.
openpilot DM should not be considered an exact measurements of the status of alertness of the driver.
Many factors can impact the performance of openpilot DM, causing it to be unable to function as intended. These include, but are not limited to:
* Low light conditions, such as driving at night or in dark tunnels.
* Bright light (due to oncoming headlights, direct sunlight, etc.).
* The driver's face is partially or completely outside field of view of the driver facing camera.
* The driver face is partially or completely outside field of view of the driver facing camera.
* Right hand driving vehicles.
* The driver facing camera is obstructed, covered, or damaged.
@@ -259,7 +236,7 @@ Safety and Testing
----
* openpilot observes ISO26262 guidelines, see [SAFETY.md](SAFETY.md) for more detail.
* openpilot has software in the loop [tests](.github/workflows/test.yaml) that run on every commit.
* openpilot has software in the loop [tests](run_docker_tests.sh) that run on every commit.
* The safety model code lives in panda and is written in C, see [code rigor](https://github.com/commaai/panda#code-rigor) for more details.
* panda has software in the loop [safety tests](https://github.com/commaai/panda/tree/master/tests/safety).
* Internally, we have a hardware in the loop Jenkins test suite that builds and unit tests the various processes.
@@ -286,15 +263,15 @@ Directory Structure
------
.
├── apk # The apk files used for the UI
├── cereal # The messaging spec and libs used for all logs
├── cereal # The messaging spec and libs used for all logs on EON
├── common # Library like functionality we've developed here
├── installer/updater # Manages auto-updates of openpilot
├── opendbc # Files showing how to interpret data from cars
├── panda # Code used to communicate on CAN
├── phonelibs # Libraries used on NEOS devices
├── pyextra # Libraries used on NEOS devices
├── phonelibs # Libraries used on EON
├── pyextra # Libraries used on EON
└── selfdrive # Code needed to drive the car
├── assets # Fonts, images, and sounds for UI
├── assets # Fonts and images for UI
├── athena # Allows communication with the app
├── boardd # Daemon to talk to the board
├── camerad # Driver to capture images from the camera sensors
@@ -308,7 +285,7 @@ Directory Structure
├── modeld # Driving and monitoring model runners
├── proclogd # Logs information from proc
├── sensord # IMU / GPS interface code
├── test # Unit tests, system tests and a car simulator
├── tests # Unit tests, system tests and a car simulator
└── ui # The UI
To understand how the services interact, see `cereal/service_list.yaml`.
@@ -327,8 +304,3 @@ NO WARRANTY EXPRESSED OR IMPLIED.**
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
CM_ SG_ 576 LINE_DISTANCE_VISIBLE "Length of line visible, undecoded";
CM_ SG_ 577 LINE_FAR_EDGE_POSITION "Appears to be a measure of line thickness, indicates location of the portion of the line furthest from the car, undecoded";
CM_ SG_ 577 LINE_PARAMETER "Unclear if this is low quality line curvature rate or if this is something else, but it is correlated with line curvature, undecoded";
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
CM_ SG_ 576 LINE_DISTANCE_VISIBLE "Length of line visible, undecoded";
CM_ SG_ 577 LINE_FAR_EDGE_POSITION "Appears to be a measure of line thickness, indicates location of the portion of the line furthest from the car, undecoded";
CM_ SG_ 577 LINE_PARAMETER "Unclear if this is low quality line curvature rate or if this is something else, but it is correlated with line curvature, undecoded";
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
CM_ SG_ 576 LINE_DISTANCE_VISIBLE "Length of line visible, undecoded";
CM_ SG_ 577 LINE_FAR_EDGE_POSITION "Appears to be a measure of line thickness, indicates location of the portion of the line furthest from the car, undecoded";
CM_ SG_ 577 LINE_PARAMETER "Unclear if this is low quality line curvature rate or if this is something else, but it is correlated with line curvature, undecoded";
CM_ SG_ 479 AEB_STATUS "set for the duration of AEB event";
CM_ SG_ 479 AEB_BRAKING "set when braking is commanded during AEB event";
CM_ SG_ 479 AEB_PREPARE "set 1s before AEB";
CM_ SG_ 576 LINE_DISTANCE_VISIBLE "Length of line visible, undecoded";
CM_ SG_ 577 LINE_FAR_EDGE_POSITION "Appears to be a measure of line thickness, indicates location of the portion of the line furthest from the car, undecoded";
CM_ SG_ 577 LINE_PARAMETER "Unclear if this is low quality line curvature rate or if this is something else, but it is correlated with line curvature, undecoded";
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.