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
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
Robbe Derks
998ac9d5d8
Init cleanup: global LED driver ( #2170 )
...
* wip
* fix init
* fix libpanda
* cleanup
---------
Co-authored-by: Comma Device <device@comma.ai >
2025-03-14 18:01:45 +01:00
Shane Smiskol
3ff97305c5
fdcan: rate limit CAN core reset ( #2137 )
...
* rate limit can core resets
* overflow protection
* U
2025-01-30 13:21:18 -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
Shane Smiskol
8587ae3fc0
drivers: log can core reset when switching multiplexing ( #1972 )
...
fdcan: log lost tx messages when resetting can core for multiplexing
2024-08-26 17:56:46 -07:00
Adeeb Shihadeh
418fca3583
enable misra-config checks ( #1879 )
...
* mostly done
* fix rest of misra-config
* do other two in next pr
2024-03-24 12:10:37 -07:00
Jason Young
96a3099398
fix forwarded bus logging for CAN-FD hardware ( #1884 )
2024-02-24 10:03:45 -08:00
Adeeb Shihadeh
93a06f1257
remove HW GMLAN support ( #1848 )
2024-02-03 23:18:33 -08:00
Ruben Medina
7ab3fcf5d2
enable misra-c2012-10.7 ( #1804 )
...
* enable misra-c2012-10.7
* cleanup
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com >
2024-01-16 16:52:36 -08:00
Ruben Medina
8c2b50fa2f
enable misra-c2012-10.1 ( #1803 )
2024-01-15 21:14:52 -08:00
Hoang Bui
817d68f6a6
enable misra-c2012-10.4 ( #1796 )
...
* enable misrac-10.4
* changes
* cleaner
2024-01-13 15:49:56 -08:00
Igor Biletskyy
394b61cd16
H7: reset CAN core on bus off state ( #1615 )
...
* init
* misra
* merge
2023-09-06 09:50:13 -07:00
Igor Biletskyy
b47b8259ef
unify CAN/FDCAN odjects naming ( #1596 )
...
* init
* happy MISRA
2023-08-21 16:09: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
Igor Biletskyy
a9a3227008
can_health: remove enter and exit critical calls from health updater ( #1513 )
...
init
2023-07-14 19:36:04 -07:00
Igor Biletskyy
ad9ec716ac
H7: CAN core reset on no ACK and high transmit error counter ( #1502 )
...
* init
* comment
2023-07-14 19:00:43 -07:00
Igor Biletskyy
a35e9a1edb
CAN health: add IRQ call and core reset counters ( #1453 )
...
* initial
* old method
* comment
2023-06-28 14:40:00 -07:00
Igor Biletskyy
5889e3784f
H7: fix FDCAN_IR register check ( #1480 )
...
* init
* typo
* misra
* leftover
2023-06-21 18:56:10 -07:00
Igor Biletskyy
9d56e80390
Change can_health request method ( #1472 )
...
* init
* fix typo
* remove tx lost as fake and add rx lsot
2023-06-20 12:29:20 -07:00
Igor Biletskyy
3a7a0e0bae
H7: fix lockup on disconnected bus ( #1431 )
...
* fix h7 lockup
* love MISRA!
* EW and EP isn't actual errors
* cleaner
* typo
* oops
* increase error limit before reset
2023-06-13 14:34:15 -07:00
Adeeb Shihadeh
bf2c007103
H7: fix CAN RX delay ( #1446 )
2023-06-06 18:48:19 -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
Igor Biletskyy
622106d7d4
Revert "H7: fix lockup on disconnected bus" ( #1430 )
...
Revert "H7: fix lockup on disconnected bus (#1410 )"
This reverts commit 03435947bb .
2023-05-18 13:54:30 -07:00
Igor Biletskyy
03435947bb
H7: fix lockup on disconnected bus ( #1410 )
...
* fix h7 lockup
* love MISRA!
* EW and EP isn't actual errors
2023-05-12 19:20:42 -07:00
Igor Biletskyy
0117ff9d13
H7: Rx FIFO lost counter ( #1345 )
...
* fifo rx lost counter
* add comment
2023-04-13 17:37:48 -07:00
Igor Biletskyy
0832d65347
Fix CAN message corruption on H7 under high load ( #1342 )
...
* fix RX FIFO corruption
* Add checksum to CANFD test data
* cleaner and MISRA
* nah
* oops
* fix test
2023-04-12 11:07:58 -07:00
Adeeb Shihadeh
85cc70d4aa
safety: only pass addr to fwd hook ( #1339 )
2023-04-08 16:45:59 -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
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
Greg Hogan
2f3e2825e5
CAN-FD non-ISO support ( #1082 )
...
CAN FD non-ISO support
2022-10-12 15:28:20 -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
1b210a8974
H7: remove manual bus off handling ( #1062 )
...
remove this
2022-09-09 15:24:19 -07:00
Willem Melching
36c62afa0c
Kia EV6 ( #905 )
...
* block lkas
* taco time
* local changes
* start
* tx checks
* counter + vehicle moving
* support big can fd
* check crc
* add torque to rx checks
* tests
* little more
* little more
* get some misra coverage
Co-authored-by: Comma Device <device@comma.ai >
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com >
2022-05-19 15:59:58 -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
Igor Biletskyy
8435bda1d2
CAN FD: adjust bit timing settings to SAE specifications J2284-4 and J2284-5 ( #861 )
...
* try that
* revert to SAE and remove TDC
* add support for speed < 250kbps
2022-02-24 14:09:13 -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
a0ba812dac
minor typo in bxcan.h and fdcan.h ( #780 )
2021-11-15 10:59:20 -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
1b0295a3ef
remove USB command for bus forwarding ( #749 )
2021-10-28 23:40:11 -07:00
Willem Melching
fb8f452d68
Try resuming outep3 on can buffer clear ( #716 )
...
* try resuming outep3 on can buffer clear
* simplify
* more cleanup
Co-authored-by: Greg Hogan <gregjhogan@gmail.com >
2021-09-08 10:59:00 -07:00
Igor Biletskyy
ad90646001
Support for STM32H7 and Red Panda ( #694 )
...
* H7 drivers
* Include H7 into the code
* fix flash write for H7
* get serial from flasher.h from F4 and H7
* flash.sh and recover.sh for gen3
* add set_data_speed for BRS CAN FD
* build all fws
* gen3 to panda lib
* gen3 name in scons project
* disable fd can and brs
* gen3 to CI tests
* jenkins fix for new tests and build_all
* fix pedal test
* pedal in panda tests again...
* cleanup llfdcan.h
* cleanup clock.h
* Add LDORDY bit check instead of delay
* missing define in stm32h735xx.h lib
* board_id helper
* enable debug detection again
* clean gpio inits
* fix board_id helper, make cleaner
* comment MCUs in stm lib for faster misra
* target MCU
* misra-5.5
* improve headers and misra speed
* cleanup CI tests
* change naming from gen3 to h7
* readable if statement
* cleanup llusb.h
* only cycle one transceifer in bus-off
* move unused funcs to common header
* bus_off_err reset
* misra 10.4 fdcan
* extern to can_data_speed variable
* limit can_data_speed array size to 3
* reinit fd can on data speed change
* Improve test with ELM327 and extaddr check
* bugfix for fdcan
* panda python config naming
* abstracted init request in llfdcan
* misra fdcan
* Improve llusb.h for H7
2021-08-02 20:26:15 -07:00