* insist on setBoardConfigOverrides fix#4614
* insist on setBoardConfigOverrides fix#4614
* insist on setBoardConfigOverrides fix#4614
* insist on setBoardConfigOverrides fix#4614
* insist on setBoardConfigOverrides fix#4614
* stub simulator CAN driver
* comments
* CAN sensor
* maybe implement?
* s
* fix
* tx and rx actually work!?!?!
* check_can_isr
* modify chibios
* Sim has no CAN on Windows (for now?)
* safer init/deinit, enable assertions
* smarter handling of missing CAN device
* better guards
* guards for windows
* make things c++ friendly
* install various canaries in coal mines
* using is much clearer than typedef
* fixing builds
* lps25
* trigger includes were a mess
* c -> c++ cleanup
* os util
* why did so many include os_util.h?
* fwd declare
* cypress/kinetis
* s
* eg33 happy
* happy sim
* cypress usb
* pch
* cypress
* doesn't need to include all that
* h7
* vestigial config
* replace last functionality
* engine/board configs include
* files that didn't need to include this
* remove FSIO implementation
* stragglers
* random little bits
* s
* s
* ConfigDefinition
* jar
* s
* overflow detector
* type list dynamic allocate
* fix the buffer length
* comment
* pr fb
* sanitize sim
* fix sim sanitizer bug
* didn't mean to turn off optimization for sim
* asan can do that, if you turn it on!
* cleaning
* Basic framework for high pressure fuel pump control
* Many changes
Move calculations to fast callback
Move main object into Engine
Respond to pin changes without requiring a reboot
* Use EngineModule for HpfpController
Schedule pin off after executing pin on so we are sure it ends, even if the motor stops.
Test scheduling.
Less RAM use by only having one event and reordering fields.
* Make scheduling test actually useful - need non-0 activation angle.
Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
* fuel pump
* s
* call correct callback
* more dead
* test adjustment
* don't overflow
* don't need separate function
* java
* give it a name
* generated
* generated
* add to generate script
* import *
* this is so cheap we don't need a flag
Having to remove the precompiled header when switching from firmware to simulator to unit_tests and
back again is annoying. Use a directory to store the precompiled header output. Turn off
precompiled header warnings as GCC still complains even if it finds a valid one eventually.
Track the top two bits of the 32-bit time field, along with the bits that comprise the top half of
the 64-bit time field. We can detect when the 32-bit field is advancing or falling back from the
global time counter as long as the change is less than about 1 billion ticks. This shows up as
either 01 or 11 in the top 2 bits of the 32-bit time field relative to the 64-bit field. Or is
there is no change it shows up as 00. Changes of 2 billion or more cannot be discerned as +2
billion and -2 billion both show up as 10.
Change the simulator to use this logic to make sure it gets some exercise.
* fix simulator
* print out halt reason
* option to close simulator after time
* workflow calls it
* test with the bug still present
* ...and fix the bug
* big pch energy
* put back ramdisk stub
* tests are happy
* h743 nucleo
* kinetis
* I love deleting code!
* make stepper happy
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* ignore
* set up precompiled header
* makefile
* fixes
* cleanup
* only depend cpp on pch
* efifeatures in pch
* f7 efifeatures
* consolidate
* simulator
* proteus build
* error handling is a good one
* bootloader pch
* don't auto include pch
* dirs
* delete on clean
* bootloader cleans
* clean.sh deletes pch
* disable in bl for now
* there was a typo so maybe it'll work now
* remove todo
* don't need that any more
* don't need these parts
* don't need this part
* undo changes
* use a different cpp as example
* s
* Revert "cleanup"
This reverts commit 8de8698490f5d09c2df753f00a89751aa898be9a.
* also unnecessary now
* buh
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>