Commit Graph

482 Commits

Author SHA1 Message Date
Matthew Kennedy 98e0297987 force o2 heating (#4275) 2022-06-23 14:32:34 -04:00
rusefi 514531bc5c verbose trigger sync should reuse engineSnifferRpmThreshold #4259
reducing complexity
2022-06-18 14:17:36 -04:00
Matthew Kennedy 27c98f70fe cam/crank sync improvements (#4152)
* clarify getOperationMode

* wait for phase synchronize to transition to sequential mode

* one test

* encapsulate vvtSyncCounter

* test

* Add option to stop VVT sync above some RPM

* getOrZero

* Revert "synchronized Phase handling improvements fix #4099"

This reverts commit e64c8cfccb.

* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"

This reverts commit 5454b8f509.

* remove synchronizedPhase

* only crank needs this

* changelog

* needsDisambiguation()

* test

* s

* bad merge

* put the timer back

* s

* s

* changelog

* test for new behavior

* correct parameter order

* spelling

* s

* s

* s

* tests merge happy

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
Matthew Kennedy 56e7acd869 Trigger cleanup init (#4222)
* extra parameter

* name decoders in constructor

* s
2022-06-01 00:55:34 -04:00
Matthew Kennedy 5f1801f9d6 trigger configuration refactoring for clarity (#4212)
* This field was ignored.

* move pad out

* gone

* make trigger configuration a little clearer

* even simpler!

* format

* test fix
2022-05-30 19:36:47 -04:00
Matthew Kennedy cf89b42716 move logic in to trigger decoder (#4162)
* move logic in to trigger decoder

* status loop

* minor cleanup

* s
2022-05-10 23:55:28 +03:00
Matthew Kennedy b243d3fca0 TriggerState -> TriggerDecoder (#4157) 2022-05-10 11:41:39 +03:00
Matthew Kennedy 2161751187 clarify doesTriggerImplyOperationMode (#4153) 2022-05-09 15:28:30 -04:00
rusefillc 178721c809 Remove value copy from controller into outputChannels #4095 2022-05-09 06:12:17 -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
Matthew Kennedy 8650686ab7 knock threshold table fix (#4077)
* fix knock threshold table

* defaults

* knock controller is engine module

* testable

* test builds

* knock tests work

* s

* format

* everyone loves changelogs
2022-04-18 08:03:16 -04:00
Matthew Kennedy d52c3f93d8 check voltage instead of temperature (#4062) 2022-04-10 17:41:41 -04:00
rusefillc d7d6cbab02 MRE QC build broken #4059 2022-04-10 15:48:35 -04:00
rusefi 5d8819d564 MRE QC build broken fix #4059
nasty work-around
2022-04-09 19:13:55 -04:00
rusefillc 905fbd851e Air Conditioning Improvements #4054 2022-04-09 00:26:52 -04:00
rusefillc bc08418280 Proper cam speed labels in triggers #4021 2022-04-03 12:22:47 -04:00
rusefillc 98dc6c465a Proper cam speed labels in triggers #4021
i cannot explain this since line so let's remove it
2022-04-03 12:15:19 -04:00
Andrey 20dbc1ff82 Trigger setup in TS is highly confusing: hide operation mode from users? #4031
WOW it works?!
2022-04-03 02:30:43 -04:00
Andrey 49fab25b14 Trigger setup in TS is highly confusing: hide operation mode from users? #4031 2022-04-03 01:38:52 -04:00
rusefillc 9ae96ea7e5 refactoring: method rename 2022-04-02 21:01:29 -04:00
Andrey 63adb09089 new VVT trigger shape? #1847 2022-03-22 06:34:22 -04:00
Matthew Kennedy f0013f71b5 limp mangaer handles more stuff (#3983) 2022-03-20 09:28:17 -04:00
Andrey ef3248c245 Mitsubishi 3A92 Support - 3 cylinder #4011 2022-03-19 22:06:19 -04:00
Matthew Kennedy e1e40dc367 fix gap override logic (#3946) 2022-02-18 17:13:45 -08:00
Matthew Kennedy f82f4d08d6 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 3be2fcaa80 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 28b6cce9d9 Remove fsio part 1 (#3871)
* dead includes

* move last logic out of fsio

* dead functions
2022-02-01 15:42:04 -05:00
rusefillc 9d8c316aff Remove Miata MX5 NB1 trigger fix #3488 2022-01-31 18:20:43 -05:00
Matthew Kennedy b07127614b 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
Andrey 92cbba3256 migrating to SensorType::Rpm API 2022-01-20 22:42:13 -05:00
rusefillc 2da6593305 Better handling of RPM during stop of cranking #3803
refactoring: reusing existing method
2022-01-17 21:00:49 -05:00
rusefillc f34d968a20 GDI red FATAL led on cranking fix #3766 2022-01-12 01:01:33 -05:00
rusefillc 6fd0ae24d9 RE usability: live data for idle controller 2022-01-10 19:48:58 -05:00
Matthew Kennedy c058698859 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
Matthew Kennedy b392a7120e 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 c48c65cad1 https://github.com/rusefi/hellen154hyundai/issues/49 2021-12-17 16:39:12 -05:00
rusefillc b0c1a8fb2e MAP phase sensing fix #3544
removing dead implementation
2021-12-16 21:28:27 -05:00
rusefillc 15196828a4 clutch input via CAN #3605 2021-12-15 19:20:07 -05:00
rusefillc 1a3f8d8b32 clutch input via CAN #3605 2021-12-15 17:48:21 -05:00
Matthew Kennedy bdf6583306 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
Andrey d2c46b3310 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 c28a24c3d2 MAP phase sensing #3544
new implementation
2021-12-07 20:00:50 -05:00
Andrei 22785078ef better ignition_voltage_detected message 2021-12-04 01:41:25 -05:00
rusefillc f6c5ac8ebb fix vBatt false-detection 2021-12-01 11:22:13 -05:00
Matthew Kennedy 6e4759389a 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 695557f709 MAP phase sensing #3544 2021-11-24 22:36:36 -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
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 659cc68be1 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 f9f13f0bad 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 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 dac2ae9b1d 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
Matthew Kennedy 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Andrey 7b790d36f6 random refactoring: trigger central encapsulation 2021-11-15 20:22:05 -05:00
Matthew Kennedy bd04dc8352 less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
Matthew Kennedy b41dbe2ed1 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
Matthew Kennedy cadaf2a801 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
rusefi 356a73e7a5 docs 2021-11-02 17:11:44 -04:00
Matthew Kennedy 1cee83a56c 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 a2f1cd2467 Override trigger gaps feature #2734 2021-10-30 10:45:32 -04:00
rusefi 2d99e7b4b5 Honda K cam wheels #3405 2021-10-28 15:57:23 -04:00
Andrey a67a4ced0d docs 2021-10-24 17:05:37 -04:00
rusefillc d4e9c1597a refactoring - extracting idle state 2021-10-16 23:55:29 -04:00
rusefillc 705295dbfb Whatever we call it, how ever we implement it - we need live data / remote view into rusEFI actual state #3353 2021-10-14 00:47:26 -04:00
Matthew Kennedy dab377d15d getOrZero (#3319) 2021-10-05 19:59:07 -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
rusefillc 29f3e78f05 36/2/2/2 is an ambiguous trigger wheel fix #3242 2021-09-19 17:26:13 -04:00
rusefillc fd61f25693 36/2/2/2 is an ambiguous trigger wheel fix #3242 2021-09-19 17:08:45 -04:00
Matthew Kennedy ae84ec2044 simpler way for limp manager to handle engine stop (#3194)
* simpler

* why would we lie about spinning?
2021-08-25 11:29:20 +03:00
Matthew Kennedy 210aa31ef3 cleanup missing fsio stuff (#3189) 2021-08-24 08:19:03 +03:00
rusefillc 2962b47787 refactoring: reduce magic constant 2021-08-09 16:33:06 -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 f44a84b40c set up precompiled header (#2971)
* ignore

* set up precompiled header

* makefile

* fixes

* cleanup

* only depend cpp on pch

* efifeatures in pch

* f7 efifeatures

* consolidate

* simulator

* proteus build

* error handling is a good one

* bootloader pch

* don't auto include pch

* dirs

* delete on clean

* bootloader cleans

* clean.sh deletes pch

* disable in bl for now

* there was a typo so maybe it'll work now

* remove todo

* don't need that any more

* don't need these parts

* don't need this part

* undo changes

* use a different cpp as example

* s

* Revert "cleanup"

This reverts commit 8de8698490f5d09c2df753f00a89751aa898be9a.

* also unnecessary now

* buh

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-25 21:23:23 -04:00
Andrey 7e83be426b Clutch switch inverted options do not invert detected pedal position
#3044
2021-07-24 19:32:50 -04:00
Andrey 2f2814e035 VVT C++ magic 2021-07-21 22:14:21 -04:00
Andrey f69690a36a kaiju is asking for vq30de trigger wheel decoder #2974 2021-07-17 00:27:56 -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
Andrey a8d5ff0a85 Nissan VVT trigger decoder #2887 2021-07-03 09:48:59 -04:00
Andrey f3ffecbc2b Nissan VVT trigger decoder #2887 2021-07-03 09:43:27 -04:00
Matthew Kennedy fe6f123be5 Move AC logic out of FSIO (#2872)
* new impl

* remove fsio

* inject "is ac active" to fan

* include the correct code

* include

* test

* more AC features

* AC switch vs. actual AC indicators

* include

* duh
2021-06-27 18:51:34 -04:00
Andrey 25afc6e67c refactoring - explicit read method 2021-06-26 22:11:42 -04:00
Andrey 1003056f85 refactoring - explicit read method 2021-06-26 22:07:45 -04:00
Matthew Kennedy 41104dcca8 hard coded fan logic (#2805)
* remove fsio

* hard code impl

* test it

* enable fan with AC

* make commented stuff match
2021-06-11 06:25:12 -04:00
Andrey e4497358f5 Override trigger gaps feature #2734 2021-05-25 17:19:20 -04:00
Andrey 9865b04bf7 Override trigger gaps feature #2734 2021-05-23 20:52:18 -04:00
Matthew Kennedy 68ad12da53 convert a table to scaled_channel (#2724)
* scaled VE table

* use setTable

* efi::clear

* ratio -> struct
2021-05-20 20:00:32 -04:00
rusefillc cd573a5f9d hiding 8888 mess under the rug
making LPS25 one step more available to Hellen
2021-05-14 10:54:40 -04:00
Matthew Kennedy 5f0791f9fb Destroy all shared logger (#2574)
* most of shared logger

* a few more

* one more

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 14:28:48 -04:00
Matthew Kennedy 967383dd8e remove simple cases of LoggingWithStorage (#2569)
* remove simple cases

* more simple

* serial

* s

* more

* try memory

* easy

* mmc acc

* that's how much memory

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-19 08:11:59 -04:00
rusefi 3d89cc2093 trigger and VVT duty cycle integration into limp manager #2523 2021-04-07 15:17:01 -04:00
Matthew Kennedy db7856523c barra vvt cam pattern (#2483)
* barra vvt cam pattern

* two tooth sync

* I think this needs to be here too
2021-03-22 07:48:29 -04:00
Matthew Kennedy 5e6746c3aa Implement nonlinear fuel level sender (#2473)
* table function

* config fields

* sensor type

* switch consumers

* init the sensor

* ui

* 1mv resolution

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-19 08:39:08 -04:00
Matthew Kennedy c168c748ea dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
rusefillc 9f90387d09 vBatt -> SensorType::vBatt fix #2260 2021-03-11 23:07:18 -05:00
rusefillc 98eae45094 vBatt -> SensorType::vBatt #2260 2021-03-11 22:52:34 -05:00
rusefillc 416c65b475 vBatt -> SensorType::vBatt #2260 2021-03-11 22:44:59 -05:00
Matthew Kennedy a7a82b1aab remove lastTriggerToothEventTimeNt (#2430)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-07 17:11:50 -05:00
Matthew Kennedy 122f31fe4a hook up lps25 on proteus (#2418)
* hook up lps25

* it would help to include all the files

* unguard some stuff

* unguard more

* guarding

* s

* guard

* only register if init worked

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 22:39:20 -05:00
Matthew Kennedy 55facb6613 use DECLARE_ENGINE_PTR for Engine class (#2365)
* engine cleanup

* do the cleanup

* one last spot

* expand_engine noop for firmware

* simulator
2021-02-16 16:58:54 -05:00
rusefillc 654a739e6b M62T vanos support #2243 2021-02-08 22:21:02 -05:00