rusefillc
107685f069
this seems mostly dead?
2022-04-30 13:43:09 -04:00
Matthew Kennedy
38213bbc00
more missing autoscale ( #4112 )
...
* autoscale m_config->timeConstant
* min/max afr
* more
* dwell voltage
* closed loop fuel
* knock
* map estimate
* applyNonlinearBelowPulse
* fix
* add a test while we're at it for un-covered code
* test fallback MAP since we touched that
* always compute fallback MAP even if sensor is OK
2022-04-28 08:16:02 -04: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
Matthew Kennedy
338c14c3a8
cylinder ignition trim ( #3709 )
...
* cylinder ignition trim
* changelog
* changelog
* test
* move UI
2022-01-01 15:47:47 -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
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
rusefillc
89f92e1694
why so many channels are hidden in debug ? #3614
2021-11-29 11:54:55 -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
Matthew Kennedy
8cdac4cac0
remove engine pointer passing ( #3556 )
...
* some
* more
* more
* the last?!
2021-11-16 04:15:29 -05:00
Andrey
928c673695
refactoring launch
2021-11-15 20:09:03 -05: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
Andreika
d917cc8cc2
[DRAFT] Fix cranking->idling taper phase for useSeparate*ForIdle tables ( #3168 )
...
* Rename Phase::CrankToRunTaper -> CrankToIdleTaper
* Change isIdling() to isIdlingOrTaper()
* test_idle_controller.cpp
* useSeparateIdleTablesForCrankingTaper setting
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 12:05:20 -04:00
rusefillc
b4884498cb
OBD error renames
2021-10-03 01:30:42 -04:00
rusefillc
063ab4af35
dead FSIO
2021-08-14 11:52:41 -04:00
Matthew Kennedy
b52d50bbf2
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
2ce7777865
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
Matthew Kennedy
e7f17b0365
move ign & cranking defaults ( #2791 )
...
* ignition defaults
* cranking
* s
2021-06-03 14:40:19 -04:00
Matthew Kennedy
3ef969d743
warnings & assorted cleanup ( #2793 )
...
* lua hook
* validateBuffer
* tables
* simplify fsio table
* test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-03 14:30:25 -04:00
Matthew Kennedy
ab214f974c
Bandaid for 2735 ( #2788 )
...
* bandaid
* fix test
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-02 12:02:52 +03:00
Matthew Kennedy
790ac08a2e
Cranking defaults ( #2787 )
...
* defaults
* more
* cranking fuel
* cranking timing
* cranking time digits
* ugh these tests shouldn't depend on defaults
2021-06-02 08:21:36 +03:00
rusefillc
590f5e4f99
cranking timing not costant #2733
2021-05-23 13:54:49 -04:00
Matthew Kennedy
dd6105cfa3
shrink canned tables ( #2651 )
...
* helper
* use it miata
* do type safe copy
* miata vvt
* etb
* default iat correction
* magic is afoot here
* hunchback
* misc
* neon
* neon
* aspire
* citroen
* neon
* missed one
* dead
* festiva
* remove andreyism
* very dead
* no need for copy of that function
* cleanup
2021-05-09 14:37:16 -04:00
Matthew Kennedy
8b3aa6c40d
goodbye ignitionOffset ( #2503 )
...
* remove
* set the timing map to do what the offset used to do
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-28 08:00:09 -04:00
Matthew Kennedy
4a1d3de9a6
remove unused msg parameter ( #2360 )
...
* dead parameter
* last few
2021-02-16 09:32:16 -05:00
Matthew Kennedy
868f0d47ac
Enable idle timing/ve tables based on idle phase logic ( #2213 )
...
* add helper
* advance
* ve
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-11 00:54:37 -05:00
Matthew Kennedy
7a90692187
Idle timing uses phase logic, remove falloff ( #2169 )
...
* use phase computation
* move & simplify implementation
* test
* bad merge
* initialize
* wonderful changelog
* now unused parameter
* put back deadzone
* ui
* test deadzone
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-07 08:06:36 -05:00
rusefillc
46583b2a19
Revert "Idle timing PID uses phase logic ( #2156 )"
...
This reverts commit 9634a803
2020-12-31 12:22:54 -05:00
Matthew Kennedy
9634a803f1
Idle timing PID uses phase logic ( #2156 )
...
* use phase computation
* move & simplify implementation
* test
* bad merge
* initialize
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-29 23:50:56 -05:00
Matthew Kennedy
aeea50ada2
move target computation ( #2091 )
2020-12-17 17:46:51 -05:00
rusefillc
662eaea384
avoid float -> int64 conversion #1977
...
both cases have to be relatively small durations of time cherry picking...
2020-12-03 13:32:01 -05:00
Matthew Kennedy
0e3673e78c
remove idle thread; just call from periodicSlowCallback ( #1924 )
...
* remove thread
* remove ui
2020-11-11 21:47:19 -05:00
Matthew Kennedy
95798a5246
fix broken master, inject engine ptr to rpmcalculator ( #1759 )
...
* fix
* oops
2020-09-05 18:49:42 -04:00
rusefi
1703152427
reducing code duplication?
2020-07-29 23:01:55 -04:00
Matthew Kennedy
0aa42762d9
remove
2020-07-21 00:08:41 -07:00
Matthew Kennedy
2c9cb4e291
remove "plain MAP" mode ( #1398 )
...
* consumers
* enums, input, config
* java
* default config cleanup
2020-05-05 15:04:55 -04:00
Matthew Kennedy
4d24fdd57d
Fuel/ign correctino on new temp sensors ( #1318 )
...
* corrections
* test
* adv map
* tests
* cleanup
* lcd
* fsio
* unneeded
* more math
* last consumer
* cleanup
* fix kinetis
2020-04-18 18:45:30 -04:00
Matthew Kennedy
9f75c0cea6
TPS consumers: idle and ignition and obd2 and lcd ( #1254 )
...
* advance_map
* tests
* unneeded
* idle
* use driver intent instead
* and obd and lcd
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-03 19:59:08 -04:00
Matthew Kennedy
f958047d14
only correct timing in dynamic mode ( #1247 )
...
* only correct in dynamic mode
* redundant check
2020-04-02 08:54:55 -04:00
Matthew Kennedy
8fd9842310
cleanup extern mess ( #1237 )
...
* cleanup
* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy
a5d4d06868
Multispark implementation ( #1192 )
...
* multispark prototype
* only multispark if not cut
* typo
* do some reasonableish math
* consume cfg
* todo
* bad merge
* move math out of engine2.cpp
* engine state config
* consume generated
* use new
* hand generate
* doc, debugging
* debug channel names
* don't depend on rpmcalc
* safer, fix math
* tests
* default multispark config
* remove todo
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-26 01:49:36 -04:00
Matthew Kennedy
2c809e4475
Remove old monitoring timestamps ( #1217 )
...
* remove monitoring timestamps
* adv map
* fuel calc
* map avg
* printing
* spark logic
* hip 9011
* new traces
* s
* missed a few
2020-03-24 20:19:19 -04:00
rusefi
9e125ecbdf
launch control #203
2020-03-24 19:55:12 -04:00
Matthew Kennedy
397907a06f
Support disabling most/all features ( #1162 )
...
* this flag did nothing
* guard features properly
2020-02-26 18:16:35 -05:00
ola
d49e253bff
Some initial work at Launch/ALS
...
(cherry picked from commit 07b3a0632f6673ad57db5b2d6b8ad21674cf3509)
2020-02-02 12:17:06 -05:00
rusefi
b83a5310be
happy new year
2020-01-08 00:02:40 -05:00
rusefi
af4f20551b
getting rid of boardConfiguration / binary compatible change
2019-12-11 17:48:55 -05:00
Matthew Kennedy
9ee8616cb0
Use templated array references ( #1027 )
...
* update defs
* consumers, use default params
* setArrayValues in tests
* floats
* test fixing
2019-11-22 23:27:24 -05:00
rusefi
801b2eb70e
progress towards #961
2019-11-04 22:52:37 -05:00
rusefi
62577c47da
preparation for #961
...
more unified access to pre-calculated value
2019-10-10 08:25:58 -04:00
Matthew Kennedy
29804cbc8a
move tsOutputChannels to header ( #970 )
2019-10-08 21:02:51 -04:00
Matthew Kennedy
e0db83e027
Template-ize bin/value length for interpolation ( #878 )
...
* update consumers
* tests
* whitespace
* format
2019-07-09 21:16:36 +03:00
rusefi
cdac02429c
refactoring: better file name
2019-07-06 20:15:49 -04:00
rusefi
ff39a72633
typo
2019-06-14 00:57:24 -04:00
rusefi
09a29be80e
input has sizes hard-coded #836
2019-06-10 15:45:18 -04:00
rusefi
01e481db31
fix #802
2019-05-25 13:36:29 -04:00
rusefi
d7fd0ce6c1
refactoring: better method name
2019-05-07 19:32:08 -04:00
rusefi
f04732830f
PID - fix dTime usages #776
2019-04-25 21:31:33 -04:00
rusefi
541c445a2d
defined(__DOXYGEN__) ? #748
2019-04-12 22:07:03 -04:00
rusefi
be9651cb95
The Big Refactoring of 2019: folder structure #723
2019-03-31 17:44:34 -04:00
andreika-git
984fc12f73
Idle timing PID control & TPS-based VE table ( #713 )
...
* Add new config settings for idleTimingPidControl & TPSBasedVeTable
* Add dialogs for idleTimingPidControl settings
* Add dialogs for TPSBasedVeTable settings
* Share the code for getTargetRpmForIdleCorrection() and move it from idle_thread.cpp
* Implement TPSBasedVeTable
* Add PID to advance_map.cpp
* Implement idleTimingPidControl
* Make getAdvanceCorrections() visible to unit-tests
* Unit-tests! Yeah!
2019-03-22 22:55:51 -04:00
rusefi
da4fb3a19f
better conditional compilation
2019-01-31 17:55:23 -05:00
rusefi
1b0c46aaa7
better fields location, better initialization logic
2019-01-19 21:10:58 -05:00
rusefi
6bb8da7b39
Question: something strange trigger errors #662
2019-01-11 09:24:24 -05:00
rusefi
60d96c4216
refactoring: method name consistency
2019-01-10 23:48:05 -05:00
rusefi
dd8e2d9326
The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657
2019-01-10 19:25:07 -05:00
rusefi
cbd2d69731
The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657
2019-01-09 22:57:33 -05:00
andreika-git
23fea3c0c5
STM32 Nucleo144-F767ZI board: Initial support ( #620 )
...
* More EFI_ #ifdefs for config flexibility
* Even more config flexibility
* New firmware/config/stm32f7ems/* files
* New firmware/config/boards/NUCLEO_F767/* files
* New firmware/hw_layer/stm32f7/* files
* Fix for EFI_USB_SERIAL
* Adding #if defined(STM32F7XX)
* SPI flags changed in F7: SPI_CR1_DFF --> SPI_CR1_CRCL
* I2Cv2 config changed in F7
* More versatile CCM defines
* Makefiles
* Double #ifs cleanup
* docs
2018-11-16 07:40:06 -05:00
rusefi
d49954f9c1
better state validation
2018-10-07 14:22:05 -04:00
andreika-git
bd40691e67
AirFlow-interpolated tCharge Mode ( #612 )
...
* Add vars & enums
* updateTChargeK()
* limitRateOfChange()
* Impl. AirFlow-interpolated tCharge mode
* Update tsOutputChannels: tCharge & airFlow
* Set default config params
* Unit-tests
* Fix tChargeMode_e
2018-09-29 12:16:36 -04:00
rusefi
ea9bac7bb5
better state validation
2018-09-29 11:11:25 -07:00
andreika-git
967b852752
Tps-based Advance Table ( #611 )
...
* typedefs
* Impl. TPS-based Advance
2018-09-26 04:13:16 -04:00
rusefi
1f90cf153d
refactoring
2018-09-16 22:26:57 -04:00
rusefi
04b4e69de9
better state validation
2018-09-16 22:11:59 -04:00
rusefi
7b37195d64
names for error codes
2018-09-10 22:00:13 -04:00
rusefi
99e74635ef
step towards more unique codes
2018-07-25 23:30:00 -04:00
rusEfi
9cce922b78
per error code
2018-07-23 21:38:05 -04:00
rusefi
74bd1d7e10
error code into angle validation
2018-07-23 21:03:20 -04:00
rusefi
e3dfcc4df9
more detailed warning
2018-06-12 05:45:11 -04:00
rusefi
f959619a59
better state validation
2018-05-24 22:12:57 -04:00
andreika-git
9424d39ab3
Impl. useSeparateAdvanceForCranking & useAdvanceCorrectionsForCranking ( #565 )
2018-02-02 08:18:00 -05:00
andreika-git
66d7c2bd5d
Fix advance corrections for cranking ( #547 )
2018-01-22 23:47:58 -05:00
rusefi
1d31067d19
happy new year
2018-01-20 20:55:31 -05:00
rusEfi
9684549124
better method name
2018-01-07 11:17:49 -05:00
andreika-git
e33f9db120
Fix useSeparateAdvanceForIdle now using corrections ( #527 )
2018-01-02 21:11:49 -05:00
andreika-git
58cff1697e
Impl. useSeparateVeForIdle/useSeparateAdvanceForIdle ( #522 )
2017-12-23 12:24:20 -05:00
rusEfi
e00fff9ca0
better state check
2017-12-03 16:45:39 -05:00
rusefi
6c25d4a4cf
better state validation
2017-12-03 16:16:15 -05:00
andreika-git
6290befc71
Implement Cranking to Running Adv.Angle Interpolation for faster start ( #506 )
...
* Implement Cranking to Running Adv.Angle Interpolation for faster start
* Reduce code dup. and rename minRpm
* fix
2017-12-03 13:25:24 -05:00
rusefi
0d3bed02b2
refactoring
2017-12-03 13:22:29 -05:00
rusefi
7fd158f547
useFSIO16ForTimingAdjustment
2017-08-03 21:21:16 -04:00
rusefi
e1e17bab2a
rpm refactoring
2017-07-06 08:43:15 -04:00
rusefi
2a9f3cdede
better macro name
2017-05-15 23:28:49 -04:00
rusefi
b193e17b7d
refactoring - reducing GPIO complexity
2017-04-21 16:27:15 -04:00
rusefi
a9fca33dea
refactoring - extracting sensors storage class
2017-03-07 02:24:57 -05:00
rusEfi
8782c80749
auto-sync
2017-02-09 12:03:46 -05:00
rusEfi
13e255cb50
auto-sync
2017-01-06 11:02:49 -05:00