* 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
* lambda sens
* fix init
* fix
* a test for good measure
* he's climbin in your windows, snatchin you ram up
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* Add date workflow
* add files
* use VCS_DATE in engine controller
* initial values
* switched to using one file
* moved to controllers
* Add comment and fix cron entry
* add pragma once
* Add more comments
* hard pwm
* fix, comments
* PC6-9 and PD12-15
* PB6-9
* dynamic frequency
* f7 mcuconf
* format
* relocate to common, support variable frequency
* error handling
* oops
* fix test build
* noop kinetis
* better guards
* guard for bl
* guards don't work if they have typos
* more mapping
* oops
* don't use for slow pwm
* enable pwm
* guard properly
* save a little memory
* use less mem
* correct timers
* all your ram are belong to us
* update limit & comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* binary log
* remove old text logging
* change file extension
* just use a bare buffer
* more mem :(
* double ugh
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* add redundant sensor
* add tests
* add configure, info printing
* tests
* tests
* partial hookup
* fix
* fix
* bad makefile merge
* use second TPS config
* update test
* update test
* sensor names
* set second pin by default
* fix auto cal
* auto cal both sensors
* add reconfigure of secondary sensors
* gobblin' up your ram
* slow down write a little bit
* put split in debug gauge
* s
Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* field support
* tests
* makefiles
* test data too
* missing include dir
* write correct thing
* fix one test
* fix test
* omnomnomnom ram
* format
* use defined names
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* update dc motor api
* add more etbio
* get out of two arrays
* hand generate enough
* forgot engine param
* ram
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* add tid field to thread
* change perf trace format
* trace consumers
* Update java parsing
* guard for test + kinetis
* stubs
* ram
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* switch to thread
* actually use default frequency define
* crank ADC too
* make space in RAM
* remove TS field
* this should work for test
* fix dt
* re-resize ram
Linking build/rusefi.elf
/home/runner/work/rusefi/rusefi/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: build/rusefi.elf section `.ram4' will not fit in region `ram4'
/home/runner/work/rusefi/rusefi/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: region `ram4' overflowed by 352 bytes
collect2: error: ld returned 1 exit status
* config & hand gen
* board configs
* add dc motor support
* initialization
* also set duty to zero
* use disable in etb
* fix proteus default
* add TS fields
* I guess we needed 8 bytes
* :D
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* hook up clt
* init test
* probably fix test
* aux temp
* relax checking
* more significant figures
* remove old aux temp
* hand generate
* claim RAM
* move to ccm
* subscribe
* info printing
* warnings
* raise high voltage failure threshold
* fix test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>