Commit Graph

836 Commits

Author SHA1 Message Date
rusefillc 7288638ec8 antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-22 14:38:40 -05:00
rusefillc 7ca5fe5271 antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-22 10:22:13 -05:00
rusefillc c641ed6fdc antilag and anti-lag #2403
TurboMarian is the ALS boss
2022-12-21 21:29:01 -05:00
rusefillc f6382fdf2a RPM correction/multiplier for Accel Enrich #4760 2022-12-13 16:36:38 -05:00
Andrey 1d4a454f0c ETB JNI test progress 2022-11-29 02:21:36 -05:00
Nathan Schulte 7956fe1941 firmware: only print ADC info if HAL_USE_ADC 2022-11-18 23:15:54 -05:00
rusefillc 92bed0c699 less horrible constant name 2022-10-27 22:17:50 -04:00
rusefillc 67ea775f17 progress: rpm register based on trigger input being none or not (#4691)
* progress: rpm register based on trigger input being none or not

* use helper functions

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-22 09:27:41 -04:00
rusefillc 8b1a1a984c refactoring: wider usage of helper method 2022-10-22 08:39:55 -04:00
rusefillc 4f6b1eb3b7 progress: rpm register based on trigger input being none or not 2022-10-21 23:57:37 -04:00
rusefillc 56d5e01d89 ROLLBACK 2022-10-21 22:45:46 -04:00
rusefillc cb7625e40e progress: rpm register based on trigger input being none or not (helping unit tests) 2022-10-21 22:25:05 -04:00
rusefillc a0c0e38cfd progress: rpm register based on trigger input being none or not 2022-10-21 22:07:41 -04:00
rusefillc 4e3c01be71 current unused RAM metric? 2022-10-21 17:12:15 -04:00
rusefillc 65f3fce774 current unused RAM metric 2022-10-21 12:10:31 -04:00
Matthew Kennedy a13445478f consolidate analog vs. temp info commands (#4646)
* consolidate analog vs. temp info commands

* cleanup

* guard
2022-10-10 07:44:20 -04:00
rusefillc 359c682896 ingles lo hablas 2022-10-01 06:15:00 -04:00
Matthew Kennedy d4a0c0417e refactor prime (#4627) 2022-09-28 07:53:12 -04:00
rusefillc 8ba835fb58 refactoring: renaming method 2022-09-27 22:21:18 -04:00
Andrey aa0cffcfdb deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:06:52 -04:00
Andrey 34f87a3683 inline method to reduce confusion 2022-09-14 01:24:19 -04:00
Andrey G 1ca5988877 time routines refactor (#4563)
* 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()
2022-09-11 13:06:03 -04:00
rusefillc efcd8ea084 refactoring - reducing API between FW and Java 2022-09-11 01:59:44 -04:00
rusefillc 9bb35a3d97 How does rusEFI handle 23 (or 46?) days of continues operation #4554 2022-09-09 17:21:58 -04:00
Andrey 25b6d39802 os_access.h dead? 2022-09-07 15:56:45 -04:00
Andrey b756fbd605 dead console command and minor refactoring 2022-08-31 22:41:58 -04:00
Matthew Kennedy 2926570747 idle coasting table is RPM, not clt (#4487)
* idle coasting table is RPM, not clt

* default

* autoscale

* changelog
2022-08-29 08:15:04 -04:00
Matthew Kennedy 24142f8330 Simpler thread controller (#4327)
* s

* Start -> start

* maybe tests are happy

* s

* s
2022-08-02 01:16:13 +03:00
Matthew Kennedy efdae2322d Start -> start (#4366) 2022-07-21 15:17:32 -04:00
rusefillc 133ab5618b FSIO is dead 2022-07-14 07:52:58 -04:00
rusefi dc6ce73e8a https://rusefi.com/forum/viewtopic.php?p=45720#p45720 2022-06-27 23:57:56 -04:00
Andrey 03662e48c4 Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
Matthew Kennedy 83caf1ea1b Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
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
rusefillc 43346e1a4a Revert "partial rollback was requested to revive HW CI"
This reverts commit a460e588
2021-08-27 12:42:53 -04:00
rusefillc a460e588ef partial rollback was requested to revive HW CI 2021-08-26 17:04:27 -04:00
Matthew Kennedy 1b485ca2d8 memory savings (#3195)
* 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
2021-08-26 23:05:31 +03:00
Andrey 655c47b4d7 zero dwell warning at zero RPM #3153 2021-08-16 07:21:07 -04:00
rusefillc a5a3ec3f13 zero dwell warning at zero RPM #3153 2021-08-16 07:00:17 -04:00
Matthew Kennedy 4e6b61234f yet more pch (#3068)
* 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>
2021-08-03 22:05:01 -04:00
Matthew Kennedy 8ebb7b8f24 discrete VR threshold control (#3061)
* vr pwm

* rename

* scaling and ui

* hellen pin

* s

* math

* ooh, pch

* happy test

* not magic
2021-07-28 07:44:44 -04:00
Matthew Kennedy d3ec2b21d1 Use pch in lots of files (#3066)
* most engine.h

* most engine_configuration

* more

* more

* more

* more

* more

* moooooore

* ok I'm done for now

* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy 6ba3c0bace dead (#3016) 2021-07-23 08:31:23 -04:00
Matthew Kennedy e3849b95d5 don't require EXTERN_ENGINE in every file (#2969)
* move enginePins

* no more extern engine

* uses

* more

* extern config too

* put this where it belongs

* include correct header

* merge
2021-07-16 18:13:33 -04:00
rusefi ebc5713261 each byte counts 2021-07-14 13:15:15 -04:00
Matthew Kennedy 0a40ccd619 put names in flash (#2939)
* put names in flash

* probing freed ram

* this one too

* probing memory

* more like that much
2021-07-09 17:05:16 -04:00
Andrey 8ab2fb542b RX8 wants all the RAM 2021-07-09 15:51:16 -04:00
Matthew Kennedy f169fbf615 trailing spark scheduling (#2932)
* enable bit

* implement trailing sparks

* test trailing spark

* it helps to call the correct function

* add pins

* gobblin ram
2021-07-09 08:37:46 -04:00
Matthew Kennedy ba331f4895 knock sensing peak detect (#2910)
* knock peak detect

* comments

* comment

* initialize

* test

* fix warnings while we're here

* those are functions, not values

* ram
2021-07-06 21:44:59 -04:00
Matthew Kennedy a3d3638232 more graceful chibios assertion failure (#2859)
* no custom assert hook

* dead

* setjmp/longjmp

* always call tid hook

* tests get threadid

* simulator threadid

* kick

* stubs for kinetis

* make it happier

* noreturn

* oops

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-05 18:18:58 -04:00
Matthew Kennedy 6bfaed64db lua pwm hooks (#2687)
* pwm hook

* dedicated pins

* write hook

* UI

* more info

* zero based, clamp

* memory

* don't compile lua in bootloader at all
2021-05-20 19:01:17 -04:00