Commit Graph

544 Commits

Author SHA1 Message Date
Andrey e62877964a Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
rusefillc 07f210a82b random progress & method rename 2022-04-16 17:35:59 -04:00
rusefillc f5b0094ed3 docs 2022-04-15 22:56:38 -04:00
Andrey 8413202396 random typo 2022-04-13 21:51:15 -04:00
Matthew Kennedy 7d657106d7
warning cleanup (#4020) 2022-03-22 16:53:24 -04:00
Andrey b845073a38 Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 17:57:35 -04:00
rusefillc f4fe1ce310
Explicit fw (#3968)
* explicit FW ID

* explicit FW ID

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-27 00:49:47 -05:00
Matthew Kennedy 10be2d5f40
Remove FSIO, byeeeeeeeee (#3865)
* 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
2022-02-02 02:03:31 -05:00
Matthew Kennedy 40d16291b0
Remove fsio part 2 (#3876)
* dead config stuff

* fsio state

* remove tests

* getEngineValue

* put part back
2022-02-02 00:49:44 -05:00
rusefillc 42deca0fd0
Main relay shutdown rebase (#3880)
* aggregate

* main relay controller handles delayed shutoff

* main relay controller handles delayed shutdown

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-02 00:45:11 -05:00
rusefillc 751355a04b
Limp shutdown rebase (#3879)
* 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>
2022-02-01 20:47:17 -05:00
Matthew Kennedy a718f3a30a
Remove fsio part 1 (#3871)
* dead includes

* move last logic out of fsio

* dead functions
2022-02-01 15:42:04 -05:00
Matthew Kennedy c6f45c5022
warnings fixes (#3851)
* 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
2022-01-31 18:37:42 -05:00
Andrey 5feab6f6c3 migrating to SensorType::Rpm API 2022-01-20 22:06:20 -05:00
Matthew Kennedy c176bbebc1
ui & config for fuel/ign trim tables (#3704)
* 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
2021-12-20 21:58:53 -05:00
Matthew Kennedy cddb9484a9
make macos happy (#3699)
* s

* explicitly include it because that's a good idea.
2021-12-19 09:58:49 -05:00
Matthew Kennedy 91ec135cf8
ignition controller detects rising edge on voltage (#3636)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test
2021-12-07 21:28:04 -05:00
Matthew Kennedy a37c9bca9e
Remove the EFI_NO_CONFIG_WORKING_COPY option (#3630)
* no working copy

* oops
2021-11-29 16:44:45 -05:00
rusefillc d89e269567 Epic: Remove FSIO #2928 2021-11-28 17:47:16 -05:00
rusefi 8ed3020c07 live data for wastegate #3588 2021-11-24 15:07:48 -05:00
rusefillc 3077f795c4 live data for wastegate #3588 2021-11-24 12:59:57 -05:00
Matthew Kennedy 81fffe87b7
main relay doesn't use fsio (#3580)
* 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%
2021-11-24 07:47:51 -05:00
Matthew Kennedy 3334a6963c
oh my god we've had no asserts (#3595) 2021-11-22 17:52:03 -05:00
Scott Smith 9668626008
Move LuaThread to CCM, and shuffle a couple items out. (#3587)
Lua's stack probably doesn't need DMA.  Allows us to group more of our unused RAM together
in one place.
2021-11-21 20:35:03 -05:00
Scott Smith ba4a00d3bb
Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData (#3519)
* 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.
2021-11-21 04:56:07 -05:00
Matthew Kennedy d40ca0f581
fuel pump doesn't use fsio (#3576)
* 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
2021-11-19 22:23:12 -05:00
Scott Smith 69d36dad6e
Final cleanup of ENGINE macros (#3567)
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.
2021-11-17 13:45:10 -05:00
Scott Smith 988aacdd91
Create a base class EngineModule for that contains various useful callbacks. (#3548)
* 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
2021-11-17 20:13:19 +03:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Scott Smith 8dbdeb7773
Remove a bunch of macros from engine_ptr.h (#3562) 2021-11-17 10:01:39 +03:00
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 344c9073e2
Start the process of using a global engine ptr for unit tests. (#3551)
* 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.
2021-11-16 00:23:14 -05:00
Matthew Kennedy cb032fb1ea
(void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
rusefi cdeeb6f966 Epic: Remove FSIO #2928 2021-11-14 14:44:52 -05:00
rusefillc 14c0711011 script settings need names! 2021-11-14 13:18:11 -05:00
rusefillc 074e85b523 Epic: Remove FSIO #2928 2021-11-14 11:40:19 -05:00
rusefillc 68ebb8045d Epic: Remove FSIO #2928 2021-11-14 11:04:51 -05:00
rusefillc 22c872d8d8 Epic: Remove FSIO #2928 2021-11-14 10:57:19 -05:00
rusefillc c22215cea7 Epic: Remove FSIO #2928 2021-11-14 10:39:47 -05:00
rusefi 0ea0d601a5 Epic: Remove FSIO #2928 2021-11-14 09:49:02 -05:00
rusefillc eb1af46655 Epic: Remove FSIO #2928 2021-11-14 08:37:50 -05:00
rusefillc 991d0c5001 Epic: Remove FSIO #2928 2021-11-14 08:33:19 -05:00
rusefillc a85d1bb064 Epic: Remove FSIO #2928 2021-11-14 07:30:26 -05:00
rusefillc 6210eaacf7 script settings need names! 2021-11-13 23:10:38 -05:00
rusefi 676f2dfb93 findTableIndex 2021-11-13 10:02:01 -05:00
Andrey cd57e1fdb6 Something something Automatic Compression Release #3442 2021-11-11 20:16:46 -05:00
Andrey aff7664c21 refactoring: less hacky implementation 2021-11-11 20:16:46 -05:00
Scott Smith 2f4d123052
Change users of MultiChannelStateSequence to use the API (#3524)
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.
2021-11-11 09:19:22 -05:00
Scott Smith d4c4db9a12
Move phaseCount into MultiChannelStateSequence (#3520)
We can them drop the field from a bunch of callers, simplifying the code.
2021-11-10 19:47:27 -05:00