* Extract time helpers from engine_controller_misc to efitime.cpp
* Rename currentTimeMillis() to getTimeNowMs()
We have getTimeNowNt(), getTimeNowUs(), currentTimeMillis() and getTimeNowSeconds()
Align a bit.
find . -type f -name '*.c*' -exec sed -i 's/currentTimeMillis/getTimeNowMs/g' {} \;
* Rename getTimeNowSeconds() to getTimeNowS()
To align with Nt, Us, Ms versions.
* Some comments about getTimeNowLowerNt()
* 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
* use ISS for gearbox ratio, add gauge for TC ratio
* measure shift time
* add shift time gauge, todo notes for pc
* do conversion in the right direction
* switch to Timer and seconds
* try fixing build
* try fixing build again
* try defines, remove include
* use shift pcs
* add 3-2 pct curve
* control 3-2 solenoid
* move 3-2 to persistent config
* fix param
* save changes
* save changes
* save changes
* fix mistakes
* try adding empty method
* copy simpleTransmissionController to GM 4L6X controller
* Import 4l6x header
* add to makefile
* fix whitespace
* try enum class
* change field name
* change field name in rusefi.input
* check for gear controller mode
* add mode fields to catch if mode was changed
* 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
* s
* poke
* poke again for science
* kick for science
* kick
* kick
* comment kick
* s
* don't try to compare the array decay pointer to 0 (!)
* collateral damage
* adjust miata sync
* reset trigger states correctly on engine stop
* s
* check synchronized bit
* now we don't need it at all?!
* and *NOT* synced
* start VVT sync earlier
* 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
* main relay
* plumbing
* dead fsio stuff
* test it
* by 100%, we mean 99.98%
* data
* stub test
* use getTimeSinceSyncPoint
* s
* s
* no
* test
* stray ;
* those were 1/10 what they were supposed to be
* actually check something
* dead log line?
* 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>
* Start the process of using a global engine ptr for unit tests.
Passing around the engine, config, and persistent state wasn't buying anything. Instead, use
EngineTestHelper(Base) to correctly set and clear the global variables. Add a dummy check in
case some test tries to set them manually.
* Fix OSX build
* Adapt PR to recently added code.
* static functions with (void)
* more
* Revert "more"
This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.
* s
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* lua update
* no stdlib mode
* turn off system luaaa for now since it makes luaaa sad
* let user heap do a little
* gitmodules
* memory shuffling
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* load script
* test
* needs more rams
* embiggen stack
* init system lua from lua thread
* de-embiggen stack
* system needs a little more
* memory
* om nom nom delicious memory
* how much more memory could it want
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* more unification
* hip stub
* comment
* guard
* channel idx
* include
* hip
* move in to engine
* hip9011
* dead stuff
* dead
* fsio
* lcd
* more dead
* d
* dead code
* all your ram are belong to me
* turn off gpiochips we don't need
* save
* save by using the same file handle
* smaller stack ok
* these can be on the stack
* this is closer
* what about ccm?
* probing available
* now probe ccm
* ccm
* put stuff in ccm
* fsio
* memory usage
* memory
* 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>
* lua on f4
* move perf trace to efifeatures
* check that it's defined
* cypress and kinetis
* it would help to define the correct thing
* disable buffer if not used
* we can work with 2k
* turn off ramdisk on mre qc
* wow strncpy is useless for truncated strings
* turn off for bootloader
* lto bootloader
* memory
* memory
* lua on f4
* move perf trace to efifeatures
* check that it's defined
* cypress and kinetis
* it would help to define the correct thing
* disable buffer if not used
* we can work with 2k
* turn off ramdisk on mre qc
* wow strncpy is useless for truncated strings
* turn off for bootloader
* lto bootloader
* remove simple cases
* more simple
* serial
* s
* more
* try memory
* easy
* mmc acc
* that's how much memory
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* minor cleanup
* enable mailboxes
* priority
* implement new logger
* more cleaning
* signature
* remove debug
* put the assertion back in
* remove debugging
* spelling
* doy
* tweaks & comments
* cleaning
* size_t
* guard more
* test build now
* needs more ram until we can remove LogginWithSTorage
* hunt for memory
* bootloader
* unused
* stub simulator
* it would help to get the signature right
* geez kinetis only has 64k ram
* more guarding because kinetis
* that's now very legal and very cool
* templatify
* s
* force null terminate
* probably fix
* const
* write a test
* disable sensor chart for now
* hide SC ui
* oh nope that breaks many things
This reverts commit c3c1bb324fb484c3d9cc44b7715c234bc0392e1e.
* missed one
* reset after scheduleLogging
* we can't print out the full message because it contains commas which break parsing
* force terminate long buffers
* let's see how much memory we have to play with
* a lot, is the answer
* real thread name
* shrink this for now before its deleted
* turn that back on
* biiig comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hip9011: move hipCs out of EnginePins to hip9011 driver
* hip9011: cleanup debug output, save few RAM bytes
* Supress few signed vs unsigned warnings
* vbatt in sensor model
* sensor name
* vbatt
* s
* oy vei
* a little bit of cleanup
* memory apparently
* cj125 test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* Guard define argument
* ADC: isAdcChannelValid
Check for both <= EFI_ADC_NONE and >= EFI_ADC_LAST_CHANNEL
Also check for value out of enum range (corrupted settings)
* Fix unit tests
* add
* remove old
* remove more old
* makefile
* fix init
* patch up other stuff
* actually fix it this time
* raw output channels
* gauges, UI
* scaled channel
* fix field ordering
* remove old impl
* add cpp wrapper to os_access
* clean up os_access
* remove touchTimeCounter
* new impl
* put comment about lock free impl
* include cpp wrappers for BL
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* Add SW knock control to MRE on AT4
* Update software_knock.cpp
cleanup
* use knock only for final build
* adjust RAM
* Update engine_controller.cpp
Adjust RAM for HW QC special to build
* change acSwitch name, add mode
* fix
* remove some adc stuff
* remove some adc stuff
* semicolon stupid
* left behind
* add readpinstate
* wrong var name
* add functions back
* fix name
* bool, not void, plus fix name
* move
* not sure what I broke
* try setMockValue
* namespace
* whoops missed one
* switch values because adc was set up for pullup
* try 5
* comment for now
* comment for now
* uncomment tests, add function to mock, add mock to efiReadPin
* fixes
* for F's sake
* if
* add defy
* pass params
* use ASSERT_TRUE/FALSE
* advance time
* remove ifdef from readPin
* try moving if
* move to separate func
* move extern
* move include
* try engine_test_helper
* am confuse
* move func to else
* include hal
* add efi prod check
* remove include
* try extern
* move include
* semicolon stupid
* move extern again
* include
* move mockPinStates
* size
* add if
* add comment
* clean on instantiation
* ADC: move DMA buffer outside of AdcDevice (save few bytes)
* ADC: inlcude fast channels to debug output
* ADC: save some CPU ticks (disabled until fully tested)
* ADC: simplify