Commit Graph

531 Commits

Author SHA1 Message Date
Andrey 5935c18beb K progress - just a rename 2022-09-24 23:25:36 -04:00
Matthew Kennedy 0dfba2a655 remove ignitionPin (#4608)
* remove ignitionPin

* now that's gone

* BMW test
2022-09-23 17:30:10 -04:00
rusefillc f919845c9c tear down Engine god object #4511
oh I hope this ends well
2022-09-15 23:41:06 -04:00
rusefillc 1c28ca0582 tear down Engine god object #4511 2022-09-15 21:46:01 -04:00
Andrey dc9504f33c deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:45:31 -04:00
Andrey f5a5764429 deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:35:55 -04:00
Andrey d9accf1772 deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:24:41 -04:00
Andrey 1d0f13fc41 deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:17:04 -04:00
Andrey aa0cffcfdb deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 02:06:52 -04:00
Andrey 579f3df7ad deep rabbit holes are the best ones!
refactoring: encapsulation
2022-09-14 01:53:17 -04:00
Andrey b439f27284 inline method to reduce confusion 2022-09-14 01:34:52 -04:00
Andrey G c1c9d5222a tle8888 dead code (#4568) 2022-09-12 18:54:29 -04:00
rusefillc 21a1914bc8 at the moment efiWatchdog always fails on enable, would this fix? 2022-09-11 21:31:42 -04:00
rusefi 95e7358fce at the moment efiWatchdog always fails on enable, would this fix? 2022-09-11 21:15:25 -04:00
Andrey G 2b4012b279 dead code, reduce typedefs (#4566)
* Do lightweight checks first

* Dead getTimeIgnitionSeconds()

Dead since 5274cffff3

* Get rid of efitime_t.

Purpose are not clear. Use efitick_t where ticks are used,
use efitimeus_t for uS, use efitimems_t or efitimems64_t for mS.

* Fix unit tests

* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -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
Andrey G c73a8c2f46 efiWatchdog: avoid converting time to float (#4562)
https://stackoverflow.com/questions/68690961/why-does-converting-int-to-float-lose-precision-in-c-programming-language
2022-09-11 05:46:55 -04:00
rusefillc 921b97431f refactoring: type safety 2022-09-11 03:46:50 -04:00
rusefillc d569f49874 Proteus with SD card outside of vehicle looses a second #4557
message correction
2022-09-10 11:43:25 -04:00
rusefillc 1964f2e893 Proteus with SD card outside of vehicle looses a second #4557 2022-09-09 20:17:02 -04:00
rusefillc f5231ebb85 "Blip" with trigger error on several boards #4552
exploratory watchdog
2022-09-09 19:21:29 -04:00
rusefillc 64ab64d7de "Blip" with trigger error on several boards #4552
exploratory watchdog
2022-09-09 18:27:16 -04:00
rusefillc b9140636b4 refactoring: better method name 2022-09-09 18:02:38 -04:00
Andrey f8d275f64b tear down Engine god object #4511
just trying different things
2022-09-07 20:25:49 -04:00
Andrey a7c8ce61f4 brutal encapsulation 2022-09-07 19:37:11 -04:00
Andrey 25b6d39802 os_access.h dead? 2022-09-07 15:56:45 -04:00
Andrey ab3d92b995 tear down Engine god object #4511
just trying different things
2022-09-05 04:24:17 -04:00
Andrey b6eddaee59 tear down Engine god object #4511
just trying different things
2022-09-05 03:38:44 -04:00
Andrey da7a4b6641 tear down Engine god object #4511
just trying different things
2022-09-05 02:59:38 -04:00
Andrey 76b74a85ba tear down Engine god object #4511
just trying different things
2022-09-05 02:44:06 -04:00
Andrey 1983a07078 tear down Engine god object #4511
just trying different things
2022-09-05 02:28:46 -04:00
Andrey 82fa9b191a refactoring: let's use different names for different things 2022-09-05 01:16:24 -04:00
Matthew Kennedy fba0906942 more granular trigger error messages (#4526)
* granular trigger error messages

* adjust test expectations

* explicitly test behavior
2022-09-04 09:15:24 -04:00
Andrey 93032c7c1f tear down Engine god object #4511
just trying different things
2022-09-03 11:07:26 -04:00
Andrey ea22fcbe95 refactoring: enum name clean-up 2022-09-01 00:23:33 -04:00
Matthew Kennedy 0863ac1a11 rename and fix skyactiv cam mode (#4505) 2022-08-31 22:12:45 -04:00
rusefillc 6be7438cf0 TT_VVT_MAZDA_MYSTERY 2022-08-28 22:57:44 -04:00
rusefillc 6968d74b3c separate atomic change (#4494)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-08-27 22:09:54 -04:00
rusefillc 72c4637512 progress or maybe even a fix of logging? 2022-08-25 22:24:35 -04:00
rusefillc 06018ada5b Idle air add via Lua fix #4465
AddressSanitizer being useful?
2022-08-21 00:58:59 -04:00
rusefillc 38e3a84ec9 Idle air add via Lua fix #4465 2022-08-21 00:32:34 -04:00
Matthew Kennedy eb442998dc misc fixes (#4411)
* fix warnings

* break to debugger in case of panic

* move the check

* s
2022-08-02 12:19:50 -04:00
rusefillc 58b0aaeda1 cherry pick https://github.com/rusefi/rusefi/pull/4365 2022-07-21 15:26:41 -04:00
rusefillc 4ba73d1679 Detail on how to set up iDrive or equivalent CAN button control #226
boost lua
2022-07-14 14:04:21 -04:00
rusefillc 456d52e1fe Detail on how to set up iDrive or equivalent CAN button control #226
boost lua
2022-07-14 13:03:08 -04:00
rusefillc 9e8bfe92d8 #4308 progress 2022-07-14 12:36:55 -04:00
rusefillc db3f92edf4 Lua A/C Input #4333 2022-07-08 00:51:53 -04:00
rusefillc f24c42c605 https://github.com/rusefi/rusefi_documentation/issues/226 (#4306)
* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

* https://github.com/rusefi/rusefi_documentation/issues/226

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-06-29 23:34:00 -04:00
rusefillc 92119af801 logging of live data structs was: data points #3614 2022-06-29 02:37:24 -04:00
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