Commit Graph

690 Commits

Author SHA1 Message Date
Matthew Kennedy e9e6df6d7f
add option to invert vvt control (#4425)
* add option to invert vvt control

* s

* s

* s

* one bit per cam type

* move the space

* I don't spelling good

* changelog
2022-08-09 16:22:55 -04:00
rusefillc 97601f9292 VVT target to allow negative values fix #4424 2022-08-08 22:51:51 -04:00
Matthew Kennedy b6f1779781
implement sensor checker (#4395)
* implement sensor checker

* use default

* s

* fix

* properly report non-timeout errors

* it's not safe to read Value when invalid

* it's not safe to read Value when invalid
2022-07-30 17:08:48 -04:00
Matthew Kennedy 923d2c2e44
unexpected contains information about why it failed (#4393)
* unexpected can contain information

* info printing

* sensors return appropriate error codes

* remove reliance on undefined behavior

* s
2022-07-28 10:04:28 +03:00
Matthew Kennedy 6b83ec8c08
boost control thresholds (#4392) 2022-07-28 09:45:16 +03:00
Matthew Kennedy d4b8a036af
Log gppwm output values (#4385)
* remove debug option

* purpose built output channels

* name

* embiggen sd log buffer

* Revert "embiggen sd log buffer"

This reverts commit 37432a56535b24c221ae92e9aaded23de4d4a579.

* embiggen SD log buffer
2022-07-27 12:10:00 +03:00
Matthew Kennedy b99d90b006
Start -> start (#4366) 2022-07-21 15:17:32 -04:00
Matthew Kennedy e1254f84b9
remove idle offset (#4355)
* remove offset

* remove more completely

* changelog
2022-07-18 15:49:43 -04:00
rusefillc 39df02fe35 Detail on how to set up iDrive or equivalent CAN button control #226
boost lua
2022-07-14 13:03:08 -04:00
GitHub build-firmware Action 7cada13589 Auto-generated configs and docs 2022-07-14 13:57:47 +00:00
rusefillc 7709b0f2a5 Detail on how to set up iDrive or equivalent CAN button control #226
was I drunk or something?
2022-07-14 09:41:36 -04:00
Matthew Kennedy 8bc01472b7
Add a timeout for Lua ETB adjustment (#4331)
* lua etb timeout

* mocks

* test
2022-07-10 05:46:28 +03:00
GitHub build-firmware Action 7764bf729a Auto-generated configs and docs 2022-07-08 05:14:15 +00:00
rusefillc a3c7e59b2a debug is set to idle mode, but none of the debug fields show anything #4335
better log names?
2022-07-08 01:05:48 -04:00
GitHub build-firmware Action 92eeceb5ed Auto-generated configs and docs 2022-07-08 04:29:21 +00:00
rusefillc eb3f93a730 debug is set to idle mode, but none of the debug fields show anything #4335
better names where user did not really ask for better names
2022-07-07 23:48:17 -04:00
GitHub build-firmware Action a145548ceb Auto-generated configs and docs 2022-07-02 08:21:19 +00:00
rusefillc 147724c984 https://github.com/rusefi/hellen154hyundai/issues/54 2022-07-02 04:06:09 -04:00
GitHub build-firmware Action 54a140d0df Auto-generated configs and docs 2022-07-02 07:55:19 +00:00
rusefillc 3858b1d720 https://github.com/rusefi/hellen154hyundai/issues/54 2022-07-02 03:49:49 -04:00
rusefillc 483395fa2e
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 6c76a6468c logging of live data structs was: data points #3614
would this be more correct in terms of multi-threaded reads?
2022-06-29 03:33:06 -04:00
Andrey 5cf0265968 logging of live data structs was: data points #3614 2022-06-29 03:27:51 -04:00
rusefillc f262929226 logging of live data structs was: data points #3614 2022-06-29 03:14:39 -04:00
rusefillc 8acbf9d8df logging of live data structs was: data points #3614 2022-06-29 03:13:35 -04:00
rusefillc aab466094c logging of live data structs was: data points #3614 2022-06-29 03:01:13 -04:00
rusefillc 10d3afab9c well that was cute 2022-06-27 23:10:58 -04:00
rusefi b6544cccf0 less invalid default config 2022-06-26 23:47:42 -04:00
Matthew Kennedy 7e8ae7c8a3
Write output channels with new parser (#4219)
* let the new parser run

* s

* support for output channels

* usages reader uses new parser for output channels

* better debugging configuration

* bad merge

* test it a bit too

* more tests

* copy/paste the same content from other file

* s

* fix bugs where even the existing logic tries to write as an enum (?)

* jar

* print stream always unix

* print stream always unix

* use typedefs correctly

* jar

* stub support for multiple of each type

* s

* s

* name some more datas
2022-06-19 09:52:23 -04:00
rusefi 1f7051db48 proteus pinout minor mess 2022-06-02 23:28:39 -04:00
rusefillc 2132cec3fc Remove value copy from controller into outputChannels #4095 2022-05-09 06:12:17 -04:00
GitHub build-firmware Action 4e213fbc1e Auto-generated configs and docs 2022-05-09 09:42:49 +00:00
rusefillc 66f35b0b40 Remove value copy from controller into outputChannels #4095 2022-05-09 05:30:04 -04:00
rusefillc bcc50f0de3 proteus meta 2022-05-04 17:05:08 -04:00
Matthew Kennedy 1bbc9472b4 proteus meta 2022-05-04 17:00:38 -04:00
rusefillc 3b3f62b24f Make ETB low limit configurable fix #4119 2022-05-02 05:24:50 -04:00
Andrey f3b7e1ae25 Move curves out of engineConfiguration in order to reduce RAM usage fix #4127 2022-05-02 05:04:58 -04:00
Andrey e62877964a Move curves out of engineConfiguration in order to reduce RAM usage #4127 2022-05-01 23:43:43 -04:00
Matthew Kennedy e4a0979dc2
Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
rusefillc 451b4a766c Three names of the same thing fix #4085 2022-04-19 19:47:43 -04:00
rusefillc bae4911838 https://github.com/rusefi/alphax-2chan/issues/50
more progress
2022-04-19 15:03:38 -04:00
rusefillc 7534d2a963 https://github.com/rusefi/alphax-2chan/issues/50
we have great CI
2022-04-19 13:57:39 -04:00
rusefillc 98eba617c2 https://github.com/rusefi/alphax-2chan/issues/50
sweet-sweet copy-pasta
2022-04-19 12:42:30 -04:00
rusefillc ae98105fdc https://github.com/rusefi/alphax-2chan/issues/50
refactoring: extract method
2022-04-19 12:40:02 -04:00
rusefillc e715bcc01f actually let's remove the duplicates 2022-04-18 11:43:49 -04:00
rusefillc e59ae35196 unique field names 2022-04-18 11:11:57 -04:00
GitHub build-firmware Action a2cff4ee12 Auto-generated configs and docs 2022-04-17 20:30:07 +00:00
rusefillc 82f608d558 one step sideways to fix build 2022-04-16 21:24:02 -04:00
rusefillc 08c50cc1dd logging of live data structs was: data points #3614
progress
2022-04-16 21:04:02 -04:00
rusefillc 70e4d118ef very random progress 2022-04-16 17:04:35 -04:00
rusefillc c023056d2d very random progress 2022-04-16 16:49:59 -04:00
rusefillc 0b21ddce9c random progress 2022-04-16 16:39:52 -04:00
rusefillc 084685c747 logging of live data structs was: data points #3614
ETB
2022-04-14 15:25:01 -04:00
rusefillc 16878487d5 logging of live data structs was: data points #3614
ETB
2022-04-14 14:38:32 -04:00
rusefillc 4834683dc6 logging of live data structs was: data points #3614
progress & more consistent convention
2022-04-13 20:46:55 -04:00
rusefillc 413e636d4c typo/grammar 2022-04-13 17:55:31 -04:00
rusefillc b776003989 do not control VVT during cranking fix #3443 2022-04-10 19:22:39 -04:00
rusefillc a90ca2b200 Hellen NB2 default tune #4038 2022-04-10 19:11:34 -04:00
rusefillc e1235c4f2e Air Conditioning Improvements #4054 2022-04-09 00:26:52 -04:00
GitHub build-firmware Action 6a403abf1f Auto-generated configs and docs 2022-04-09 01:37:21 +00:00
rusefillc ed6ed0d93e Air Conditioning Improvements #4054 2022-04-08 21:28:50 -04:00
GitHub build-firmware Action 3681d008e8 Auto-generated configs and docs 2022-04-08 16:21:15 +00:00
rusefillc 59a58dd910 Air Conditioning Improvements #4054 2022-04-08 12:12:24 -04:00
Andrey 8053aeb9cf Extra Idle Air if Throttle is Pressed behavior #3940
only live data
2022-04-03 20:30:09 -04:00
Matthew Kennedy f1742c44ff
output channel tweaks (#4023)
* shuffle around output channels

* postState should take a ref

* s

* s

* patch input file

* limits

* accel bad bounds check

* units

* units

* Revert "accel bad bounds check"

This reverts commit b2bb493be331d5d2cf40b9ed01363a53182c883e.

* missed an autoscale
2022-03-24 08:58:55 -04:00
Matthew Kennedy 929ff28c0c
Etb2 trim (#4004)
* wire up different logic for etb2

* clamp and actually works

* s

* happy compiler
2022-03-15 20:04:49 -04:00
rusefillc 6c8f130ff9 JNI for test coverage #3965 2022-03-15 13:05:24 -04:00
rusefillc 9ba10b19d4 JNI for test coverage #3965 2022-03-15 11:47:47 -04:00
Andrey c4339e2148 JNI for test coverage #3965 2022-03-15 11:23:06 -04:00
rusefillc 5f73d9bf7b JNI for test coverage #3965 2022-03-15 10:33:17 -04:00
Matthew Kennedy 2595decb58
delayedShutoffRequested (#3881) 2022-02-02 14:57:19 -05:00
Matthew Kennedy 40d16291b0
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 42deca0fd0
Main relay shutdown rebase (#3880)
* aggregate

* main relay controller handles delayed shutoff

* main relay controller handles delayed shutdown

Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-02 00:45:11 -05:00
GitHub build-firmware Action 9b8de47b72 Auto-generated configs and docs 2022-02-02 04:22:53 +00:00
rusefillc e11e701d5c main relay controller handles delayed shutdown 2022-02-01 23:12:50 -05:00
Matthew Kennedy a718f3a30a
Remove fsio part 1 (#3871)
* dead includes

* move last logic out of fsio

* dead functions
2022-02-01 15:42:04 -05:00
rusefillc ca98e270e1
safer file name (#3861)
* safer file name

* safer file name

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-31 21:51:32 -05:00
Andrey 1bd71e4b2e migrating to SensorType::Rpm API 2022-01-20 23:54:52 -05:00
Andrey e945bc4bc9 migrating to SensorType::Rpm API 2022-01-20 22:51:20 -05:00
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