* cleanup is_enumerated, rename comms and init spi
* big comms refactor, building now
* misra fixes
* more fixes
* misra try 3
* cleanup
* this belongs in a separate PR
* remove unneccesary file
* revert llspi changes
* this needs packing
* fix pedal usb
Co-authored-by: Comma Device <device@comma.ai>
* cleanup python lib
* remove wifi leftovers from firmware
* few spots in firmware
* forgot
* remove usb to wifi test
* linter
* more cleanup in flasher.h
* more found
* check in tests too
* linter
* expose debug flags and improve debug console output
* puth4
* other flags need to be set more locally
* fix misra violations
* fix misra violation
* fix misra violation
* Let refactoring begin!
* Fix pedal build
* Fix pedal safety tests
* Forgot few TIM2 instances
* Try this way with misra
* More misras...
* More misras...
* Still fighting with misra blindfolded
* Almost got it!
* Last misra error..
* Last misra error..
* Misra works locally..
* Maybe this?
* Looks like it was cppcheck bug, revert changes
* Suggested changes and reverts
* File structure change
* revert includes
* remove spaces
* remove timer delay
* endings
* more typing
* rename early to early_initialization
* Remove delay_us
* Revert RTC default values
* Revert initialization sequence
* Fix quotes
* Revert
* Return TIM6EN
* Alias slow timer to TICK_TIMER
* Refactor files structure
* Remove definition of PANDA
* Abstract timers
* Fix include
* tick_timer_init
* Split usb driver
* Move LL stuff: adc
* Move LL stuff: usb
* Fix include again...
* Will check pedal builds also locally..
* Move LL stuff: CAN
* Move LL stuff: clock
* Rename common to peripherals and move
* Move board HAL
* Change include, not needed for pedal
* llgpio to gpio and new lines fix
* remove board_has_relay, not used
* Remove board_functions.h and add to board struct
* Move include
* Fk MISRA...
* has_onboard_gmlan to has_hw_gmlan
* Typos
* Move board_declarations include
* Shuffle
* More abstraction
* fix paths, fix cppcheck test
* Fix for pedal build with USB
* wait for tx slots before clearing nak
* fix bootstub
* Fixed misra
* Cleanup
* Added bulk write test to test USB NAK on bulk CAN messages
* Added automated bulk tx test
* Fixed linter
* Fixed latency test influence
* Added timeout to python API
* Disabled can write timeout in bulk write test
Co-authored-by: Robbe <robbe.derks@gmail.com>
* Added an initial working implementation of the register readback and applied it to the LLCAN registers. Also fixed an init bug in CAN.
* Locally disable pylint import error
* Reverted change to CAN-obj->FA1R setting
* Fixed misra compliance
* Changed hash function name
* Fixed CAN filter setting
* Added voltage health test
* Converted ADC to register functions
* Converted clock to use register setters
* Added check to see if fault status is zero after running test
* Converted DAC to use register setters
* Converted fan to use register setters
* Converted gmlan bitbanging to use register setters
* Changed over interrupt driver to use register setters. Also moved some includes and definition places for critical sections
* Fixed build
* Converted LLGPIO to use register setters
* Converted pwm to use register setters
* Fixed cold boot
* Fixed health fault check in automated tests
* Added comment for the future (issue #367)
* Converted RTC driver to use register setters
* Converted SPI to use register setters
* Converted timer driver to use register setters
* Fixed register fault on white pandas and disabled showing of fault for release
* Bump version
* Fixed UART overrun error
* Added stability test scripts
* Refactored UART code. ESP/GPS now uses DMA in circular mode to directly write into the ring buffer, saving a bunch of interrupts and potential race conditions.
* Changed stability test to use amount of bytes instead of amount of non-zero messages, since the ring buffer pointer is only updated on half or full DMA transfer or on line idle (e.g. no more 1 char messages from the gps)
* Increase data limit. It's too low sometimes in normal operation
* Forgot to set write pointer in ring buffer
* Increased test limit even more
* late usb
* Added type support for black panda
* Added harness presence and orientation detection
* harness relay driving code
* Added intercept support in black panda code. Switched around can0 and can2
* Disable ADCs after orientation detection. Ignition interrupts via harness
* WIP: Hardware abstraction layer + black panda bringup
* Fixed bootstub build
* Fixed bootstub for pedal
* Fixed infinite loops
* Got CAN buses working on white again
* Fixed pedal build and black can interfaces
* Got CAN buses working on black panda
* Finished loopback test for black panda
* Erase all flash sectors on the panda. Increased binary limit. Added extra python functions.
* Fixed python
* Made new code MISRA compliant
* Cleaned up ignition. Fixed build
* Fixed health packet
* Fixed CAN mode on black bug. Changed OBD to switch on ELM mode
* Fixes from Github review
* Fixed MISRA issue for pedal
* Fixed failing gmlan tests
* ELM327 safety: allow diagnostic on all buses
* Cleaned up EON relay code
* delete only 3 sectors instead of 11 to allow a new build to be flashed. Much faster to flash
* Removed CAN only can0 output mode. Does not make sense on black panda due to reversibility issues.
* Added heartbeat logic for EON code on panda. Go to NOOUTPUT if EON does not send a heartbeat for 5 seconds.
* Remove all CAN buses live on EON startup. Shouldn't be necessary to have this separate case
* Formatting
* Added file I forgot to push
* Added heartbeat to testing code to make sure EON tests don't fail. Should probably find a better way to do this though. Heartbeat thread didn't work, concurrent USB connection issues...
* Safety: support black panda for Honda Bosch
* Disable OBD2 if setting to NOOUTPUT mode
* Run safety tests for all hw_types
* Fail test if subtest fails
* fix safety tests
* RDLR, RDHR gone from safety
* back at not failing misra safety
* fix safety tests
* did not mean this
* Use get-bytes in pedal too
* Ignore Misra 11.5 and Fix 11.8 violaitons
* Fix 11.3 violations
* Neglect Misra 11.4, fix pointer issue in bootstub and rutn on Werror for pedal builds
* Fix Misra 11.6: can't assign number to void pointer
* Fix test after changing honda_moving name
* for loop is better
* Fix bugs from fbck
* Only turn on wifi if not eon
* Dont disable ESP in early
* Allow CAN to be turned off
- CAN is turned off via timeout
- CAN is turned on when either try to transmit or can is received
- If only transmit is asleep, all messages should send okay
- If receive is alseep, will miss first message while waking up
- Sometimes will report error on second message while CAN perif wakes up
- Saves 130mW!
* Power Saver Mode
- Gray Panda power consumption 650mw -> 325mW
- Turns off CAN, GMLAN, LIN, GPS when no activity for 10s
- No acitvity is no CAN send, CAN Recv, Write to GPS
* Fix power_saving to better turn off can
- On some cars when the can is turned off, it triggers a wakeup.
Delaying the automatic wakeup seems to fix this
* Don't save power in pedal
* Cleanup power saving