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

Chevy Volt Setup Instructions #104

Closed
wants to merge 0 commits into from
Closed

Conversation

vntarasov
Copy link

@vntarasov vntarasov commented Jun 14, 2017

driving

Demo

https://www.youtube.com/watch?v=IYa5vQQEX2w

Supported Cars

Chevy Volt 2017 Premier with Adaptive Cruise Control package

Recommended Setup

a) EON running latest release of openpilot.
b) Panda is plugged into OBDII port. All types of pandas are supported. For a nicer looking setup, route the USB cable from EON to Panda through the left pillar and behind the headliner. You may have to use a short extension for the USB cable.
c) Radar power is controlled manually. Don't forget to turn it off to not to drain Volt's 12v lead-acid battery.

  • Stay tuned with latest news and ask questions on the #volt slack channel.
  • Check out somewhat nicer installation guide with more pictures.
  • Pull fuse F19 located in the trunk, which will power off adaptive cruise modules (as well as side alert system which will be turned back on at the end of the setup). This way ACC ECUs don't throw errors due to not seeing other modules.
  • Remove the front camera module outer cover, and unplug the module. Leave rear view mirror and camera module itself as-is, no need to remove those.
  • Manufacture 12-pin Molex 34825 plug to manually control the radar power. On the adapter, short pins 5&7, and 6&8 (CAN_H "high" shorted to another CAN_H, same for CAN_L "low") to keep continuity of the "object detection" CAN bus, and pins 3&9 to provide power to the radar. Feel free to make 3&9 connection through a rocker switch, for convenience.
    • pin - description
    • 1 - ground
    • 2 - not connected
    • 3 - +12v power
    • 4 - not connected
    • 5 - object detection CAN high, can_h
    • 6 - object detection CAN low, can_l
    • 7 - object detection CAN high, can_h
    • 8 - object detection CAN low, can_l
    • 9 - +12v radar power
    • 10 - not connected
    • 11 - single-wire GMLAN
    • 12 - not connected
  • Pull out the interior panel to the left of rear seats. Locate the adaptive cruise control module, right behind the storage compartment, and unplug the power connector.
  • Short pins 6&7, and 13&14 (CAN_H shorted to another CAN_H, same for CAN_L) on the unplugged harness, to keep continuity of the powertrain CAN bus. Never drive your Volt without continuity of powertrain CAN!
  • Don't unplug the other connector, to preserve the continuity of CAN buses on the second connector. If it's too inconvenient to keep it plugged in, short pins 1&2, 3&4&6, 9&10 and 11&12&14 (CAN_H shorted to another CAN_H, same for CAN_L) on the unplugged harness, to keep continuity of the chassis and object CAN buses. Never drive your Volt without continuity on all CAN buses!
  • Plug fuse F19 back in. Note that you will see "Service adaptive cruise control" message on the dashboard if EON is unplugged.

Limitations

  • Openpilot must be engaged with pressing "set/-" button while going above 15 MPH. After that and until car is restarted, openpilot can be with "res/+" button at any speed (or with "set/-" above 15 MPH). In other words, PCM needs to be put in adaptive cruise control mode first.
  • In a stop-and-go traffic, if Volt comes to a full stop, press "res/+" button to take off. Otherwise Volt will still start moving (slowly), but PCM won't allow openpilot to accelerate.
  • Lane keep is unavailable while driving under 10 KPH (about 7 MPH).
  • Lane keep torque is limited. Expect to have to take over on curvy highway stretches.

@vntarasov
Copy link
Author

Longer demo videos:
https://youtu.be/4uDdqODCX0s - 6 minutes and two disengagements, for off-ramps
https://youtu.be/HltIRXw_Ql4 - 5 minutes

@davedave1234
Copy link

This is awesome, thanks for all the effort. I was wondering how it does in stop and go traffic? Most of my 45 mile drive to downtown Miami is stop and go mostly straight but a few turns. I have been looking at the Volt and wanted a little more autonomous support and this may be enough to have me buying one sooner than later.

Thanks again,
Dave

@linagee
Copy link

linagee commented Jun 17, 2017

Hopefully this helps someone. Additional parts required for @vntarasov board above: (all parts from existing Neo Digikey order and also these below)

VOLT_S / CAR_ON (x2) D1/D2 - 3.3V zener diode, SOD-323? (DIO-11284?) digikey: ???

U6 - VN7140 (8 pin) digikey: 497-15994-1-ND
U5 - NCV7356 (8 pin) digikey: NCV7356D1R2GOSCT-ND

L1 - 47uH "1007" digikey: 587-2443-1-ND

R16 - 6.49kohm 0603
R17 - 1kohm 0603
R18 - 1kohm 0603

C19 - 100nF 0603
C20 - 100pF 0603
C21 - 100pF 0603

I haven't put the digikey numbers for the caps and resistors because they are just normal parts, might update that later.

Also, no idea what diode should be used? Any recommendations vntarasov?
Also, please correct me if I'm wrong on any of the parts above, anyone should consider this list untested for now.

@vntarasov
Copy link
Author

Thanks @linagee! I suggest a different L1. To survive in case of a short-circuit of output to ground, L1 preferably should be at least 350mA (NCV7356's overcurrent protection guarantee).

@linagee
Copy link

linagee commented Jun 18, 2017

I've replaced the L1 above with digikey: 587-2443-1-ND, current rating: 300mA, current saturation: 410mA.

(Other choices that fit the footprint were:
digikey: 587-3060-1-ND rating: 290mA, current saturation: 240mA
digikey: 587-2191-1-ND rating: 420mA, current saturation: 110mA
digikey: 587-2443-1-ND rating: 300mA, current saturation: 410mA
)

@geohot
Copy link
Contributor

geohot commented Jun 19, 2017

Thank you for submitting this! I guess my message from LA didn't post, was out of office last week. I have locked the bounty while we work to upstream. Hoping to rent a car this week and test.

Questions:

  1. I'm seeing 4 CAN buses here, any way to get away with 3? Would like to do it with one Panda, or a Panda + minimal external hardware. (this is by no means a bounty dealbreaker if we can't)
  2. Is the GMLAN accessible from the OBD port? Pin 1?
  3. Is the object detection bus accessible from OBD? If not, how do I access it?

For the code to be upstreamed, we need the board to provide safety as well. (block messages when not engaged). See https://github.com/commaai/panda/blob/master/board/honda_safety.h for a template.

On another note, we are finally getting some good quality candidates for our firmware position. So once we hire, expect the quality of the board code to increase. We know it's bad...


self.steer_override = False

self.steer_error = False
Copy link
Contributor

Choose a reason for hiding this comment

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

Do steering and braking ever have errors? Like do they ever not listen to commands? Need seatbelt and doors as well.

Copy link
Author

Choose a reason for hiding this comment

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

Sometimes EPS ignores commands (plus it always ignores LKAS commands below about 8mph). Workaround is to re-engage. I haven't figured out yet where the EPS reports this error.

Choose a reason for hiding this comment

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

So am I correct in saying this solution is good from 8-10 MPH up and not currently usable below that? Over 1/2 of my drive is stop and go so I would need something that at the very least can still do the ACC at low speeds then take over steering as I accelerate.

Choose a reason for hiding this comment

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

ACC can be controlled up to 0 km/h while the steering can't be controlled below 10km/h. So the solution is probably to deactivate automatically the steering control below that speed or install a gateway between the EPS and the rest of the car to modify the speed signal sent over CAN if you really want to keep the functionality below 10 km/h.

Choose a reason for hiding this comment

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

Thanks for the reply, both would be acceptable options but ultimately support down to 0 would be my preferred solution. Something to think about for the future. Once this is tested and support "officially" added I will be ordering my Volt.


# steering wheel
ret.steeringAngle = self.CS.angle_steers
ret.steeringPressed = self.CS.steer_override
Copy link
Contributor

Choose a reason for hiding this comment

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

This is always being set to False. We need the timer to reset when the user uses the steering wheel.

@vntarasov
Copy link
Author

@geohot, I'm excited to see the Volt/Bolt bounty locked :)

Forgot about the board. Will do. Openpilot of course will not engage until board's state machine reports "controls allowed".

  1. GMLAN required to ship, should be possible to test without it. TL;DR Port uses low-speed GMLAN for tracking steering wheel buttons, chimes, getting current car speed and other car-state stuff. It should be possible to get speed from other CAN buses, so you could test driveability with just 3 high-speed CANs.

  2. Yes, Panda can talk to it. Port also needs object detection bus at the same time (OBDII pins 3&11). Is that what Panda multiplexing change was about?

  3. it's the same bus on the mirror/mobileye connector and OBDII port pins 3&11.

@TheMutley
Copy link

TheMutley commented Jun 19, 2017

The SW GMLAN is actually not required at all to use it with Openpilot on a second gen Volt. All of the info you use from the SW GMLAN is available on the other CAN buses (mainly the Powertrain and Chassis/Object). The only thing I haven't seen anywhere on the others HS buses is the beep/chime command which seem to be only available on the SW GMLAN. I've a Panda as gateway only for this particular signal.

This port should probably be renamed as GM Global A as their intent is to have a superset architecture that cover all possibles cases of options for any vehicles using this architecture. For example, the message to control the steering is the same in the Bolt when I checked couple of months ago. It also mean that once this port is completed, it not only open up the Volt but the vast majority of the 2010+ GM products that has LKA/ACC as an OEM options. It also mean that since it's easy enough to reprogram all nodes that are not in LKA/ACC mode in a car not equipped with LKA/ACC but for which theses options were available, it could be reprogrammed with the right firmware and unlock the possibility to control them in an LKA/ACC fashion with Openpilot. It would also require retrofitting an OEM or an aftermarket radar. This should be confirmed with logs from couple of models that offer the same equipment as the Volt (ELR, XTS, ATS, SRX Escalade ,Malibu, Impala etc..)

@linagee
Copy link

linagee commented Jun 20, 2017

Assuming your Volt Premier Gen2 has feature codes: - = must not have, + = must have, check passenger glove compartment for feature code list label
-UHY +UGN +UEU +UHX
You can also know if you have the "Driver Confidence Package 1 and 2". (Only important if you're looking to see if the Front Camera is there and the Front Radar is there.)

Front Camera Port:
(Plastic cover should unsnap, camera module should be held in with no screws just plastic tabs)
connector P/N: 34824-1124 (car side)
connector P/N: 34825-0124 (camera or device side)

1 - Ground
2 - NC
3 - +12V
4 - (Lane Departure Warning Indicator Control? Maybe just Ignore?)
5 - Object CAN bus (+) 500kbit/sec
6 - Object CAN bus (-) 500kbit/sec
7 - Object CAN bus (+) 500kbit/sec
8 - Object CAN bus (-) 500kbit/sec
9 - Front Radar Enable (*I believe this would be RADAR_PWR on @vntarasov board*)
10 - NC
11 - Low Speed GMLAN 33kbit/sec
12 - NC

5 and 7 must be tied together, 6 and 8 must be tied together.

The Front Radar, Front Camera (5&7 and 6&8 bridge), OBD2 port (w/Panda doing forwarding), and Active Safety Control Module (6&7 and 13&14 bridge) are the only things on the Object CAN bus.


OBD2 Port:

1 - Low Speed GMLAN 33kbit/sec
2 - NC
3 - Object CAN bus (+) 500kbit/sec
4 - Ground
5 - Ground
6 - High Speed Powertrain CAN bus (+) 500kbit/sec
7 - NC
8 - NC
9 - NC
10 - NC
11 - Object CAN bus (-) 500kbit/sec
12 - Chassis CAN bus (+) 500kbit/sec
13 - Chassis CAN bus (-) 500kbit/sec
14 - High Speed Powertrain CAN bus (-) 500kbit/sec
15 - NC
16 - +12V

As you can see, there are four buses total and they can all be accessed from the OBD2 port to the lower left of the steering wheel. (1 low speed GMLAN/CAN bus, 3 high speed CAN buses) The low speed bus is Single-Wire CAN and the high speed CAN buses are all differential pairs.

Object and Chassis CAN busses typically get a copy of Powertrain CAN bus packets, but the opposite direction is not quite (or ever?) true.

@TheMutley
Copy link

@linagee : There's a typo for the OBD2 connector : pin 13 is chassis CAN LOW (-)

@geohot
Copy link
Contributor

geohot commented Jun 20, 2017

This is perfect. I suspect we can even bitbang the GMLAN chime from the MCU without using a CAN. Very exciting if they are all on the OBD port!

I imagine the camera is sending these packets normally. Is there a way to stop it sending packets without unplugging it? Would be amazing if we could control GM through only the OBD port.

@TheMutley
Copy link

@geohot : according to the FSM, the Object CAN will be inaccessible from the OBD2 port (pins 3/11) if the front camera is unplugged as the splice to the front radar goes through this device (dual pinout). It should also be noted that if the Active Safety Module is unplugged, there will be one missing CAN termination resistor on the network. A 120 ohms resistors should be added at the other end of the Object CAN network.

@geohot
Copy link
Contributor

geohot commented Jun 20, 2017

So on Honda, there's diagnostic commands to disable certain modules sending commands. The ideal is that the panda will disable the stock modules in software.

The dream:

  1. Plug in panda to OBD
  2. Plug in NEO to panda
  3. Drive!

@vntarasov

  1. Would be great if it's just the chime send on GMLAN. Then the panda has 3 HS CANs and we could write a software only GMLAN solution.
  2. The multiplexing change allows GMLAN to replace either CAN2 or CAN3 instead of just CAN2.

@TheMutley
Copy link

That was my ultimate goal, one panda in the OBD2 port with a long USB cable to the NEO. I also have the 5V version of fan in the NEO to be driven by the 5V from the Panda. We could spend more time to find a way to get the chime to work from the PT CAN, I'm pretty sure it's achievable and it's worth the time spent if we could get a clean solution with only a Panda and nothing else required.

@linagee
Copy link

linagee commented Jun 20, 2017

My dream is doing it all through the Front Camera plug. Depending on whether the Front Camera module is sending steering packets or whether it's just sending everything to the Active Safety Control Module (along with the front radar data) determines if this is possible or not. @vntarasov is telling me that's not possible so I'm likely going to go with a two board solution to emulate what he has working. (Panda seems less convenient for me because of it's limited availability / limited open sourceness.)

(@TheMutley typo fixed, thanks for pointing that out.)

@GregHans
Copy link

Wow! Nice work..
I've been poking around on the 3 CAN busses on my Volt Premier w/ACC on and off for the last 10 months.. Initially just looking for battery stats but recently looking more into the Mobileye system.
I've isolated a number of messages present on my car that are not on a neighbor's LT... @vntarasov , does your Premier have factory ACC? I'm totally new to this Neo platform but it looks pretty cool. Looks like much of the code is trying to do ACC with a vision system? Nice catch on the 0x180 msg on the drivetrain bus.. Where is this coming from? Looks like the camera is on the object bus (along with the ESR). What about the other sensors (rear quarter radars and sonars)? Have you isolated all the messages coming from the Mobileye? I guess the controller in the rear of the vehicle is taking the object bus messages and creating the 0x180 on drivetrain? Sorry for all the questions.. If there's any data you want me to dig up on my car, let me know.. -Greg

@linagee
Copy link

linagee commented Jun 21, 2017

Re: Chime
I'm not that familiar with the Neo (and how it works with other cars), but can't you just chime out of the phone's speaker? :-) (If this is the only reason to tie to GMLAN / only reason to have a custom board, custom chip, etc.)

(Assuming the steering wheel buttons can be accessed from other buses as @TheMutley said.)

@vntarasov
Copy link
Author

Hi @GregHans . Re: "where is it coming from?" - you can use two CAN transceivers of the Neo board to man-in-the-middle any ECU, to see what's sent and what is received.
Advanced driver safety module receives messages from both mobileye and radar (on object detection bus), and controls the car on other buses (powertrain and chassis).
Could you please find the "user-applied torque" value from EPS, or maybe "user intervention" enent (if torque itself is not sent)? Also, could you please dig for "EPS error" message? Easy way to get into state where EPS stops responding to commands is to slow down below 10kmh.

@vntarasov
Copy link
Author

vntarasov commented Jun 22, 2017

@geohot , what would be the best way to go about car-adaptive board safety code?
I propose:

  • fingerprinting a car results in a command/event sent to boardd
  • boardd makes a car-specific USB control request, "board, you are plugged into Volt/Honda/etc"
  • microcontroller board's safety hook is assigned a function for the given car (compiled into firmware, at least for now)

Wanted to get your opinion / implementation strategy before jumping into coding. What would an elegant enough way for common/fingerprints.py logic to configure the neo board?

@geohot
Copy link
Contributor

geohot commented Jun 22, 2017

That sounds good to me. boardd could proxy a control request from fingerprints.

(btw, check out commaai/panda#16, this is how we move away from boardd eventually)

@TheMutley
Copy link

TheMutley commented Jun 22, 2017

Re: fingerprinting, I think we should use the VIN for cars that broadcast it on the PT CAN since the way it's actually done could end up not fingerprinting the car if a new UDS call is done upon startup and send a new CAN ID that was not used in the fingerprint of the car. I've been using this code for my port :

   # CHEVROLET VOLT VIN IDENTIFICATION : CAN 1 , address 0x514,  Beginning of VIN should be G1RB6S58 
    if can.address == 0x514 and can.src == 0 and can.dat == "G1RB6S58":
      ChevyVolt2017VIN = True

   # CHEVROLET BOLT VIN IDENTIFICATION : CAN 1 , address 0x514,  Beginning of VIN should be G1FX6S02 
    if can.address == 0x514 and can.src == 0 and can.dat == "G1FX6S02":
      ChevyBolt2017VIN = True

@TheMutley
Copy link

@vntarasov I have all the signals you need regarding the EPS and much more! I'm currently building a new Powertrain, Chassis, Object and GMLAN DBC (with the actual GMLAN bahavior in them) which will combine your findings and mine. I will post them this weekend after I verified everything.

@GregHans
Copy link

GregHans commented Jun 22, 2017

@TheMutley you have all the EPS traffic? @vntarasov I don't actually have a Neo board.. My hardware consists of a board I designed for a chademo quick charging project using two single CAN processors linked by UART so it's fine when the messages are known but can't really support the bandwidth for true man-in-the-middle testing. I've popped off the cover for the Mobileye.. If I unplug it and short the CAN pins through the connector I assume the car complains.. As long as it's not a permanent DTC I'll go and try it, but if you already have the complete Mobileye CAN traffic mapped that would save me the time. I suspect most of the traffic on the Object bus is from the ESR (I've used the Delphi ESR in other applications). It looks like 306/308 are from the vehicle (steering, speed)?? I'm looking specifically for the messages from Mobileye. I've ordered the shop manuals and would be happy to tap in anywhere for testing but might need to borrow a Neo or similar for true man-in-the-middle stuff. I'm in SoCal.

@TheMutley
Copy link

@GregHans : I have all the EPS traffic as I placed a gateway in-between the EPS and the rest of the car. All the EPS IDs are not all RE but the single most important one that unlock a true LKA is : the EPS error signals. With this, once you notice that it's giving an error , I've find out that you have to temporarily turn off the LKA control for a very short time and restart it. It's almost unnoticeable for the driver. On my setup , I have a special chime sound to let me know that it's currently being reset. With this , I can drive for a very long time without problems.

@GregHans
Copy link

Thanks @TheMutley .. I'm not exactly sure what you mean by the error signal.. Are you referring to the "keep your hands on the wheel" alarm? Is the steering angle reporting coming from EPS or a separate device (like on Prius)? If it's from the EPS, couldn't a gateway between EPS and th car just diddle the lower bits to make the car think hands are on the wheel? What are the IDs to/from EPS?

@TheMutley
Copy link

@GregHans error like in EPS setting a bit to warn that it no longer accept being controlled by the LKA command. This is triggered by the control algorithm in the EPS firmware to prevent weird or odd control request. I have not being able to pin point exactly on which type of signal form it's triggering this. It's probably not useful since we know when it's on/off and we just need to turn off the control momentarily. I just drove more than two consecutive hours , and with my current LKA control tuning , the chime to let me know that the EPS as detected an error probably went on 5 or 6 times. The tuning parameters for LKA are largely responsible for the EPS to go off. The more aggressive and responsive they are , the more frequent it will go off.

@GregHans
Copy link

@TheMutley ah.. Interesting. Good to know.. So you've identified the location of this EPS error bit? I think I might have seen this condition even with the stock LKA some times when I get into aggressive ping-ponging in the lane (a nice flat/straight 3 lane road near my house makes for good testing in early morning hours). I now have my display on the dash showing the PT 180 steer value so I can see what I'm feeling through the steering wheel... Pretty cool.

Btw, I unplugged the camera module without routing the CAN lines through and noticed from the OBD2 port that all msgs between 310 and 510 went away.. Are we sure the ESR is on the other side of the CAN bridge on the Mobileye connector? I assume 300-310 are from the vehicle projected on the object bus for the ESR.. They were present with the camera unplugged as well.. It seemed strange as lots of the 420-52f stuff looks like ESR target tracks (kinda) so I would have expected all of it to stay or go depending on which side of the camera connector the ESR is on. I should have my shop manuals in a few days then hopefully I'll see exactly how it's wired.

@GregHans
Copy link

Btw.. Slightly OT but has anyone found the battery current or SOC on the PT bus? I found the pack voltage on 186 and what I think are temperatures on 222..

@vntarasov
Copy link
Author

@Stormwind99, I hope it would work for 2016-2018 ACC Volts. I'll rename it to "CHEVROLET VOLT GEN2".

@XBS9
Copy link

XBS9 commented Dec 14, 2017

I’m so excited for this project, I have a 2017 Bolt EV Premier with LKA and emergency braking but as I’m sure you know there is no ACC option(2018 bolt doesn’t have ACC either) Since the car does detect the car in front can this be used to follow and maintain distance?

I just started using chffr and ordered a panda so I can contribute in that way for now, if I can help I wouldn’t mind ordering a EON but although I’m computer and car savvy the only coding I have done was some MS visual basics back when I was a kid in the late 90s :/

@vntarasov
Copy link
Author

@XBS9, unfortunately this PR won't be very useful for cars without ACC, unless you can get a custom firmware installed into PCM.

@XBS9
Copy link

XBS9 commented Dec 27, 2017

Thanks for the reply, hopefully it will at least be able to keep the car in the lane like the Model S guy, just won't be able to maintain distance. It would still be worth it, the Bolt OEM LKA is horrible.

@vntarasov
Copy link
Author

vntarasov commented Jan 6, 2018

This was v0.3.9 merge. To use it, disable submodule update to not to interfere with voltboard firmware.

@tedder
Copy link

tedder commented Feb 15, 2018

For lack of somewhere else to put it, having the Panda plugged in wreaked havoc on my gen2 sensors. ACC intermittently failed, it came back by unplugging the Panda. Park-assist didn't come back until the shop had to do a reset/relearn procedure after they talked to Detroit tech support.

screen shot 2018-02-15 at 11 52 09 am

@vntarasov
Copy link
Author

@tedder, which firmware was on the Panda? Any other alterations to the car besides plugged in Panda? Also, #panda or #volt slack channels could be a better place to post it.

@linagee
Copy link

linagee commented Feb 15, 2018

@tedder I've seen "Adaptive Cruise Temporarily Unavailable" randomly on my Volt Gen2 too many times also, but I haven't yet plugged in any pandas/comma.ai stuff. (https://www.google.com/search?q=Adaptive+Cruise+Control+Temporarily+Unavailable) Just pointing out it may or may not be related to installing a Panda.

@tedder
Copy link

tedder commented Feb 15, 2018

Yeah, I never updated the firmware, and am unwilling to go through this again :) Mostly putting here in case others experience it.

@mojtabacazi
Copy link

@vntarasov Do I still need to get a voltboard or just two Panda? Is there any tutorial how to flash panda?

@MarqueeMarc
Copy link

@here Has anyone verified or confirmed that the Volt code/port is compatible with the Cadillac ELR?

from . import gmcan


def actuator_hystereses(final_brake, braking, brake_steady, v_ego, civic):
Copy link
Contributor

Choose a reason for hiding this comment

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

@vntarasov , I would remove CIvic dependencies


cpt = self.rcp.vl[ii]
# Zero distance means it's an empty target slot
if cpt['TrkRange'] > 0.0:
Copy link
Contributor

Choose a reason for hiding this comment

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

isn't there a "new track" signal that tells you when the radar starts tracking a new object?
This is useful when the same targetId gets reassigned from an object to another, so we can correctly interpret jumps in vRel and dRel and reset the Kalman filter appropriately.

# More aggressive braking near full stop
NEAR_STOP_BRAKE_PHASE = 1.3 # m/s. ~3mph

# This is only a safety limit
Copy link
Contributor

Choose a reason for hiding this comment

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

how many m/s^2 does this correspond to?

# *** compute control surfaces ***
tt = sec_since_boot()
# Only a safety limit
GAS_MAX = 1024
Copy link
Contributor

Choose a reason for hiding this comment

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

how many m/s^2 does this correspond to?

geohot pushed a commit that referenced this pull request Apr 14, 2018
2253dd3 fix volt ign detect
3b299d7 add ignition and refactor
af9af6d Merge pull request #110 from Jamezz/volt
13e850e more correct
f295063 add new define to tests
fec9758 gate that with debug
5516ebf one more ifdef
cac7b31 only panda has float
938d474 fpu enable
ffbf0c7 cleaner
de30f27 Revert "need f to not be double"
4142acf need f to not be double
3eb15c8 refactor to share code
a4c8b64 change to O2 to fix make recover
711fd11 Enable compiler optimizations, fix things it breaks
2e6f774 block IPAS in main toyota safety mode
e7a2b3a add ipas tests
894572c fix tests
367c9ad add safety toyota ipas
95919b9 Bounty: panda high quality CAN autobaud (#96)
6557cd2 Toyota Safety: allow controls only on rising edge of cruise_engaged
02c1ddf Revert "added steer override check when IPAS is in control (#106)"
9f925ba Fix the merge mess
23d3833 Merge from comma upstream
a0cc51a Undo safety mode override
ea1c1dc make wlan interface name generic
6dbd8c9 Implement WebUSB and upgrade WinUSB to 2.0 (#107)
4fc83a5 Add safety hook for ignition and have GM use gear selector to determine ignition
52b2ac0 switch from travis to circleci
48e2374 build panda esp image
065572a circleci build stm image
7a1f319 add panda python package test and fix safety test
021dde7 move saftey test helper files into safety folder
ce0545f add ci files
6a3307c no LIN over ELM
7d21acb added steer override check when IPAS is in control (#106)
1c88caf Safety code testing (#104)
f4efd1f Merge pull request #101 from adhintz/master
c02618b Merge pull request #102 from quillford/master
1ba5f8a added link to wiki for user scripts
de2b19e add support for multiple buses to can_unique and can_bittransition output data in sorted order.

git-subtree-dir: panda
git-subtree-split: 2253dd3
@vntarasov vntarasov closed this Jun 24, 2018
@vntarasov vntarasov changed the title Bounty: Volt gen 2 support Chevy Volt Setup Instructions Jun 24, 2018
geohot pushed a commit that referenced this pull request Aug 2, 2018
d62ebdd Toyota: added chr hybrid. Honda: regenerated fit.
29e3247 This adds support for 8 Speed Auto Tranismission (#104)
ebfe5238 🚐 more chrysler pacifica signals (#84)
5023510 Honda Nidec: added wrong config radar value
563e3b5 Add 2018 Honda Fit EX F-CAN dbc (#100)

git-subtree-dir: opendbc
git-subtree-split: d62ebdd
rbiasini pushed a commit that referenced this pull request Aug 4, 2018
* Update README.md (#295)

Changed GM minimum speed for steer control

* Added 2014 pre-AP tesla (prior to Oct 28, 2014) (#303)

* Revert "Added 2014 pre-AP tesla (prior to Oct 28, 2014) (#303)" (#307)

This reverts commit e07853b.

* Squashed 'panda/' changes from 5c905b7..5570dac

5570dac Merge pull request #124 from AllWashedOut/patch-1
341e6d3 bumped panda version
98b71f3 Toyota safety: added support for camry and chr (#127)
ba8762d Toyota safety: vars and consts need 'toyota_' prefix
d8fc9ff Update tesla_tester.py
2a8c2c2 Strengthen VIN detection

git-subtree-dir: panda
git-subtree-split: 5570dac

* Squashed 'opendbc/' changes from 3741637..d62ebdd

d62ebdd Toyota: added chr hybrid. Honda: regenerated fit.
29e3247 This adds support for 8 Speed Auto Tranismission (#104)
ebfe5238 🚐 more chrysler pacifica signals (#84)
5023510 Honda Nidec: added wrong config radar value
563e3b5 Add 2018 Honda Fit EX F-CAN dbc (#100)

git-subtree-dir: opendbc
git-subtree-split: d62ebdd

* openpilot v0.5.1 release

* Spelling Correction (#316)
mespiritu pushed a commit to mespiritu/openpilot that referenced this pull request Mar 14, 2019
avolmensky pushed a commit to avolmensky/openpilot that referenced this pull request Jun 10, 2019
It also converts LKAS11 and LKAS12 into byte only messages
Based off hyundai_2015_ccan.dbc
avolmensky pushed a commit to avolmensky/openpilot that referenced this pull request Jun 30, 2019
* inital infrastructure for panda safety testing

* add test for toyota acceleration

* test for non real time torque rate limits and refactoring

* add test for cruise disable

* fix toyota limit down

* add tests for realtime limits

* test for torque measurements

* fix toyota test setup

* honda button logic

* test for brake logic

* tests for gas logic

* test steer, gas and brake message contents

* add test script

* fix hardcoded limits
weimou pushed a commit to SFtoLA/openpilot that referenced this pull request May 6, 2021
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.

None yet