Skip to content
martinl edited this page May 29, 2023 · 7 revisions

TODO v2.0

Use SnG as a proof of concept for UDS stuff on Subaru, and flush out what we will need to do for getting keys for all gen2 cars Refactor gen1 long to be detached from stock cruise state (which is already useful, to prevent the laggy speed indicator seen here: ⁠subaru⁠ Gen2 can then use the same logic as gen1, except reading the buttons over UDS

v1.0

Openpilot Subaru Stop and Go feature enables automatic ACC resume when car in front starts moving. Engaging ACC while car is stopped and there is no lead car is disabled.

Electric parking brake models

If there is car in front, car is stopped and ACC is in Hold, wait until distance to car in front starts increasing and then send Throttle Throttle_Pedal signal to Eyesight to resume ACC.

Manual parking brake models

If there is car in front and car is stopped for more than 0.5 seconds (before first ACC state transition) then send Brake_Pedal Speed signal to Eyesight to avoid ACC disengage until distance to car in front starts increasing.

Note: Manual parking brake method currently works only for supported Global Platform models and is experimental (needs more testing).

Github

Test branches

TODO

  • automatic EPB/MPB detection, currently requires toggle in openpilot menu

Signals

Preglobal

  • enabled
  • CS.car_follow
  • CS.out.standstill
  • CS.close_distance
  • Throttle Throttle_Pedal (EPB)

Global

  • enabled
  • CS.car_follow
  • CS.cruise_state
  • CS.close_distance
  • Throttle Throttle_Pedal (EPB)
  • Brake_Pedal Speed (MPB)

Supported models

  • Ascent 2019-2020
  • Forester 2017-2021
  • Crosstrek 2018-2020
  • Impreza 2017-2020
  • Legacy 2015-2019
  • Levorg 2016
  • Outback 2015-2019
  • WRX 2018

Not supported models

  • Crosstrek Hybrid 2020 - Throttle_Hybrid message is on can1, Throttle message on can0 is not used
  • Outback 2020 - Throttle message is on both can0 and can1, does not react to message sent only on can0

Clone this wiki locally