Commit Graph

753 Commits

Author SHA1 Message Date
Matthew Kennedy a2e1a079b8 allow enum_class in rusefi_hw_enums.h (#4104)
* 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
2022-04-25 20:38:16 -04:00
David Holdeman b4e8dfb05a More untested transmission features (#4093)
* 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
2022-04-23 07:34:39 -04:00
David Holdeman d7ac0c1db8 TCU features and fixes (#4082)
* add tcc pwm freq field

* add pc fields, make trans fields conditional

* make button shift fields conditional, remove duplicates

* add 3-2 solenoid fields

* add PC curves

* try combining tcc curves

* try combining pc curves

* use airmass instead of tps for pc

* reduce airmass axis

* increase axis digits

* duplicate for per shift, change names

* add pc per shift arrays

* try moving tables

* move more tables

* init solenoid pins

* start adding pwm stuff, change some array names

* fix gear issue

* fix multiple shift issue

* fix transmission controllers not working

* fix transmission controllers not working 2

* rearrange and virtual some things

* make getMode const

* fix pwm
2022-04-18 20:09:27 -04:00
rusefillc 6e48b1bd26 inline method to reduce confusion 2022-04-15 22:56:37 -04:00
rusefillc 4a90a56cf1 Set sensible default for dwell by voltage multiplier table #4067
sad face
2022-04-13 16:05:01 -04:00
rusefillc 1a8e714c4e Set sensible default for dwell by voltage multiplier table #4067
one step back
2022-04-13 15:42:28 -04:00
rusefillc 53f323ca0c Set sensible default for dwell by voltage multiplier table fix #4067 2022-04-13 15:21:44 -04:00
David Holdeman 410a9ffbef Add interface for selecting GearController and TransmissionController classes (#4048)
* 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
2022-04-06 17:37:30 -04:00
rusefi 6ec42a7e35 progress 2022-02-06 19:17:22 -05:00
Matthew Kennedy 57525283ac 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
rusefillc c67be80299 that made no sense 2022-01-23 23:30:31 -05:00
Matthew Kennedy 6fc4503ee2 XY Idle VE Table (#3781)
* config & ui

* implement

* test idle VE switching behavior

* use the interface where we can

* s

* re-bump flash version
2022-01-20 14:08:54 -05:00
rusefillc b11c241827 GDI better defaults? 2022-01-03 22:05:19 -05:00
rusefillc 19c6df4dd0 GDI Epic #1448 2021-12-31 19:08:47 -05:00
Matthew Kennedy 513187decc remove vvtSyncTimeNt (#3722)
* 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
2021-12-28 00:00:26 -05:00
Matthew Kennedy 2ba4c7844d simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
rusefillc 89ca3581f7 lua is like a virus but not really 2021-12-05 14:25:26 -05:00
rusefillc 6a489ed476 tune via CAN #3361 2021-12-04 00:33:54 -05:00
rusefillc 2d9b159838 proteus to have enlarged Lua 2021-12-01 09:06:16 -05:00
rusefillc 22962809f8 proteus to have enlarged Lua 2021-12-01 00:07:04 -05:00
rusefillc 1ebd7daf4f proteus to have enlarged Lua 2021-11-30 21:57:15 -05:00
Matthew Kennedy 565a94ea34 Remove the EFI_NO_CONFIG_WORKING_COPY option (#3630)
* no working copy

* oops
2021-11-29 16:44:45 -05:00
Andrey 7fa2fa5707 MAP phase sensing #3544 2021-11-24 23:06:52 -05:00
rusefi 09d26c7b0b live data for wastegate #3588 2021-11-24 15:07:48 -05:00
rusefi 082bfa0eb6 live data for wastegate #3588 2021-11-24 15:03:06 -05:00
Matthew Kennedy 5274cffff3 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
Scott Smith 467db16828 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
Matthew Kennedy e2a4504728 rpm calculator refactoring, gm 24x test (#3585)
* 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?
2021-11-20 14:59:02 +03:00
Scott Smith 07d30285fc Basic framework for high pressure fuel pump control (#3476)
* 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>
2021-11-19 23:06:51 -05:00
Scott Smith 80091498a6 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 19f7fa8f89 Make engine* and friends be const pointers in production. (#3564)
This allows the compiler to see through the pointer and make accesses faster.
It saves 1336 bytes of text.
2021-11-17 03:53:17 -05:00
Matthew Kennedy 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 2cfc4af998 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 c1941f3a49 (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 569ec1013b update luaaa (#3540)
* 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>
2021-11-12 22:10:05 -05:00
Andrey db6a1ae7e2 docs 2021-11-11 21:31:24 -05:00
rusefillc 0db5f673dc Overflow in currentTimeMillis and getTimeNowSeconds #3531 2021-11-11 17:54:31 -05:00
rusefillc 29b21e6eb6 Overflow in currentTimeMillis and getTimeNowSeconds #3531
it now takes 1000 times longer to overflow
2021-11-11 16:43:41 -05:00
rusefillc 677a2ede70 Overflow in currentTimeMillis and getTimeNowSeconds #3531
it now takes 1000 times longer to overflow
2021-11-11 16:39:23 -05:00
rusefillc e117292d62 where are we now? 2021-11-11 11:11:40 -05:00
rusefillc ad7c5d9aae where are we now? 2021-11-11 10:36:31 -05:00
rusefillc 00e49dc195 Aux analog inputs via CAN #3378 2021-10-19 20:04:03 -04:00
rusefillc 504bd78814 Remove engine load acceleration enrichment fix #3357 2021-10-16 21:24:05 -04:00
Matthew Kennedy cb2ae978e5 dead mock iat/clt (#3293)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-01 09:20:08 -04:00
Matthew Kennedy 4416b35820 system lua: load a script! (#3231)
* 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>
2021-09-23 21:45:14 -04:00
Matthew Kennedy 48da721c49 dead knock code (#3255)
* more unification

* hip stub

* comment

* guard

* channel idx

* include

* hip

* move in to engine

* hip9011

* dead stuff

* dead

* fsio

* lcd

* more dead
2021-09-21 20:40:20 -04:00
rusefi c84559f542 merc128: engine config defaults #3236 2021-09-18 22:12:22 -04:00
rusefillc 3cacebd22d let's throw gas at the problem! 2021-09-18 17:48:01 -04:00
rusefillc 09d020b952 https://rusefi.com/forum/viewtopic.php?p=42108#p42108
VVT table validation only if camInput defined
2021-09-09 14:11:48 -04:00
rusefillc 1ac86f50a2 my first Lua 2021-09-01 07:47:50 -04:00