Commit Graph

76 Commits

Author SHA1 Message Date
Andrey e94b251e33 Good news RPM is now float
open question if I've affected performance negativelly or not.
2022-01-21 00:56:13 -05:00
Andrey 4e676e1a86 fixing NOISY_RPM handling via Sensor framework 2022-01-21 00:21:45 -05:00
Andrey 014ea2b78a migrating to SensorType::Rpm API 2022-01-20 23:54:52 -05:00
Andrey e0258c4c8e migrating to SensorType::Rpm API 2022-01-20 23:36:09 -05:00
Andrey 5f3324cd6b migrating to SensorType::Rpm API 2022-01-20 23:32:59 -05:00
Andrey ea014a07d8 what's the difference between setRpmValue and assignRpmValue #3815
refactoring
2022-01-20 21:48:18 -05:00
Matthew Kennedy 8828c8a101 #3815 (#3816) 2022-01-19 17:38:17 -05:00
Matthew Kennedy 4c693ff3ca add option to always use instant RPM (#3813)
* option to always use instant RPM

* duh
2022-01-19 07:34:22 -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
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 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
Matthew Kennedy bd04dc8352 less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
Scott Smith 9b40e68155 Save ~2800 bytes of RAM by not caching angle->trigger mapping (#3506)
Memory seems more valuable than CPU; use the O(lg n) lookup by angle.  A side effect is that it
seems to fix trigger lookup for the second phase of TRIGGERTYPE 53 544 TT_TRI _TACH 0.00
2021-11-09 07:03:27 -05: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
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 d5155cfd86 don't "validate instant RPM" (#3095)
* don't "validate instant RPM"

* test actually tests the right thing

* test mode transition
2021-08-04 08:17:14 +03:00
Matthew Kennedy e3e5e57eac instant rpm uses full engine cycle (#3077)
* instant rpm uses full engine cycle

* turn off fast spinup for this test
2021-07-30 08:18:24 -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 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 47f285c50c FATAL on NB2 tune jim stim input signal #2965 2021-07-14 16:03:00 -04:00
Matthew Kennedy 2cf2db8fb2 fix instant rpm (#2886)
* fix instant rpm

* this is what it should look like!

* warning

* comment issue link

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-01 09:19:16 -04:00
Andrey 0a5f688697 global static not good, there shall be only one god object /s 2021-06-25 01:37:43 -04:00
Andrey f567c764ab giving unit tests a chance to use tdcMarkCallback 2021-06-25 01:31:53 -04:00
Matthew Kennedy f1a95123fb kill engine if no oil pressure (#2800)
* min oil pressure for crank

* do it time-based

* rename field

* include

* fix existing test

* tests

* fix logic

* more test

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-06-16 17:20:28 -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 737ee444b8 rip the bandaid: find-replace most of scheduleMsg (#2572)
* biiiig find replace

* more trivial find replace

* pwm

* almost all of them

* few more

* gpio

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 12:53:13 -04:00
Matthew Kennedy c168c748ea dead code, warnings (#2461) 2021-03-15 10:23:19 -04:00
Matthew Kennedy 4d080c4e86 try rpm calculator timer (#2053)
* add api

* rpm calculator

* fix fsio

* fix float

* remove wrong comment

* fix timer

* clang didn't like this

* oops

* format

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-28 18:56:34 -05:00
Matthew Kennedy 5bfee13c21 fix instant rpm (#2180)
* consumers

* impl

* instant rpm in idle timing
2021-01-14 20:45:55 -05:00
rusefillc 6fef10bd6d Revert "Revert "rpm rate of change (#2159)""
This reverts commit d3c49578
2021-01-09 20:06:19 -05:00
rusefillc d3c49578b7 Revert "rpm rate of change (#2159)"
This reverts commit eecb7ce9

#2207 yes, this makes no sense but just to confirm
2021-01-09 19:45:07 -05:00
Matthew Kennedy eecb7ce97f rpm rate of change (#2159)
* compute rpm rate of change

* fix units on gauge

* oops

* correct order

* scaling and limits

* correct for engine cycle length

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-03 09:55:44 -05:00
Matthew Kennedy b0f7fbf28a create limp manager (#2142)
* move rev limit to limp manager

* call fatal error

* include order

* fix bug

* tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 17:30:46 -05:00
rusefillc 8d6255b1e2 Revert "switch rpm calculator to use timer class (#2005)"
This reverts most of 622021e799 commit.
2020-12-06 18:05:53 -05:00
Matthew Kennedy 622021e799 switch rpm calculator to use timer class (#2005)
* add api

* rpm calculator

* fix fsio

* fix float

* remove wrong comment

* fix timer

* clang didn't like this

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 16:01:45 -05:00
Matthew Kennedy a806053d52 round rpm instead of truncating (#2023)
* round rpm instead of truncating

* efiround is expensive

* Revert "efiround is expensive"

This reverts commit e5690f89e1b1988aacf5ced1f024d576465a7cd6.

* round is better than rintf

* testing

* it works now?!

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-06 00:11:57 -05:00
rusefillc a57296d641 avoid float -> int64 conversion #1977
both cases have to be relatively small durations of time cherry picking...
2020-12-03 13:30:17 -05:00
rusefillc e6bac27c70 60/2 perf grab #1850
unused parameter
2020-10-04 02:09:12 -04:00
rusefillc 8c32b13567 60/2 perf grab #1850
a) removing more of stack validating - one validation within the deepest method would be enough

b) un-wrapping main callback loop for explicit order of execution
2020-10-04 01:43:02 -04:00
rusefillc 149bc309f7 60/2 perf grab #1850 2020-10-04 01:04:15 -04:00
rusefi 3e34b65ec5 better QC procedure 2020-09-19 04:57:07 -04:00
rusefi c990170dfa Hellen says merge #1772 progress 2020-09-08 00:15:09 -04:00
rusefi 57569ca6a8 Hellen says merge #1772
where is implementation?
2020-09-07 15:54:31 -04:00
rusefi c8af242a68 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/engine_cycle/rpm_calculator.cpp
2020-09-07 15:39:23 -04:00
rusefi 4f2735c44a Hellen says merge #1772 noise filter bugfix 2020-09-07 15:36:17 -04:00
Matthew Kennedy fc02c2bdf4 fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
rusefi ea1fbe14b3 OBD CAN sensors #1733 2020-09-03 23:27:53 -04:00