* install libusb from pip
Use libusb-package to bundle libusb as a Python dependency instead of
requiring it as a system package. This simplifies setup on all platforms.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix agnos
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* measure sound output level
* average instead
* this was wrong
* fix calc?
* try vu meter
* abs per buf
* more testing
* debug
* debug2
* debug3
* reset to 0
* fix parsing bug
* fix parsing bug
* this works
* minor cleanup
* fix misra
* docs
* remove mcu_type from Panda, it's redundant since all supported devices are H7
* revert disable automatic CAN-FD switching H7 check
* revert original can no longer be flashed error
* assert, assert, assert
* normal reset is fine
* remove assert from recover
* remove mcu_type from Panda, it's redundant since all supported devices are H7
* revert disable automatic CAN-FD switching H7 check
* revert original can no longer be flashed error
* assert, assert, assert
* normal reset is fine
* motors
* can
* cleanup unused stuff
* initial clean
* more clean
* remove integral and derivative clamps, revert pwm driver to original
* remove integral and derivative clamps, revert pwm driver to original
* remove integral and derivative clamps, revert pwm driver to original
* dont need this for now
* clean
* fix can rx and can version error
* ignore body for misra mutation test
* fix bus recovery, remove body rx hook
* Remove spidev2 support from SPI implementation
Removed support for spidev2 and related transfer methods.
* Remove spidev2 from dependencies
Remove spidev2 dependency for Linux platform.
* set cuatro fan settings
* set cuatro to use pure pwm
* use pwm on all boards
* remove fan max rpm configs, use pure pwm
* add comment about cooldown
* change max rpm in python side
* remove reference to max_fan_pwm in fan.h
* fully refactor fan configs into "has_fan"
* increase limits on fan test to 15% either way
* only tres for now
* doesn't matter
* not relevant anymore
---------
Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
* SPI: ensure slave is in a consistent state after failed transfer
* respect timeout
* swap
* clean that up
* remove whitelist
* warning
* limit attempts
---------
Co-authored-by: Comma Device <device@comma.ai>
* profiling
* lil faster
* chunking happens later
* little better
* prealloc is no bueno?
* cleanup
* fix usb tests
---------
Co-authored-by: Comma Device <device@comma.ai>