Commit Graph

57 Commits

Author SHA1 Message Date
Adeeb Shihadeh
ad377ced81 single header for all drivers (#2335)
* drivers.h, claude's try

* include from root

* fix mac

* organize a lil more
2026-02-15 16:33:58 -08:00
Adeeb Shihadeh
1289337ceb Reset CANFD auto-detection on CAN init (#2271)
* Reset CANFD auto-detection on CAN init

* 4u

* simpler, 4th is fake
2025-09-15 09:07:25 -07:00
Adeeb Shihadeh
7973ba4492 CAN driver cleanup (#2276)
* it's all the same thing

* not live

* less macro

* lil more

* bool

* lil more
2025-09-10 20:00:41 -07:00
Adeeb Shihadeh
1ce986f75c bye bye f4 (#2259)
* bye bye f4

* lil more

* fix mac build

* update health idx
2025-08-26 12:37:36 -07:00
Adeeb Shihadeh
b23c7aa38b opendbc updates (#2245)
* opendbc updates

* get latest opendbc in docker

* .
2025-07-29 14:16:20 -07:00
Adeeb Shihadeh
5ac6305a95 quick garbage collection pass (#2231)
* remove DPANDA

* -22

* lil more

* canfd

* lil more

* update cppcheck

* uart cleanup

* always harness

* sbu sense

* lil more

* enable spi

* rm ENABLE_SPI
2025-07-19 21:05:12 -07:00
Shane Smiskol
b4773f96b3 ignition: suffix counters (#2194)
suffix counters
2025-04-25 13:44:30 -07:00
Shane Smiskol
d319ea2bba CAN ignition: fix unscoped prev counter (#2191)
scoped prev_counter
2025-04-14 21:06:01 -07:00
Shane Smiskol
3bf1f8e871 Rivian: properly parse ignition signal
3 isn't defined, but you never know (2 is shutting down)
2025-03-04 15:32:29 -08:00
Shane Smiskol
728b13b9e7 ignition: add Rivian comment 2025-03-04 15:28:28 -08:00
Shane Smiskol
0924df1e8e Rivian: fix ignition signal overlap (#2165)
Fix Rivian ignition overlap
2025-02-24 15:03:15 -08:00
Shane Smiskol
9a68935fb1 Fix Rivian ignition (#2163)
* fix rivian ignition

* rm

* fix

* wtf copilot
2025-02-24 12:44:30 -08:00
Lukas
084a40a46f Rivian: add CAN ignition (#2157)
Rivian CAN ignition
2025-02-21 18:11:15 -08:00
Shane Smiskol
b82c327de7 Tesla: update ignition signal for Model 3/Y (#2153)
update ignition signal
2025-02-16 21:57:08 -08:00
Willem Melching
4a11d52e07 Control over FD flag of CAN messages (#2085)
* Control over FD flag of CAN messages

* misra
2024-11-21 11:04:09 -08:00
Maxime Desroches
022d1c69a1 misra8.4: board/drivers (#2025)
* drivers

* cleanup bootkick

* bxcan cleanup

* fan cleanup

* harness cleanup

* interrupts cleanup

* registers cleanup

* simple_watchdog cleanup

* spi cleanup

* h7 drivers

* no include for now

* conflict

* reduce scope

* cleanup
2024-09-20 14:30:45 -07:00
dzid26
6ff6733ba3 Cppcheck 2.14 (#1951)
* enable cppcheck 2.14

* cppcheck: Uninitialized variable

* cppcheck: variableScope

* cppcheck: misra-c2012-21.16
both arguments to memcmp() should be of compatible (matching) essential types

* cppcheck: misra-c2012-11.6
Avoid casting between pointer to void and an arithmetic type.
Refactor bootloader address casting for easier understanding.

* cppecheck 2.14.1
- force cppecheck tag fetch
2024-05-27 21:21:13 -07:00
Adeeb Shihadeh
091773f448 Adjust CAN bus orientation live with harness orientation (#1913)
* set orientation in one place

* no flip

* cleanup

* more explict on startup

---------

Co-authored-by: Comma Device <device@comma.ai>
2024-03-22 14:00:13 -07:00
Adeeb Shihadeh
de061e4f73 remove rest of gmlan (#1908)
* remove rest of gmlan

* fix

* update struct

* update
2024-03-21 13:56:36 -07:00
Aryan
b4442a7c93 enable misra-c2012-10.3 (#1852)
* enable misra-c2012-10.3

* fix that

* cleanup

* little more

* one more

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-02-18 11:56:44 -08:00
Aryan
54459e694e update cppcheck (#1859)
* update cppcheck

* Update tests/misra/install.sh

* delete cppcheck cache

* remove misra 5.8 erroors

* fixed uninitialized data error

* suppress misra-c2012-2.3 and misra-c2012-2.4

* reinstate cache to fix mutation test

* rerun for mutation test

* increase timeout for mutation test

* styling

* comments + variable name changes

* Update tests/misra/install.sh

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* Update install.sh

* more variable name changes

* condition on defining CANPacket_t

* just cherry pick

* fix build

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2024-02-10 14:50:36 -08:00
Ruben Medina
40671436ee enable misra-constParameterPointer (#1826) 2024-01-20 21:50:42 -08:00
Shane Smiskol
546087125f GM: change ignition signal (#1662)
* GM: change ignition signal

* Update board/drivers/can_common.h
2023-09-15 02:04:51 -07:00
Igor Biletksyy
d41a0abef6 H7: comments for RAM organization reasoning 2023-08-29 16:10:50 -07:00
Igor Biletskyy
91d457cbb1 H7: reorganize RAM (#1619)
init
2023-08-29 13:04:27 -07:00
Igor Biletskyy
0a32b17513 H7: few more Kb of RAM found (#1605)
* init

* remove discard
2023-08-24 16:56:31 -07:00
Adeeb Shihadeh
d7120be904 panda jungle (#1547)
* mv jungle

* match pedal style

* fix linter

* fix fw path

* fix paths

* safety!
2023-08-03 23:55:13 -07:00
Adeeb Shihadeh
52f96bac68 spi: nack on can tx endpoint if buffer is full (#1426)
* spi: nack on can tx endpoint if buffer is full

* handle in python lib

* fix timeout

* fix timeout

* fix linter

* cleanup

* fix

---------

Co-authored-by: Comma Device <device@comma.ai>
2023-05-19 22:43:34 -07:00
Adeeb Shihadeh
7aef934d4c Fix undefined behavior in GET_BYTES macro (#1367) 2023-04-26 22:59:58 -07:00
Igor Biletksyy
01ea26e342 prevent host from setting wrong returned flag 2023-03-27 10:38:04 -07:00
Robbe Derks
11d90f9e78 No more magic for the can chunks (#1191)
* no more magic

* bump version

* no need for this

* comment cleanup

* add comms_can_reset tests

* we can't ensure this for compatibility reasons

* add CANPacket_t checksum
2023-01-13 10:59:58 -08:00
Robbe Derks
3034180753 Reset CAN ign when the specific message is not seen anymore (#1200) 2023-01-09 14:27:18 -08:00
Adeeb Shihadeh
e6f62a62aa rename puts to avoid conflict with stdio.h (#1174)
* rename puts to avoid conflict with stdio.h

* better name
2022-11-29 22:55:10 -08:00
Adeeb Shihadeh
80dac4cd94 cleanup CAN definitions (#1170) 2022-11-29 15:56:43 -08:00
Igor Biletskyy
bd8d2481dd H7: free up 29120 bytes of RAM (#1120)
free up some RAM
2022-10-25 21:15:46 -07:00
Greg Hogan
2f3e2825e5 CAN-FD non-ISO support (#1082)
CAN FD non-ISO support
2022-10-12 15:28:20 -07:00
Igor Biletskyy
a19f12559e check if set CAN speed is valid (#1073)
* check

* MISRA
2022-09-16 23:51:55 -07:00
Igor Biletskyy
fd226de0a4 board struct: add has_canfd (#1072)
* add

* gate this

* and this

* forgot white
2022-09-16 21:56:48 -07:00
Igor Biletskyy
f029c99440 health packet: fix confusing variable names (#1068)
* fix naming

* different buffer overflows

* naming
2022-09-15 13:08:46 -07:00
Igor Biletskyy
0eef8cf333 CAN: health message for each CAN module (#1067)
* initial can health pkt

* MISRA: variable scope

* MISRA 10.4

* typo

* add total_fwd_cnt

* check size of can_health_t

* improve

* comment

* that's better

* move

* add health check to tests

* why?

* ...

* revert later

* meh

* Revert "meh"

This reverts commit 0eb8432194.

* Revert "revert later"

This reverts commit 2d98957a8f.

* adjust test
2022-09-15 13:04:10 -07:00
Igor Biletskyy
860e5a4d21 Red Panda: auto switching to CAN FD with BRS (#868)
* add canfd autoenable

* add check to tests

* fix default speeds

* add autoswitch test
2022-03-07 14:25:19 -08:00
Shane Smiskol
2d96ef02df GM ignition: remove signal with noise and false positives (#845) 2022-02-03 12:30:07 -08:00
Adeeb Shihadeh
00138a7f66 Add blocked message counter to health packet (#841)
* Add blocked message counter to health packet

* move that

* update python

* fix struct

Co-authored-by: Comma Device <device@comma.ai>
2022-01-27 17:46:24 -08:00
Jafar Al-Gharaibeh
9ac35a4a7b Mazda: more generic ignition signal (#809)
Signed-off-by: Jafar Al-Gharaibeh <to.jafar@gmail.com>
2021-12-24 14:53:27 -08:00
Igor Biletskyy
8d0d148681 Move shared definitions into separate file (#808)
* refactor definitions includes

* fix include

* revert dlc_to_len

* ...

* change name
2021-12-16 14:38:22 -08:00
Igor Biletskyy
ca67da626f Fix MISRA violations 10.1 and 10.4 (#796)
* misra 10.1

* misra 10.4

* misra 10.4 in usb_protocol.h

* don't cast
2021-12-01 14:13:38 -08:00
Igor Biletskyy
c8b48ec23a Enable CAN FD support (#772)
* enable CAN FD

* ...
2021-11-15 16:27:16 -08:00
Igor Biletskyy
ae26b75d7b CAN_FIFOMailBox to CANPacket struct + USB dynamic packet size (#739)
* Squashed commits, no cleanup

* Few fixes

* No init = garbage

* Only receive with new canpacket

* Add send with canpacket

* Revert "Add send with canpacket"

This reverts commit 7d06686ddd6d447c714b5289d31af24403d36931.

* Packet must be aligned to word, or bad performance

* Cleaner

* Fix tests

* Tests...

* MISRA 10.4

* More MISRA

* libpandasafety_py

* cffi

* even more tests...

* typo

* ...

* ...

* ...

* Slight cleanup

* MISRA 6.1

* MISRA 17.7

* Bug in bxcan + even style

* MISRA 10.1

* Revert "MISRA 10.1"

This reverts commit 404ae7fcc39556f80f528de9015702e69f4ea0a5.

* ...

* MISRA 10.1 and 10.4 suppress until next PR

* MISRA 20.1

* ...

* test_honda

* ...

* ...

* test_toyota

* test_volkswagen_mqb

* test_volkswagen_pq

* Sketchy thing...

* Revert "Sketchy thing..."

This reverts commit 3b2e5715bdc1954f7b7b3b7469ba3d0eaa06bdf9.

* remove comment

* bxcan extended address bug

* Concept, experimental dynamic usb packet size

* increase each buffer to 10240 bytes

* raise python bulk read/write limits

* ...

* Move packet size to start

* Experimental send, stream-like

* New receive test, stream-like

* cleanup

* cleanup + rebase fixes

* MISRA

* Extra receive method, stream-like, commented out

* type change

* Revert back to buffer for send, stream commented

* forgot ZLP

* lower buffer, add rx failsafe

* ... remove ZLP

* return ZLP back

* Add tx checks to panda fw

* TX stream with counter

* fix counter overflow

* 13 free slots should be enough

* limit tx usb packet

* ...

* Revert max_bulk_msg doubling

* python lib improve speed

* Stream with counter for RX, dirty, needs cleanup

* Increase chunk length to 4096 bytes

* cleanup fdcan.h

* cleanup __init__.py

* MISRA 12.1

* MISRA 10.8

* remove non-streaming usb functions

* more main.c cleanup

* MISRA 15.6

* MISRA 15.5

* MISRA 18.4 and suppress objectIndex

* handling usb pakcets > 63bytes, naming and cleanup

* Cleanup old from tests and update CANPacket_t struct

* Switch to 4 bit DLC instead of 6 bit length

* ops)

* ...

* pylint

* receive python buffer increase

* USB increase receive packet len

* tweak buffers

* No need for so high limits

* MISRA 20.1 workaround

* performance tweaks

* cleanup, dlc to data_len_code naming

* main.c naming

* comments and cleanup for main.c usb

* clean py lib

* pylint

* do not discard good rx messages on stream fail

* cleanups

* naming

* remove bitstruct lib and lower tx limit

* bitstruct lefovers

* fix bug in VW test

* remove adjusting data size and assert on wrong len

* ...

* test new memcpy before merging

* Revert "test new memcpy before merging"

This reverts commit 399465a264835061adabdd785718c4b6fc18c267.

* macros for to/fromuint8_t array

* MISRA hates me!

* tests.c include macros instead

* move CANPacket to can_definitions.h

* vw_pq python test fix

* new memcpy test, REMOVE

* check without alignment

* revert macros for uint8 arrays

* Revert "revert macros for uint8 arrays"

This reverts commit 581a9db735a42d0d68200bd270d87a8fd34e43fe.

* check assert

* Revert "check assert"

This reverts commit 9e970d029a50597a1718b2bb0260196c050fd77f.

* one more variation

* Revert "one more variation"

This reverts commit f6c0528b7ac7e125750dc0d9445c7ce97f6954b5.

* what about read performance

* Revert "what about read performance"

This reverts commit d2610f90958a816fe7f1822157a84f85e97d9249.

* check struct alignment to word

* check for aligned memcpy again

* cleanup

* add CANPacket structure diagram

* update CANPacket and add USB packet struct

* bugfix + refactoring of EP1

* move dlc_to_len to header

* missed include

* typo...

* MISRA

* fk

* lower MAX_CAN_MSGS_PER_BULK_TRANSFER

* bump CAN_PACKET_VERSION to 2

* bump python lib CAN_PACKET_VERSION to 2

* rename parse_can_buffer to unpack_can_buffer

* CANPacket_t const fields

* Revert "CANPacket_t const fields"

This reverts commit cf91c035b7706a14e317550c5f0501ae3fce7c70.

* test.c relative path

* cleanup

* move macros to safety_declarations

* Refactor pack/unpack funcs and add unittest

* usb_protocol.h

* oops

* Update .github/workflows/test.yaml

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* remove print from unittest

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2021-11-12 16:36:34 -08:00
Igor Biletskyy
76c7191b19 refactor bus settings into bus_config struct (#773)
* refactor bus settings into bus_config struct
2021-11-11 13:26:53 -08:00
Adeeb Shihadeh
2e5de6e99c Mazda: CAN ignition (#758) 2021-10-30 15:32:27 -07:00