Commit Graph

561 Commits

Author SHA1 Message Date
Andrey df5cb34fb8 migrating to SensorType::Rpm API 2022-01-20 22:40:15 -05:00
Andrey 16b3e95865 migrating to SensorType::Rpm API 2022-01-20 22:31:07 -05:00
Andrey 8361b6d1f6 migrating to SensorType::Rpm API 2022-01-20 22:22:52 -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 b9a792a07c Better handling of RPM during stop of cranking #3803
refactoring: reusing existing method
2022-01-17 20:53:10 -05:00
rusefillc 71b2dc762a https://en.wikipedia.org/wiki/Pi 2022-01-14 21:23:27 -05:00
Matthew Kennedy 3e56bacef9
don't start boost pwm unnecessarily (#3767)
* don't start boost pwm unnecessarily

* test
2022-01-11 20:47:50 -05:00
rusefillc 3528befe13 live view is confused by conditional compilation #3773
ops
2022-01-11 14:24:53 -05:00
rusefillc 1bcb3e8033 live view is confused by conditional compilation fix #3773 2022-01-11 14:10:30 -05:00
rusefillc 699a5ef302 RE usability: live data for idle controller 2022-01-10 21:55:52 -05:00
GitHub build-firmware Action 68fda494cb Auto-generated configs and docs 2022-01-11 01:57:47 +00:00
rusefillc 264933c0f9 RE usability: live data for idle controller 2022-01-10 20:51:49 -05:00
rusefillc 9f97695f4c RE usability: live data for idle controller 2022-01-10 20:32:20 -05:00
rusefillc 339b906aa9 RE usability: live data for idle controller
static bad, class fields better
2022-01-10 20:12:11 -05:00
rusefillc 6ee0a55eaf RE usability: live data for idle controller 2022-01-10 19:48:58 -05:00
Andrey G 77fa9929d0
Stepper direct push pull driver (#3751)
* Init DC motor through two brain_pin_e only

* idle: stepper: allow driving stepper through 4 output_pin_e
2022-01-07 11:38:48 -05:00
Andrey G 5bc9289d74
Move out of CMM (#3750)
This needs additional investigation. But allocating these structs
in CMM cause HardFault
2022-01-07 10:09:48 -05:00
GitHub build-firmware Action 2208947bb3 Auto-generated configs and docs 2022-01-05 06:49:51 +00:00
GitHub build-firmware Action 38b17f5859 Auto-generated configs and docs 2022-01-05 05:09:04 +00:00
rusefillc 2016ecbe98 live data progress 2022-01-02 01:17:22 -05:00
rusefillc 9f8ccececd docs & refactoring 2021-12-26 12:35:41 -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 c176bbebc1
ui & config for fuel/ign trim tables (#3704)
* ui & config

* bump flash version

* compaction

* s

* make things happy

* fsio too

* OK, well those defaults were insane

* b

* why are these defaults insane

* adjust cylinder offset ui

* s

* cleanup
2021-12-20 21:58:53 -05:00
Matthew Kennedy 3a4a0ba18d
simplify some table lookups (#3692)
* simplify

* expand interpolation test
2021-12-20 08:14:30 -05:00
Matthew Kennedy 479ae44cd7
remove etb status option (#3695)
* remove

* ui

* settings cpp
2021-12-15 08:20:14 -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 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
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
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 6d4b1e6020 proteus to have enlarged Lua
one step back
2021-11-30 22:35:29 -05:00
rusefillc de0680209b why so many channels are hidden in debug ? #3614 2021-11-29 10:15:28 -05:00
rusefillc 67af7470d7 why so many channels are hidden in debug ? #3614 2021-11-29 01:13:04 -05:00
rusefillc 26997ab9e3 why so many channels are hidden in debug ? #3614 2021-11-29 01:02:40 -05:00
GitHub build-firmware Action 2e97642dae Auto-generated configs and docs 2021-11-28 05:54:31 +00:00
Matthew Kennedy b8660db35e
make fan control live-data-friendly (#3626)
* make fan live-data-friendly

* script

* generated for happy simulator
2021-11-28 00:40:12 -05:00
Matthew Kennedy 71aff73081
not industrial (#3627) 2021-11-27 19:27:57 -05:00
rusefillc 6ff42cc031 automation around outputs section #197 2021-11-26 20:46:42 -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
rusefi 8ed3020c07 live data for wastegate #3588 2021-11-24 15:07:48 -05:00
GitHub build-firmware Action c46cf51dc5 Auto-generated configs and docs 2021-11-24 19:10:22 +00:00
rusefillc 284fea286b live data for wastegate #3588 2021-11-24 13:20:47 -05:00
rusefillc 3ac46c98f2 live data for wastegate #3588 2021-11-24 13:18:07 -05:00
rusefillc 3077f795c4 live data for wastegate #3588 2021-11-24 12:59:57 -05:00
GitHub build-firmware Action bfdbf70c07 Auto-generated configs and docs 2021-11-24 13:02:01 +00: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
GitHub build-firmware Action 7287d41467 Auto-generated configs and docs 2021-11-23 21:00:29 +00:00
rusefillc c75291f415 live data for wastegate #3588
i want to persist state so no 'const' sorry
2021-11-23 15:52:43 -05:00
rusefillc ca1e420073 live data for wastegate #3588 2021-11-23 15:51:30 -05:00
GitHub build-firmware Action a4557c969f Auto-generated configs and docs 2021-11-23 20:06:24 +00:00
rusefillc d21541934d live data for wastegate #3588 2021-11-23 15:02:03 -05:00
rusefillc ead3853f9a live data for wastegate #3588 2021-11-23 15:00:47 -05:00
GitHub build-firmware Action f8f52c4c1f Auto-generated configs and docs 2021-11-20 03:34:23 +00: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
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 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
Matthew Kennedy 8cdac4cac0
remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 62daac73c7
Use Valgrind to detect unitialized variable references. (#3555)
* Use Valgrind to detect unitialized variable references.

Fix the edge cases that pop up

* Comment and disable Mac run
2021-11-15 23:42:23 -05:00
Matthew Kennedy cb032fb1ea
(void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy 145316c497
less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
Andrey 2c715be4b7 ETB: do not touch HW pins if function not selected, this way Lua can use DC motor hardware pins directly 2021-11-08 12:44:37 -05:00
Matthew Kennedy 3348c0404b
configurable etb maximum (#3469)
* etb maximum

* update tests and test new behavior
2021-11-05 18:16:19 -04:00
Matthew Kennedy 5b35aa8f21
log vvt targets (#3417)
* log vvt target

* java

* make java happy probably

* sensorlogger
2021-11-02 15:03:57 -04:00
GitHub build-firmware Action 8ac4341cfa Auto-generated configs and docs 2021-10-31 01:38:27 +00:00
Andrey 75ab0040a1 looks like value is never assigned 2021-10-30 21:28:55 -04:00
rusefillc 5f4fa50682 VVT is no longer aux pid 2021-10-28 23:51:46 -04:00
Matthew Kennedy 558a6d01fc
etb pwm limit (#3408)
* etb pwm limit

* missed an arg

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-25 15:35:23 -04:00
GitHub build-firmware Action 679239c7f8 Auto-generated configs and docs 2021-10-17 04:35:27 +00:00
rusefillc 2431fa79b3 refactoring - extracting idle state 2021-10-17 00:30:26 -04:00
GitHub build-firmware Action 25ff3fe2d7 Auto-generated configs and docs 2021-10-17 03:59:20 +00:00
rusefillc 4533ce4764 refactoring - extracting idle state 2021-10-16 23:55:29 -04:00
rusefillc 5f7ffd32a1 refactoring 2021-10-16 23:40:02 -04:00
GitHub build-firmware Action 981fc58297 Auto-generated configs and docs 2021-10-17 01:13:47 +00:00
rusefillc 4cc1c352c2 better file locations 2021-10-16 20:17:01 -04:00
rusefillc 3162d9cc56 let's see if CI would fail, i.e. let's see if this logic was covered 2021-10-16 19:03:36 -04:00
rusefillc 01d4b7ef7a Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
progress
2021-10-14 15:18:13 -04:00
rusefillc ea87d9c9be Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
dead code
2021-10-14 15:17:09 -04:00
rusefillc ff864ec0bf 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
rusefi 7c378c7c6c VAG ETB calibration is a mess? 2021-10-10 22:23:33 -04:00
rusefi 9b140e57a1 etb_test_hw 2021-10-10 17:10:04 -04:00
rusefi fe69616859 etb_test_hw 2021-10-10 16:29:45 -04:00
Andreika bc4a068c9c
[DRAFT] IAC H-Bridge Microstepping (#3213)
* fix for stepperHbridgeHardware

* new config fields for microstepping

* add stepper dir pin mode to the dialog

* refactor stepper hw dialog & add microstepping panel

* microstepper modes enum

* stepperDcInvertedPins needed by Hellen

* add sleep() for stepper and divisor for pause()

* microstepping impl.

* make unit-tests more happy

* small progress

* fix etb-stepper dlg conflict

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 13:57:04 -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
Matthew Kennedy 9797d25b7c
getOrZero (#3319) 2021-10-05 19:59:07 -04:00
rusefillc 16049a07e8 https://rusefi.com/forum/viewtopic.php?p=42468#p42468 2021-10-04 19:10:31 -04:00
rusefillc 4901a69d17 https://rusefi.com/forum/viewtopic.php?p=42468#p42468 2021-10-04 18:43:37 -04:00
rusefillc 8fabcd15ab wow that was a bad setting name 2021-09-26 18:07:49 -04:00
rusefi 235c932c71 Revert "Hellen Nissan defaults are no longer valid fix #3143"
This reverts commit 6ac7fc39
2021-09-14 15:51:58 -04:00
rusefi 6ac7fc3940 Hellen Nissan defaults are no longer valid fix #3143 2021-09-14 15:46:21 -04:00
Matthew Kennedy 884532cb6f
boost debug fields (#3228) 2021-09-07 14:07:47 -04:00
rusefillc 8c9ff949fe thank you Nik - dealing with false positive CUSTOM_OBD_LOW_FREQUENCY 2021-09-06 08:09:14 -04:00
rusefillc 0bdf334a8a hysteresis for GPPWM #3222 2021-09-06 07:58:17 -04:00
rusefillc 43bdabeb0c hysteresis for GPPWM #3222 2021-09-06 07:21:17 -04:00
rusefillc 36792f55b5 hysteresis for GPPWM #3222 2021-09-05 20:18:14 -04:00
rusefillc 58c2bf8930 hysteresis for GPPWM #3222 2021-09-05 20:16:57 -04:00
Andrey 3ed50dbea7 SD-card log fields improvement (warning counter & last code) #3162 2021-09-05 14:43:35 -04:00
Matthew Kennedy 730b26d034
remove old vss implementation (#3208)
* dead vss

* remove
2021-08-28 01:39:55 -04:00