11 ms·
OpenPilot doesn't require you to flash anything to your car, everything is done using the same CAN messages that the stock ADAS system sends. Further, the micro
by enragedcacti 7y ago
OpenPilot doesn't require you to flash anything to your car, everything is done using the same CAN messages that the stock ADAS system sends. Further, the microcontroller that communicates between OpenPilot and the vehicle is hardcoded to block any CAN messages OpenPilot sends that are deemed to be too fast to react to:
https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38ce22fa25ddffbd1d3084e3/panda/board/safety.h#L156 https://github.com/commaai/openpilot/blob/a2ae18d1dbd1e59c38...
- fabiensanglard 7y agoI am not impressed with this source code. Maybe you can tell my why i am wrong. The safety.h you pointed to is using "int" for variable declaration instead of using stdints to control size. Is there are reason for that? From safety.h, I tried to follow addr_allowed function parameters. I get here (https://github.com/commaai/openpilot/blob/c025b96e8a15640ee4d6e4d513fada6ed101afe5/panda/board/safety/safety_cadillac.h#L56 https://github.com/commaai/openpilot/blob/c025b96e8a15640ee4...) and see this: int addr = GET_ADDR(to_send); int bus = GET_BUS(to_send); Where are GET_ADDR and GET_BUS macros declared? There are no header declaration to follow dependencies.
- socks 7y agoGitHub > commaai/panda > Search > 'GET_BUS' > panda/board/drivers/llcan.h