Commit Graph

3124 Commits

Author SHA1 Message Date
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 1e91573219 packing unused 2022-02-01 22:19:24 -05:00
rusefillc b26ef2dcfa packing unused 2022-02-01 22:07:42 -05:00
rusefillc b35bc94b32 packing unused 2022-02-01 22:05:13 -05:00
rusefillc ba830089c8 packing unused 2022-02-01 22:02:35 -05:00
rusefillc a41afb5eac packing unused 2022-02-01 21:50:44 -05:00
Matthew Kennedy d2d73b6fcf
remove me7pnp (#3878)
* remove

* s

* HW_MICRO_RUSEFI
2022-02-01 21:46:06 -05:00
Matthew Kennedy c2eab94534
flex cranking math (#3791)
* flex cranking math

* simplify

* s

* simplify
2022-02-01 20:53:14 -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
GitHub build-firmware Action be547d3717 Auto-generated configs and docs 2022-02-01 22:42:35 +00:00
Andrey G bbe9eb6c5c
enum: add pins for L9779WD-SPI and L9779WD (#3872) 2022-02-01 16:41:45 -05:00
rusefillc 5b63faafa0 Technical debt: ENUM_32_BITS #3874 2022-02-01 16:41:23 -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
rusefillc ca98e270e1
safer file name (#3861)
* safer file name

* safer file name

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-31 21:51:32 -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
GitHub build-firmware Action 10b18f086a Auto-generated configs and docs 2022-01-31 23:26:47 +00:00
rusefillc 1d64929f33 Remove Miata MX5 NB1 trigger fix #3488 2022-01-31 18:20:43 -05:00
GitHub build-firmware Action 2cd4dede4f Auto-generated configs and docs 2022-01-30 14:01:11 +00:00
Matthew Kennedy 40e96a03d5
table for tcharge interpolation (#3855)
* extract getTChargeCoefficient

* new table
2022-01-30 08:45:11 -05:00
Matthew Kennedy 28950acf3e
disable fuel trim shortly after DFCO (#3847)
* vss based dfco

* fix digits while we're here

* fix some other digits for fun

* don't use custom assert

* simplify test

* less than or equal, test vss behavior

* disable closed loop fuel after dfco1

* I can't type

* correct comparison helps

* poke
2022-01-28 21:35:23 -05:00
rusefillc acc6bb6e0b this stuff is dead 2022-01-28 19:52:12 -05:00
Matthew Kennedy 62794ba105
complex wall wetting model (#3849)
* extract logic

* extract interface

* explicitly test wall fuel

* complex wall model tables

* fix unused chunk

* defaults

* doesn't like constexpr scaled_channel
2022-01-28 00:32:36 -05:00
GitHub build-firmware Action de947d2c64 Auto-generated configs and docs 2022-01-27 23:44:58 +00:00
rusefillc d567f2f852 reducing magic constants & pedal calibration 2022-01-27 18:28:42 -05:00
GitHub build-firmware Action 1f664d8b5b Auto-generated configs and docs 2022-01-27 22:59:57 +00:00
rusefillc 1cf898e6e2 reducing magic constants 2022-01-27 17:39:46 -05:00
Matthew Kennedy 2444090933
vss based dfco (#3845)
* vss based dfco

* fix digits while we're here

* fix some other digits for fun

* don't use custom assert

* simplify test

* less than or equal, test vss behavior

* even better than comments are tooltips
2022-01-27 14:05:18 -05:00
Matthew Kennedy 966e51cbc6
more tps accel data (#3844) 2022-01-27 07:46:13 -05:00
Matthew Kennedy eb14d74846
extract logic from wall wetting AE (#3848)
* extract logic

* extract interface

* explicitly test wall fuel
2022-01-27 07:45:50 -05:00
GitHub build-firmware Action c59cde8be1 Auto-generated configs and docs 2022-01-25 02:04:47 +00:00
rusefillc 32c1cd09da https://www.rusefi.com/forum/viewtopic.php?p=44166#p44166
launch control live data
2022-01-24 20:58:21 -05:00
Matthew Kennedy df1635b5a0
dfco checks driver throttle intent (#3832) 2022-01-24 14:26:39 -05:00
GitHub build-firmware Action e584ef198c Auto-generated configs and docs 2022-01-24 02:55:57 +00:00
Matthew Kennedy 717d931e78
refactor decel fuel cut (#3830)
* refactor dfco

* s

* output channel logs dfco

* slightly cheeky comment
2022-01-23 19:44:41 -05:00
rusefillc 304b45e039 https://www.rusefi.com/forum/viewtopic.php?p=44166#p44166 2022-01-23 19:44:14 -05:00
Matthew Kennedy b5232ab5e6
decouple TPS accel enrichment from trigger (#3825)
* move call site

* move thresholding out of fast path

* adjust config

* test
2022-01-23 15:31:39 -05:00
rusefi bb54fb346d but we need valid default 2022-01-21 15:22:11 -05:00
Andrey 1bd71e4b2e migrating to SensorType::Rpm API 2022-01-20 23:54:52 -05:00
Andrey 4ebb3c94d3 migrating to SensorType::Rpm API 2022-01-20 23:43:18 -05:00
Andrey cda2b711cf migrating to SensorType::Rpm API 2022-01-20 23:32:59 -05:00
Andrey e55eb28086 migrating to SensorType::Rpm API 2022-01-20 22:42:13 -05:00
Andrey 3bc59bfbb6 migrating to SensorType::Rpm API 2022-01-20 22:27:48 -05:00
Andrey 3183a123cd migrating to SensorType::Rpm API 2022-01-20 22:26:05 -05:00
Andrey 9f08db256b migrating to SensorType::Rpm API 2022-01-20 22:12:04 -05:00
Matthew Kennedy 76fdb4063e
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 bc66096574 Better handling of RPM during stop of cranking #3803
refactoring: reusing existing method
2022-01-17 21:00:49 -05:00
rusefillc 1c5ad3d153 AlphaX 2022-01-17 20:22:51 -05:00
rusefillc 5a9a563e63 https://github.com/rusefi/alphax-2chan/issues/16 2022-01-15 10:36:49 -05:00
rusefillc 71b2dc762a https://en.wikipedia.org/wiki/Pi 2022-01-14 21:23:27 -05:00
Matthew Kennedy c9350fc3cb
Revert "forced 4 byte thing is actually no longer needed so much" (#3785)
* Revert "forced 4 byte thing is actually no longer needed so much"

This reverts commit 364783f658.

* bump flash version to force a re-write
2022-01-12 21:59:21 -05:00
Matthew Kennedy 7d341cfc9d
improve maf output channels and logging (#3743)
* maf channels

* s

* binary log

* if only I could type

* can

* instant RPM too

* s

* test

* graceful zero rpm

* test works

* float near
2022-01-12 15:41:35 -05:00
rusefillc 240c6fe8b6 GDI red FATAL led on cranking fix #3766 2022-01-12 01:01:33 -05:00
rusefillc dcc7080ce1 logging of live data structs #3614 2022-01-11 22:54:57 -05:00
rusefillc 963c168788 Code style for methods with zero arguments #3535 2022-01-11 22:26:24 -05:00
rusefillc 6ee0a55eaf RE usability: live data for idle controller 2022-01-10 19:48:58 -05:00
rusefillc 0d8e4d5222 AlphaX few bytes of progress 2022-01-10 01:47:06 -05:00
Andreika 1b9037314a
Hellen mcu module detector (experimental) (#3756)
* Hellen mcu module detector (experimental)

* make unit-tests happy

* make unit-tests even more happy

* move Hellen-specific stuff to hellen_common.cpp

* fix other hellen config builds

* helping non-Hellen builds too

* helping alpha2ch build

* helping build

* cleanup

* help unit-tests

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2022-01-09 17:40:08 -05:00
rusefillc 212687dd10 extracting common hellen to it's own file 2022-01-08 20:16:01 -05:00
rusefillc a13a0a2cc9 mk files refactoring 2022-01-06 20:32:39 -05:00
rusefillc 25ca48c408 Live Data progress 2022-01-06 17:58:59 -05:00
GitHub build-firmware Action 2208947bb3 Auto-generated configs and docs 2022-01-05 06:49:51 +00:00
rusefillc 364783f658 forced 4 byte thing is actually no longer needed so much 2022-01-05 00:24:17 -05:00
GitHub build-firmware Action 38b17f5859 Auto-generated configs and docs 2022-01-05 05:09:04 +00:00
GitHub build-firmware Action 7b131dc5c7 Auto-generated configs and docs 2022-01-04 03:39:23 +00:00
rusefillc c7ea8c6e03 helping build: sharing same brain_pin_diag_e 2022-01-03 22:33:38 -05:00
rusefillc 914deedb0f TLE8888 diag says OK on disconnected pins and bench test #3737 2022-01-03 20:33:51 -05:00
rusefillc 21f3f26506 benchTest flexibility 2022-01-03 03:35:26 -05:00
rusefillc e9498f64db GDI/HPFP: Set HPFP current/timing params on MC33816 #3736 follow-up 2022-01-03 02:13:47 -05:00
rusefillc d8de52d325 live data progress 2022-01-02 13:57:58 -05:00
rusefillc 6eb438acd6 why so many channels are hidden in debug ? #3614 2022-01-02 02:04:25 -05:00
Matthew Kennedy 338c14c3a8
cylinder ignition trim (#3709)
* cylinder ignition trim

* changelog

* changelog

* test

* move UI
2022-01-01 15:47:47 -05:00
rusefillc 9dc4efe993 reducing potential confusion with "NO PIN" in engine sniffer
https://rusefi.com/forum/viewtopic.php?p=43812#p43812
2022-01-01 12:10:55 -05:00
Matthew Kennedy ab3e3ac83f
hook up fuel trims (#3715)
* hook up fuel trims

* pass all the params

* store per-cylinder fuel mass directly

* main trigger callback only touches per-cylinder, no banks!

* test test test test

* move UI to happy land

* changelog
2022-01-01 02:19:59 -05:00
Matthew Kennedy d5c4b79b1a
Nb2 crank sync special case (#3727)
* extract isSyncPoint

* test because why not

* check vvt resync nb2

* custom nb decoder

* test only resyncs once!

* good job valgrind, you found a bug!
2021-12-31 15:47:25 -05:00
rusefillc f715210b39 GDI Epic #1448
live view
2021-12-31 15:28:24 -05:00
GitHub build-firmware Action 35655b2186 Auto-generated configs and docs 2021-12-30 02:53:30 +00:00
rusefillc d83b7f19af HellenNA8_96 config folder #3724 2021-12-29 21:23:47 -05:00
rusefillc 1856ff7ac0 reviving Passat 2021-12-29 20:24:04 -05:00
GitHub build-firmware Action 7118f8d5b7 Auto-generated configs and docs 2021-12-27 17:15:43 +00:00
Matthew Kennedy 95ad75318d
improved noFiringUntilVvtSync logic (#3696)
* 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

* nissan MR too
2021-12-27 12:09:38 -05:00
rusefillc 8f68e8e646 refactoring - enum has more usages now 2021-12-26 14:53:27 -05:00
rusefillc 6665c4fb34 docs 2021-12-26 13:41:10 -05:00
rusefillc b337fed520 live data 2021-12-26 13:00:17 -05:00
rusefillc 7cb3eb4c9a live data 2021-12-26 13:00:17 -05:00
rusefillc 9f8ccececd docs & refactoring 2021-12-26 12:35:41 -05:00
rusefillc 63c6621dd0 E65 2021-12-23 16:59:30 -05:00
GitHub build-firmware Action 2c645bd130 Auto-generated configs and docs 2021-12-23 21:46:59 +00:00
rusefillc 713e9133b5 E65 2021-12-23 16:41:06 -05:00
Matthew Kennedy a4871c703c
Autoscale all the things! (#3713)
* Map3D accepts any scaled_channel type

* consistency

* reinstate test

* fix ratio

* throttle, boost, gppwm

* scale ignition and VE

* tests
2021-12-22 08:09:41 -05:00
Matthew Kennedy 3a4a0ba18d
simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Matthew Kennedy 0810198185
clean up timing table defaults (#3705)
* less crazy configs

* cleanup

* make that test happy
2021-12-20 08:02:38 -05:00
rusefillc 66f82a0cdb 2 byte table axis #3045 2021-12-19 22:43:10 -05:00
rusefillc 8bc542b40b https://github.com/rusefi/hellen154hyundai/issues/49 2021-12-17 16:39:12 -05:00
rusefillc 4292c2fb1d MAP phase sensing fix #3544
removing dead implementation
2021-12-16 21:28:27 -05:00
rusefillc 06ccf524dd MAP phase sensing #3544
removing dead implementation
2021-12-16 21:13:55 -05:00
rusefillc f27b4dbd95 dead code? 2021-12-16 21:06:23 -05:00
GitHub build-firmware Action 1de1809074 Auto-generated configs and docs 2021-12-16 21:24:43 +00:00
rusefillc f685bab9eb live data for wastegate and launch control #3588 2021-12-16 16:19:33 -05:00
rusefillc 6542533946 live data for wastegate and launch control #3588 2021-12-16 15:17:35 -05:00
rusefillc 81759802d0 live data for wastegate and launch control #3588 2021-12-16 14:47:00 -05:00
rusefillc 655f12b45d live data for wastegate and launch control #3588 2021-12-16 14:29:39 -05:00
rusefillc 804d396fd6 live data for wastegate and launch control #3588 2021-12-16 14:28:01 -05:00
rusefillc 31ed18fe84 clutch input via CAN #3605 2021-12-15 19:20:07 -05:00
rusefillc b3a240f893 clutch input via CAN #3605 2021-12-15 17:48:21 -05:00
Matthew Kennedy 4148ee76bf
smarter priming logic (#3674)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test

* priming happens on ignition-on

* priming has its own scheduling

* config & UI

* dead config

* implementation

* look, the test caught a bug

* keep the watchdog happy

* bad merge

* changelog

* easier to read the test

* test naming
2021-12-08 16:20:19 -05:00
Matthew Kennedy 2050580a16
prime upon ignition voltage, not on power on (#3662)
* ignition controller detects rising edge on voltage

* update test

* comment

* ignore negative transients

* tweak

* test

* priming happens on ignition-on

* priming has its own scheduling

* test

* dead adjacent line of code
2021-12-08 07:26:49 -05:00
GitHub build-firmware Action 161d75197d Auto-generated configs and docs 2021-12-08 12:10:47 +00:00
Matthew Kennedy c83e8ae5a5
AiM dash (#3673)
* aim dash

* enum
2021-12-08 07:04:59 -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
Andrey 50038167d8 MAP phase sensing #3544
new implementation seems complete?
2021-12-07 21:08:25 -05:00
Andrey 940b04ab24 Let's always have TS structure so that unit tests can check values in outputChannels, kind of making outputChannels a god dump for state but whatever since Live View is coming 2021-12-07 20:18:47 -05:00
Andrey e9d16bfa13 MAP phase sensing #3544
new implementation
2021-12-07 20:00:50 -05:00
Matthew Kennedy 2d05d51cf8
consolidate tps accel (#3671) 2021-12-07 18:49:21 -05:00
rusefillc b778aa7173 Pause CAN broadcast on engine stop #3665 2021-12-07 10:35:52 -05:00
rusefillc b4c07798b5 MAP phase sensing #3544 2021-12-07 08:57:23 -05:00
rusefillc 1dd3370b56 https://rusefi.com/forum/viewtopic.php?f=18&t=2236 2021-12-06 21:31:49 -05:00
Matthew Kennedy 3a95e86112
calculate per-cylinder ignition timing (#3652)
* simplify cylinder phasing

* per cylinder timing

* s

* s

* s

* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
rusefillc f826fe13aa MAP phase sensing #3544
trigger sync better gauges/logging
2021-12-06 17:04:05 -05:00
rusefillc dbb3de3618 tune via CAN #3361
pauseCANdueToSerial
2021-12-05 21:21:36 -05:00
Matthew Kennedy 7dc20b368a
Alternator controller is engine module (#3663)
* alternator is engine module

* user can't set pid period
2021-12-05 18:33:50 -05:00
Matthew Kennedy 555a8d5f43
simplify cylinder phasing (#3650) 2021-12-05 10:46:35 -05:00
Andrei 99daecb7c7 better ignition_voltage_detected message 2021-12-04 01:41:25 -05:00
rusefillc 168a899ba9 how many more spelling mistakes?! 2021-12-02 01:06:40 -05:00
rusefillc f4ab23eb2b Requesting LUA Torque intervention #3638 2021-12-02 01:02:56 -05:00
GitHub build-firmware Action 4392161ac9 Auto-generated configs and docs 2021-12-02 05:04:17 +00:00
rusefillc 0ce025b1f5 fix vBatt false-detection 2021-12-01 11:22:13 -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 e75590fd45 why so many channels are hidden in debug ? #3614 2021-11-29 14:11:19 -05:00
rusefillc 89f92e1694 why so many channels are hidden in debug ? #3614 2021-11-29 11:54:55 -05:00
rusefillc 11e81cfb57 why so many channels are hidden in debug ? #3614 2021-11-29 10:44:41 -05:00
rusefillc 818d12f68e why so many channels are hidden in debug ? #3614 2021-11-29 10:16:45 -05:00
rusefillc 26997ab9e3 why so many channels are hidden in debug ? #3614 2021-11-29 01:02:40 -05:00
Matthew Kennedy d5363b814a
better VSS configuration (#3542)
* vss uses real values

* some defaults

* test and correct math

* km, not miles!

* comment

* tooltip

* that macro went away

* 100hz and default settings gives 9kph

* changelog

* order of operations safety

* make the test like the pwm test

* housekeeping

* this is why we need sensor automation

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-27 08:49:07 -05:00
rusefillc bdde177e04 skipspark script kills ECU fix #3611 2021-11-25 22:40:19 -05:00
GitHub build-firmware Action c0d3de4128 Auto-generated configs and docs 2021-11-26 02:06:11 +00:00
Andrey 0ec8b8d46c reliable 32/2 trigger shape 2021-11-25 20:45:58 -05:00
Matthew Kennedy f8403543d6
wall fuel tweaks (#3617) 2021-11-25 18:45:44 -05:00
Matthew Kennedy 0badb6b2ff
AC is EngineModule (#3604)
* AC is engine module

* missed a spot with main relay while we're at it

* TS
2021-11-25 07:59:31 -05:00
Andrey 12d5106614 isCylinderCleanupEnabled would be nice by default 2021-11-24 23:32:55 -05:00
Andrey e2fa1af527 MAP phase sensing #3544 2021-11-24 22:36:36 -05:00
Andrey f1b8acb1fd MAP phase sensing #3544 2021-11-24 22:35:56 -05:00
Matthew Kennedy 992689ced5
bye (#3609) 2021-11-24 22:03:17 -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
rusefillc 794ec5e2b8 well Lua wants to be BIG 2021-11-23 16:40:04 -05:00
GitHub build-firmware Action 174b03e8be Auto-generated configs and docs 2021-11-22 23:12:52 +00:00
Matthew Kennedy 3334a6963c
oh my god we've had no asserts (#3595) 2021-11-22 17:52:03 -05:00
rusefillc a369e7e3d3 unusedLogFormat 2021-11-22 13:37:06 -05:00
Matthew Kennedy a342bee57e
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 cbc7c61b3e
Fix potential buffer overrun in cyclic_buffer. (#3583)
This exposed a buffer overrun, so double the size of the buffer (to account for 720 degree engine
cycle vs 360 degree crank events).

Also use proper numeric limits when computing min/max.
Finally, add a lock around the call to cyclic_buffer that actually caused the contention.
2021-11-20 03:01:11 -05:00
Matthew Kennedy bb57a4b084
detect more overflows with asan (#3582)
* overflow detector

* type list dynamic allocate

* fix the buffer length

* comment

* pr fb

* sanitize sim

* fix sim sanitizer bug

* didn't mean to turn off optimization for sim

* asan can do that, if you turn it on!

* cleaning
2021-11-20 01:38:39 -05:00
Scott Smith 5bc1949aef
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
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
rusefillc 684622e476 debug mode for skipped count for 4 cylinders #3570 2021-11-19 07:02:21 -05:00
Matthew Kennedy caee2a5439
delimeter is not comma (#3533)
* delimeter is not comma

* do it in config txt

* use txt

* s

* string

* compat

* also, spelling is hard

* use new name

* use new name

* generate enough for happy console

* use an even less common character

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 12:01:45 +03:00
Scott Smith 18c27a6e9c
Separate out scheduleOrQueue into it's own standalone scheduler. (#3573)
It's a large enough entity that it shouldn't be buried in ignition logic.
2021-11-18 14:27:21 -05:00
rusefillc 877535b8ff proportional spark cut #3427 2021-11-17 23:35:26 -05:00
Scott Smith 98040ad9af
Make the module API more concise. (#3571)
engineModules.get<FOO>(). becomes modules<FOO>()->

I believe the new API is more conducive to supporting arrays, by doing std::array<T, N> or
std::array<Mockable<T>, N>, with the support of a helper class.
2021-11-17 21:50:00 -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 70ad9724c0
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
Scott Smith cc95bd6c8e
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* (#3560)
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*

for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
    git grep -l "$i" | xargs sed -i "s/$i//g"
done

git grep -l "inject" | xargs sed -i "/inject[(][)]/d"

for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
    git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done

git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h

* Review fixups.
2021-11-16 16:52:11 -05:00
rusefillc 17d4646dce spelling 2021-11-16 16:46:54 -05:00
rusefillc dad00adc28 helping launch enter simulator 2021-11-16 16:45:14 -05:00
rusefillc 678a756275 helping launch enter simulator 2021-11-16 16:31:35 -05:00
Andrey a61043e570 proportional spark cut #3427 2021-11-16 13:23:08 -05: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
Andrey 0cc88ec6e2 Not all launch control options are used #3554 2021-11-15 21:13:01 -05:00
Andrey 3b0825181c technical debt: enableOverdwellProtection #3553
only documentation
2021-11-15 20:32:25 -05:00
Andrey 655b77dc3f random refactoring: trigger central encapsulation 2021-11-15 20:22:05 -05:00
Andrey 928c673695 refactoring launch 2021-11-15 20:09:03 -05:00
Andrey 05fa6071dd refactoring launch 2021-11-15 19:55:04 -05:00
Andrey 0d5df34f36 refactoring launch 2021-11-15 19:55:04 -05:00
Andrey c18204325c refactoring launch 2021-11-15 19:34:42 -05:00
Andrey f510cb8b29 refactoring launch 2021-11-15 19:24:00 -05:00
Andrey 4002c92dcc refactoring launch 2021-11-15 18:57:12 -05:00
Andrey 34015eceee refactoring launch 2021-11-15 14:40:35 -05:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
GitHub build-firmware Action adbb32e9b6 Auto-generated configs and docs 2021-11-15 03:03:29 +00:00
rusefillc 6f3eea31c6 MAP phase sensing #3544 2021-11-14 21:58:01 -05:00
rusefi e8aebc313a Something something Automatic Compression Release #3442 2021-11-14 15:04:10 -05:00
rusefi 89ab20c35c Epic: Remove FSIO #2928 2021-11-14 14:14:43 -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
rusefillc 991d0c5001 Epic: Remove FSIO #2928 2021-11-14 08:33:19 -05:00
rusefillc 0a9682c553 Epic: Remove FSIO #2928 2021-11-14 07:24:50 -05:00
rusefillc a9bcce88d0 script settings need names! 2021-11-13 22:47:46 -05:00
GitHub build-firmware Action b295511600 Auto-generated configs and docs 2021-11-14 03:02:10 +00:00
Matthew Kennedy d591a5ad26
mercedes two lobe trigger testing (#3543)
* mercedes

* config

* break;

* I did the gap ratio math wrong

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-13 21:50:04 -05:00
rusefillc 8333234737 Something something Automatic Compression Release #3442 2021-11-13 04:24:53 -05:00
GitHub build-firmware Action dffab7abff Auto-generated configs and docs 2021-11-13 03:01:55 +00:00
rusefillc 6d58518fb2 Proteus Harley 2021-11-12 21:56:07 -05:00
GitHub build-firmware Action 2765d386b9 Auto-generated configs and docs 2021-11-12 01:54:56 +00:00
Andrey 562ab174d7 Bench Test IAC Valve fails #3534
that's not even funny
2021-11-11 20:39:01 -05:00
Andrey 8d154b94df Bench Test IAC Valve fails #3534 2021-11-11 20:31:46 -05:00
Andrey df98eb69d4 Bench Test IAC Valve fails #3534 2021-11-11 20:28: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
rusefillc 2794a85ff8 Idle valve outputs not available in TS #3523 2021-11-10 20:40:42 -05:00
rusefi 8aaecb568e pid demo progress 2021-11-08 17:31:33 -05:00
Andrey 9d2f9f0d35 docs 2021-11-08 12:23:00 -05:00
rusefillc 656b8c3429 refactoring - magic constant bad 2021-11-07 00:03:16 -04:00
GitHub build-firmware Action ed44ee9b11 Auto-generated configs and docs 2021-11-07 03:59:47 +00:00
rusefillc ce45a907a7 a bit of dead code 2021-11-06 23:39:56 -04:00
rusefillc b244c59cd8 a bit of dead code 2021-11-06 21:19:56 -04:00
GitHub build-firmware Action e065a6ca4c Auto-generated configs and docs 2021-11-07 01:05:29 +00:00
rusefillc 4f738b366e a bit of dead code 2021-11-06 21:01:01 -04:00
Andrey 6111355e6c Remove Miata MX5 NB1 trigger #3488 2021-11-06 20:24:41 -04:00
GitHub build-firmware Action 05b494a726 Auto-generated configs and docs 2021-11-06 23:15:42 +00:00
rusefillc 7b8821955b a bit of dead code 2021-11-06 18:43:19 -04:00
GitHub build-firmware Action b1c27c95d5 Auto-generated configs and docs 2021-11-06 22:37:34 +00:00
rusefillc 1cbe2f7bef PROTEUS_LUA_DEMO 2021-11-06 18:24:59 -04:00
GitHub build-firmware Action ab668c5bed Auto-generated configs and docs 2021-11-06 03:28:22 +00:00
Scott Smith f9e36f5ea4
Configuration for HPFP control algorithm. (#3475) 2021-11-05 23:15:35 -04:00
Scott Smith 675460fafb
Move fuel density to a header file so it can be accessed by other components. (#3474) 2021-11-05 22:29:56 -04:00
Scott Smith 16378dcf59
Convert existing tables to use the simpler 3d table definition style in rusefi_config.txt (#3473)
This fixes #3465.
2021-11-05 21:55:33 -04:00
Scott Smith 6d38fe1eb3
Allow scaled_channel to have both multiplier and divisor (#3468)
Disallow scaled_channel for float.  I can't think of a reason to allow it, and it gets in the way
of rounding.

Add separate template param to setTable; let the compiler sort out whether assignment can happen
between TElement and VElement without forcing them to be the same at function call time.
2021-11-05 17:34:22 -04:00
GitHub build-firmware Action 9e8d55177a Auto-generated configs and docs 2021-11-05 19:42:05 +00:00
Matthew Kennedy 2b9696442e
nissan MR18DE VVT cam pattern (#3466)
* refactoring nissan trigger

* comments

* plumbing

* b

* enums

* image

* image

* implement decoder

* reshuffle

* don't case unused

* dead trigger enums
2021-11-05 15:33:22 -04:00
rusefillc b7feea1aa5 minor todo 2021-11-05 10:01:58 -04:00
GitHub build-firmware Action 618e7edc2c Auto-generated configs and docs 2021-11-05 11:19:56 +00:00
Matthew Kennedy 365691cb37
nissan 4yl crank pattern (#3462)
* refactoring nissan trigger

* comments

* plumbing

* b
2021-11-05 07:15:03 -04:00
rusefillc 1ead914f93 more curves! also names for curves 2021-11-04 23:59:04 -04:00
rusefillc 85984928ca more curves! also names for curves 2021-11-04 23:19:44 -04:00
rusefi 1d9aa8bd12 turboSpeedSensorMultiplier 2021-11-04 19:35:58 -04:00
racer-coder 2612db570f
Fix the types in various fuel functions that actually refer to grams, not ms. (#3458) 2021-11-04 11:50:19 -04:00
rusefillc db310a4bd0 most dead miata config 2021-11-04 09:56:05 -04:00
Matthew Kennedy 59e9d05fc7
extract engine phase function (#3456)
* extract getCurrentEnginePhase

* inject engine ref

* never invalid RPM, use 0 instead

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-04 05:46:16 -04:00
Matthew Kennedy 24224729a3
support autoscale on table axes (#3452)
* scale map Y axis

* allow different row/col types

* scaled channel detector

* interpolation

* looks like this actually works

* tests, no manual scaling

* comment
2021-11-03 19:53:26 -04:00
Matthew Kennedy 980a7cc833
autoscale fields in generated structs (#3444)
* add to grammar

* parser

* parser

* example consumer

* build config tool

* commit the right jar
2021-11-02 18:59:19 -04:00
rusefi e1a78cce41 docs 2021-11-02 17:11:44 -04:00
Matthew Kennedy 75a2b5ef02
Knock retard (#3396)
* output gauge

* knock controller

* don't need that

* inject engine ref

* test knock

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
rusefillc 7e4ade6b0f better VVT default? 2021-10-31 15:25:43 -04:00
rusefillc ada747baef Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
fail faster!
2021-10-31 12:09:11 -04:00
rusefillc e1402818bc live data stuff goes up 2021-10-31 12:07:44 -04:00
GitHub build-firmware Action 4d62ed9a09 Auto-generated configs and docs 2021-10-31 02:31:01 +00:00
Andrey 2de0409061 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 22:24:43 -04:00
Andrey d0b2ce5654 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 22:21:36 -04:00
GitHub build-firmware Action 38c67baed7 Auto-generated configs and docs 2021-10-31 02:08:31 +00:00
Andrey 97e34ad0d1 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 22:03:19 -04:00
Andrey 432bad64ed Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 21:45:52 -04:00
Andrey b6fad6ec81 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353 2021-10-30 21:45:37 -04:00
rusefillc c62fedbe34 Override trigger gaps feature #2734 2021-10-30 10:45:32 -04:00
Andrey 747bbd9c6a warning(CUSTOM_PID_DTERM, "PID: unexpected dTime") 2021-10-29 18:31:43 -04:00
rusefillc 4c164aaf5c Honda K & default VVT pid 2021-10-29 12:16:19 -04:00
rusefi 5ca1db80bc Honda K cam wheels #3405 2021-10-28 15:57:23 -04:00
Andrey c57f9c325f https://rusefi.com/forum/viewtopic.php?f=19&t=2177 2021-10-28 13:49:44 -04:00