Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GM: LKA dashboard icon support #389

Merged
merged 3 commits into from
Oct 13, 2018
Merged

Conversation

vntarasov
Copy link

@vntarasov vntarasov commented Oct 8, 2018

Shows LKA icon on the dashboard when Openpilot is actively steering:

  • No icon when steering unavailable (under 7 MPH on Volt) or EPS is not accepting commands (e.g. if bugs are introduced in future).
  • Green icon when EPS acknowledges LKA is active
  • Yellow icon when LKA command is at 90% of the torque limit

Also takes care of "Service Front Camera" message, with LKA status serving as a keep-alive message for the camera.

pr lka

Copy link
Contributor

@pd0wm pd0wm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

When tested by a few people I will merge it.

# Conveniently, sending camera message periodically also works as a keepalive.
lka_active = CS.lkas_status == 1
lka_critical = abs(actuators.steer) > 0.9
lka_icon_status = lka_active + (int(lka_critical) << 1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would change this into a tuple (lka_active, lka_critical).

@CryptoKylan
Copy link

Tested. Works well for 2018 gm acadia. No service camera msg

@kishkaru
Copy link
Contributor

kishkaru commented Oct 8, 2018

Tested on 2018 Volt: 1) No service front cam message, 2) Green LKA icon active when OP engaged above 7mph, 3) LKA icon slowly blink orange when steering limit exceeded.

However:

  1. Once I got a red "Take control immediately - SOLUTION PLANNING ERROR" message, along with OP disengaged while going around a sharp corner.
  2. LKA light doesn't blink orange when changing lanes, even though OP shows the "steering limit exceeded" message.
  3. Occasionally, OP doesn't chime when disengaging when the driver applies throttle. Especially noticeable when disengaging from a stop (disengaging from auto-resume).

@vntarasov
Copy link
Author

vntarasov commented Oct 9, 2018

@pd0wm, addressed the feedback, tested on the road as well.
Re: 3) from @kishkaru, chimes through Panda bitbang were not 100% reliable in the past as well. There is a possibility sending one more low-speed GMLAN message makes it worse.

@Aryeh95
Copy link

Aryeh95 commented Oct 9, 2018

Drove about 4 hours with this today and it seems to work well.
I like the orange icon as a warning for torque limit (I get it also when switching lanes, so hopefully that's fixed soon)

@MiDe84
Copy link

MiDe84 commented Oct 12, 2018

Currently using this PR on a 2017 Volt. It’s working great! Got rid of the annoying service camera message and being able to have the LKA light let me know what’s going on has been very helpful.

@tylergets
Copy link

Working on 2017 Malibu

@rbiasini
Copy link
Contributor

seems good to go. @kishkaru, worth digging more into 2) and 3), while 1) should have nothing to do with this change.

@rbiasini rbiasini merged commit c499aa5 into commaai:devel Oct 13, 2018
@vntarasov vntarasov deleted the gm-lka-icon branch October 15, 2018 02:07
emmertex pushed a commit to emmertex/openpilot that referenced this pull request Oct 23, 2018
* GM: LKA dashboard icon support

* Decrease camera keepalive interval

* Use tuple for LKA icon status
emmertex added a commit to emmertex/openpilot that referenced this pull request Oct 23, 2018
klaus385 pushed a commit to klaus385/openpilot that referenced this pull request Dec 31, 2018
* GM: LKA dashboard icon support

* Decrease camera keepalive interval

* Use tuple for LKA icon status
emmertex pushed a commit to emmertex/openpilot that referenced this pull request Jun 22, 2019
pd0wm pushed a commit that referenced this pull request Dec 14, 2019
a648cca Add os import
042562d Extracted wifi connect from test helpers
ac0fd5d query fw versions example - use extended diagnostic session
4e9d788 Remove not-needed cadillac-init
f0a5d15 typo
c093286 Add bootkick after re-enabling phone power (#401)
eadb0db security upgrades (#397)
7c13bec Command to get signature (#399)
dad439a static assert on size of health packet (#398)
da9da46 Fix VERSION
df4159c Revert "Revert "Register readback on most modules. Still need to convert the other ones (#396)""
56ec215 Revert "Register readback on most modules. Still need to convert the other ones (#396)"
893e486 Register readback on most modules. Still need to convert the other ones (#396)
6bbae7b VW safety: allow cancel spam on both buses to be compatible with camera and gateway integration
d5f7a28 bump panda
1bcc351 ignition_can: set it to False after 2s of not seeing CAN msgs
96137f1 VW can based ignition not needed. it has ignition line at camera as well.
1b004a1 Same flake8 version as the one in openpilot
e82ba5f Same pylint version as the one in openpilot
656f99b Interrupt refactor (NVIC_SM_1: #334) and Fault handling (#377) (PR #373)
000282e Fix can_logger.py to run correctly on python3 (#392)
7f9b4a5 Fix USB device enumeration on Windows 8.1 and Windows 10 (#393)
dec565c Update Misra test coverage, which now includes rule 2.7
fb6bc3b Fix Misra
878dd00 solve race condition is relay_malfunction right after changing the relay status by adding a counter
2d4cb05 add a safety mode counter
a6797a21 Implement USB power mode on uno
670f90c Merge branch 'master' of github.com:commaai/panda
ca39a5d Added faults integer to health packet
e1c34a1 Panda Jungle testing (#394)
2a093a3 Added heartbeat to echo test
2246435 Fixed health struct size. We should really get an automated test for this
f458d67 Add uptime counter to the health packet (#391)
1662481 enable CAN transcievers outside the set_safety_mode function, which is not related
a7c9874 bump panda ver
1192d93 Power saving refactor (#389)
d58d08f Fix Misra 17.8: can't mod function params
bc685ac Minor indent
a54b86c Failure of set_safety_mode falls back to SILENT. Failure to set silent results in hanging
597436d NOOUTPUT safety mode is now SILENT. NOOUTPUT still exists but keeps C… (#388)
d229f8d ESP forced off in EON build. this prevents ESP to be turned on when e… (#387)
8a044b3 forgot Hyundai: now also using make_msg
4f9c879 remove abunch of lines from safety regression tests by using common make_msg function
fb81414 mispelled word
57f5ef8 Fix misra: addr can't be more than 29 bits anyway
68ff501 typo
d5c772b Fixe Toyota message white-list
48197a9 Better masking for ELM mode
b8fe78c VW is also tested for safety replay
212d336 Safety Chrysler: Added cancel spam button check
d44b562 fix print in example
02d579a functional addr handling
6249a18 tx_hook shall have a white-list of messages (#381)
8138fc1 uds: handle function addrs and fw version query example
6626a54 Fixed python health api
b9b79e8 uds zero second timeout
e0de1a4 define ALLOW_DEBUG in safety tests
86dec4b Safety modes that violate ISO26262 requirements are not compiled in RELEASE build
e74ed93 safety tests a bit more simplified
2027765 relay malfunction test centralized
8af1a01 clean up safety tests
e8f7a3b upd panda
cfcce8f WIP: Relay malfunction (#384)
69d9d61 No tabs in mazda safety
a86418c insignificant changes
f239b99 single addr was better
d063a18 Hyundai safety: re-enable button spam safety check
4d1edc0 skip tx_hook if a message is forwarded (#379)
df2ff04 bump version
168461d added fault state to health packet
b3e1a13 uds: better debug prints
68c39fb uds: no need for threads if you always drain rx
91b7c5b bump Panda Ver
26cb4dc Fixed pylint error
32725cc Fixed misra compliance
e33b4be Added echo script
312ba62 minor comment cleanupo
e90897a Fix board detection on white
0e72c18 always stop executing if safety mode fails to be set (suggested by jyoung8607)
e8d7ed1 Rename function name to not confuse safety_set_mode and set_safety_mode
ff86db6 improve uds message processing
512ab3f except Exception
37ce507 py3 all
bac4d85 dos and python3
501db8d uds drain before send and use has_obd()
f2cbec1 Added has_obd() to python library
48e5b18 Add SDK downloading to the build step (#314)
e0762c2 Add Python & USB API for controlling phone power (#313)
ba9fb69 New health packet struct also in the python libs

git-subtree-dir: panda
git-subtree-split: a648cca
dragonpilot pushed a commit to dragonpilot-community/dragonpilot that referenced this pull request Apr 7, 2020
* GM: LKA dashboard icon support

* Decrease camera keepalive interval

* Use tuple for LKA icon status
Vaggysag pushed a commit to Vaggysag/openpilot that referenced this pull request Apr 21, 2020
* Exit power saving also for CAN based ingition detection and replace interrup with simple state machine. a bit of delay it's fine

* bug fixes and also CDP set on start

* sorry misra

* move comment

* typo

* remove ignition interrupts

* Power saving state machine should be done by boardd, which also sets safety modes and usb power modes

* typo

* Added usb command for power save state setting

* Added power save enabled packet

* Added power_save_enabled to python lib too
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants