* big buffer
* mostly hooked up big buffer
* bad merge
* s
* sneak preview of trigger scope
* s
* constness
* channel limits
* s
* unnecessary
* efilib
* TcpServerSandbox
* includes fix
* binary format
* require ignition on for firing
* too much havoc for a unit test
* patch up references
* last one
* fix changelog mangling
* fix the changelog template too
* bad merge
* fix the template again
* s
* fake battery voltage on hw ci
* ugh merge
* ugh merge
* allow logging multiple warnings at once
* comment
* .Code
* Revert ".Code"
This reverts commit 2b986bd50035aeec051d11aafd83fdbc1694351c.
* add a better comparison operator instead of conversion
* dot code
* Revert "dot code"
This reverts commit 35f6ae1007c41e3b30ea129a324f33ab4205036d.
* force gcc-10 maybe?
* Revert "force gcc-10 maybe?"
This reverts commit 4ddf8bcefddd354ccdc1da682c5fff1e68d44273.
* vq
* dot code
* dead
* dot code
* return may be null
* static_vector; maybe cyclic_buffer is broken or wrong tool for the job?
* move static vector
* put cyclic buffer back how it was since we don't use it now
* dead code in stm32
* rusefi.cpp can have some noreturn
* handle lua panic
* unused error codes
* simplifications of error_handling.cpp
* comment
* put that back
* guard
* use backup ram, hard fault handler improvement
* wire it up
* upload elf
* s
* I guess I'll just use strncpy
* s
* what is it even complaining about?
* neat, we don't need a cast
* cypress and kinetis
* cleanup
* ci
* guard for tests
* remove third trigger
* clean up the honda mess
* there was nothing novel about this engine config
* include
* missed a few
* s
* x
* changelog
* don't set the third trigger input
* don't redefine the same thing 3 times
* only two inputs!
* test
* 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
* limp manager handles engine stop
* use timer
* dead relevant fsio
* this stuff needs its own ticket
* if we can comment out 'business logic' and tests do not fail it's not a great sign :(
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
* unused things
* !!! actual bug !!!
* dead
* unused
* unused
* multi-bus lua RX was just broken
* make the compiler angry about it
* dead config
* alphax 2
* just call, no store
* compiler too angry
* ui & config
* bump flash version
* compaction
* s
* make things happy
* fsio too
* OK, well those defaults were insane
* b
* why are these defaults insane
* adjust cylinder offset ui
* s
* cleanup
* 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%
* Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData
Most all the users were Multi* anyways, so just improve that:
1. Allow up to 8 waveforms to share one byte per timestamp. It could be better but this is simple
and gets most of the benefit.
2. Use a wrapper structure to handle reserving space for the arrays. Makes the interface simpler
and more rigid. Also saves 4 bytes per Multi*. Downside is access is now via -> and *,
not . and (nothing).
Saves 224 bytes of BSS, 1832 bytes of RAM4/CCM, 952 bytes of TEXT, and 103 bytes of RODATA
* Instantiate a base_t to make debugging easier.
Also fixes crash on real firmware by using &m_base instead - LTO optimization issue?
* No magical templated StaticAlloc thingy. Just virtual functions.
* 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
Fix some uses of ENGINE() not detected by regex due to parenthesis.
Remove now empty engine_ptr.h
Don't worry about EFI_* not being defined, the compiler defaults to 0 if they aren't.
* Create a base class EngineModule for that contains various useful callbacks.
This cleans up the API by not requiring the notifiers to know about who wants callbacks. The only
place you need to update to add a module is in one place.
* Add mockability.
* Convert InjectorModel to a Mockable EngineModule
* 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>
Better than reaching into members that should be private. I didn't feel like actually making
them private though, as one user validates pinStates isn't NULL.
All it wants is to use the main trigger state, so don't bother copying it. Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt. Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes. And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)
Also remove SimplePwm's 2nd copy of SingleChannelStateSequence. It served no purpose.
Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
All it wants is to use the main trigger state, so don't bother copying it. Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt. Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes. And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)
Also remove SimplePwm's 2nd copy of SingleChannelStateSequence. It served no purpose.
Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
* scale map Y axis
* allow different row/col types
* scaled channel detector
* interpolation
* looks like this actually works
* tests, no manual scaling
* comment
* 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>
* new impl
* remove fsio
* inject "is ac active" to fan
* include the correct code
* include
* test
* more AC features
* AC switch vs. actual AC indicators
* include
* duh
* 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>
* start cleaning
* disabled feature means don't print that it's disabled
* cli
* usages
* printMsg -> scheduleMsg
* this is alllll dead now
* no crlf please
* all hope is lost if you manage to hit this line
* tests
* tests
* ok we did actually need that part
* sim
* d
* kinetis
* it did ifdef, not if
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* ChibiOS: add support for STM32F765
This chip is used on Subaru EG33 p'n'p RusEFI board from Dron_Gus
* drivers: gpio: mc33810: commulative update
- use BIT macro
- fix wake-up method
- fix order of arguments in _add function
* port: stm32f4/7: detectCanDevice check for enabled interfaces only
* ADC: fix internal array size
internalAdcIndexByHardwareIndex should be EFI_ADC_LAST_CHANNEL size
couse adc_channel_e is used as index
* status LEDs: support status LEDs that driven by low level
* gpios: isBrainPinValid helper
* LCD HD44780: do not touch pins if DM_NONE or invalid gpio
* Fix isEnabled checks for GPS and Joystick
* LCD HD44780: writePad use this method wider
* hook up map
* check for init
* switch some consumers
* that's the rest of them
* test
* tests
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* move rev limit to limp manager
* call fatal error
* include order
* fix bug
* tests
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* FSIO error signaling
- wrong keyword in FSIO now shows up as nice TS error message
- added f7 debug option for vsCode as well.
* Keep unit_test happy
* switch pump fsio logic
* value collision
* fuel pump in tests
* mock time since trigger
* test fp
* init pin in test
* fix gpio outputs in tests
* comment
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>