mirror of
https://github.com/MoreTore/openpilot.git
synced 2026-09-15 03:54:03 +08:00
151b707901
* What if: no signals! 🙅🤌🎆
* do hyundai
* honda!
* do gm
* and vw! (sorry comments)
* do those
* -500
* little more
* fix subie
* change back
* bumpopendbc
* oof lol
* messages
* some clean up
* here too
* clean up honda radar_interface.py
fix
rm
* bump opendbc to master
* add todo
* rename checks in tesla/radar_interface
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
old-commit-hash: cbfcc40571
41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from cereal import car
|
|
from opendbc.can.parser import CANParser
|
|
from selfdrive.car.interfaces import CarStateBase
|
|
from selfdrive.car.body.values import DBC
|
|
|
|
STARTUP_TICKS = 100
|
|
|
|
class CarState(CarStateBase):
|
|
def update(self, cp):
|
|
ret = car.CarState.new_message()
|
|
|
|
ret.wheelSpeeds.fl = cp.vl['MOTORS_DATA']['SPEED_L']
|
|
ret.wheelSpeeds.fr = cp.vl['MOTORS_DATA']['SPEED_R']
|
|
|
|
ret.vEgoRaw = ((ret.wheelSpeeds.fl + ret.wheelSpeeds.fr) / 2.) * self.CP.wheelSpeedFactor
|
|
|
|
ret.vEgo, ret.aEgo = self.update_speed_kf(ret.vEgoRaw)
|
|
ret.standstill = False
|
|
|
|
ret.steerFaultPermanent = any([cp.vl['VAR_VALUES']['MOTOR_ERR_L'], cp.vl['VAR_VALUES']['MOTOR_ERR_R'],
|
|
cp.vl['VAR_VALUES']['FAULT']])
|
|
|
|
ret.charging = cp.vl["BODY_DATA"]["CHARGER_CONNECTED"] == 1
|
|
ret.fuelGauge = cp.vl["BODY_DATA"]["BATT_PERCENTAGE"] / 100
|
|
|
|
# irrelevant for non-car
|
|
ret.gearShifter = car.CarState.GearShifter.drive
|
|
ret.cruiseState.enabled = True
|
|
ret.cruiseState.available = True
|
|
|
|
return ret
|
|
|
|
@staticmethod
|
|
def get_can_parser(CP):
|
|
messages = [
|
|
("MOTORS_DATA", 100),
|
|
("VAR_VALUES", 10),
|
|
("BODY_DATA", 1),
|
|
]
|
|
return CANParser(DBC[CP.carFingerprint]["pt"], messages, 0)
|