Commit Graph

11972 Commits

Author SHA1 Message Date
rusefillc c441d7dd89 debug mode for skipped count for 4 cylinders #3570 2021-11-19 07:02:21 -05:00
Matthew Kennedy 739be57ac8 fast exti interrupt handoff (#3497)
* fast exti

* test code snuck in

* full interrupt disable :(

* do it the old fashioned way

* enable interrupt

* consume stored timestamp

* dead

* h7 maybe

* guard maybe

* non-stm32

* exti 16 wrong on f4/f7

* CORTEX_MAXIMUM_PRIORITY

* safer but uglier

* s

* chibios

* no const

* initializers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 06:37:52 -05:00
GitHub build-firmware Action 6dc1e4dfcc Auto-generated configs and docs 2021-11-19 09:16:06 +00:00
Matthew Kennedy a0a1b5e6a0 delimeter is not comma (#3533)
* delimeter is not comma

* do it in config txt

* use txt

* s

* string

* compat

* also, spelling is hard

* use new name

* use new name

* generate enough for happy console

* use an even less common character

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 12:01:45 +03:00
Matthew Kennedy 7dee1e42eb adjust miata sync conditions (#3577) 2021-11-19 02:30:05 -05:00
Scott Smith 7d65b2e5f8 Extend LogField to support scaled_channel divisors. (#3575)
Also move the type field and shrink the size field for better packing.
Saves about 800 bytes of flash.  This fixes #3574.
2021-11-19 02:29:19 -05:00
rusefillc dad52881f0 automation around outputs section #197
a step back
2021-11-18 21:12:54 -05:00
rusefillc 4bf31a4016 automation around outputs section #197 2021-11-18 20:09:07 -05:00
GitHub set-date Action 3f54533821 Update date 2021-11-19 01:01:05 +00:00
rusefillc f5cddb6337 automation around outputs section #197 2021-11-18 19:46:17 -05:00
rusefillc 1b93e07b31 automation around outputs section #197 2021-11-18 19:34:46 -05:00
Scott Smith aba4e5167e Separate out scheduleOrQueue into it's own standalone scheduler. (#3573)
It's a large enough entity that it shouldn't be buried in ignition logic.
2021-11-18 14:27:21 -05:00
rusefillc f1ab9d7054 automation around outputs section #197
wow huge step!
2021-11-18 00:19:11 -05:00
rusefillc fc9345de5e automation around outputs section #197 2021-11-18 00:05:27 -05:00
rusefillc d8508870d5 automation around outputs section #197 2021-11-17 23:51:58 -05:00
rusefillc 82ffcad01f proportional spark cut #3427 2021-11-17 23:35:26 -05:00
GitHub build-firmware Action dc73fe3404 Auto-generated configs and docs 2021-11-18 04:30:54 +00:00
rusefillc f9c43e4dfa automation around outputs section #197
packing & making my job easier
2021-11-17 23:22:08 -05:00
rusefillc 28998b70a6 automation around outputs section #197
refactoring
2021-11-17 23:16:15 -05:00
Scott Smith b3e0b28c75 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 a5b0604880 Add a lock for scheduleOrQueue events. (#3572)
Ignition callers are all tooth based, but aux valves calls it from both the microsecond timer and
the main initialization thread.  HPFP will also soon call it from both those places too.
2021-11-18 05:08:32 +03:00
GitHub set-date Action 2dae11b443 Update date 2021-11-18 01:00:51 +00: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
rusefillc dfac1897e1 Startup Pin State Error - maybe hardware damage of STM32 pin connected to a 12v-powered TC4427? #3558 2021-11-17 04:45:55 -05:00
rusefillc 46d2b21ecc proportional spark cut #3427 2021-11-17 04:06:22 -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 19f7fa8f89 Make engine* and friends be const pointers in production. (#3564)
This allows the compiler to see through the pointer and make accesses faster.
It saves 1336 bytes of text.
2021-11-17 03:53:17 -05:00
Scott Smith 14578ddae7 Remove a bunch of macros from engine_ptr.h (#3562) 2021-11-17 10:01:39 +03:00
GitHub set-date Action 05bef81735 Update date 2021-11-17 01:00:29 +00: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
rusefillc 774d96493e spelling 2021-11-16 16:46:54 -05:00
rusefillc 6fdb98e84f helping launch enter simulator 2021-11-16 16:45:14 -05:00
rusefillc ed1d24dbbe helping launch enter simulator 2021-11-16 16:31:35 -05:00
Andrey 1be12392c0 proportional spark cut #3427 2021-11-16 13:23:08 -05:00
Andrey c201b5b0ec proportional spark cut #3427 2021-11-16 05:56:15 -05:00
Matthew Kennedy 7296593448 remove engine pointer passing (#3556)
* some

* more

* more

* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith 2cfc4af998 Start the process of using a global engine ptr for unit tests. (#3551)
* Start the process of using a global engine ptr for unit tests.

Passing around the engine, config, and persistent state wasn't buying anything.  Instead, use
EngineTestHelper(Base) to correctly set and clear the global variables.  Add a dummy check in
case some test tries to set them manually.

* Fix OSX build

* Adapt PR to recently added code.
2021-11-16 00:23:14 -05:00
Scott Smith c354d30a71 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
GitHub build-firmware Action b477365e7c Auto-generated configs and docs 2021-11-16 02:53:15 +00:00
Andrey 164218747a Knock retard #3396 2021-11-15 21:21:45 -05:00
Andrey b545743f7d Not all launch control options are used #3554 2021-11-15 21:13:01 -05:00
Andrey 349d224b5f technical debt: enableOverdwellProtection #3553
only documentation
2021-11-15 20:32:25 -05:00
Andrey 7b790d36f6 random refactoring: trigger central encapsulation 2021-11-15 20:22:05 -05:00
Andrey 4bc9343d0b refactoring launch 2021-11-15 20:09:03 -05:00
Andrey 837cdf2cfb refactoring launch 2021-11-15 19:55:04 -05:00
Andrey 0a956d96b4 refactoring launch 2021-11-15 19:55:04 -05:00
Andrey c8b733ea6e refactoring launch 2021-11-15 19:34:42 -05:00
Andrey c41dccb5ff refactoring launch 2021-11-15 19:24:00 -05:00
Andrey bc3befd0ac refactoring launch 2021-11-15 18:57:12 -05:00
Andrey bafd5e0e17 refactoring launch 2021-11-15 14:40:35 -05:00
Matthew Kennedy c1941f3a49 (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 bd04dc8352 less macro, more c++ (#3549)
* less macro

* s
2021-11-15 12:44:40 +01:00
GitHub build-firmware Action a29aa50cb0 Auto-generated configs and docs 2021-11-15 03:03:29 +00:00
rusefillc 8448b04078 MAP phase sensing #3544 2021-11-14 21:58:01 -05:00
GitHub build-firmware Action a7a89b74d5 Auto-generated configs and docs 2021-11-15 02:31:36 +00:00
rusefillc 9420c6d831 MAP phase sensing #3544 2021-11-14 21:24:59 -05:00
GitHub set-date Action b814015179 Update date 2021-11-15 01:00:10 +00:00
rusefillc c6bc2f73f6 clarification 2021-11-14 18:36:59 -05:00
GitHub build-firmware Action ecf4a31095 Auto-generated configs and docs 2021-11-14 23:09:53 +00:00
rusefillc c616a6f057 Epic: Remove FSIO #2928 2021-11-14 17:56:58 -05:00
rusefi c5077a88e5 ## November 2021 Release - "Loosen Up Lighten Up Day" 2021-11-14 17:47:07 -05:00
rusefi 1f486a1e15 Lua: changing "table" API 2021-11-14 16:29:46 -05:00
Matthew Kennedy 3d79c06200 enable nb1 serial pins (#3546)
* enable serial on nb1

* typo

* serial

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-14 16:07:56 -05:00
rusefi 301bdf08a2 Something something Automatic Compression Release #3442 2021-11-14 16:04:44 -05:00
rusefillc 8cb1f2545c trigger refactoring & docs 2021-11-14 15:35:11 -05:00
Matthew Kennedy af78ab76cb math is fun (#3545)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-14 15:32:35 -05:00
rusefi 291f815b2d Something something Automatic Compression Release #3442 2021-11-14 15:04:10 -05:00
rusefi e40780a595 more API 2021-11-14 14:53:44 -05:00
rusefi 924ae4b4a1 Epic: Remove FSIO #2928 2021-11-14 14:44:52 -05:00
GitHub build-firmware Action 98e2649f70 Auto-generated configs and docs 2021-11-14 19:42:17 +00:00
rusefi 0f29e137b7 bugfix: show both new and legacy field names were displayed 2021-11-14 14:19:09 -05:00
rusefi df4f122c0b Epic: Remove FSIO #2928 2021-11-14 14:14:43 -05:00
rusefillc 899a10c829 script settings need names! 2021-11-14 13:18:11 -05:00
GitHub build-firmware Action fde7fa93a1 Auto-generated configs and docs 2021-11-14 17:42:11 +00:00
rusefillc 66195e9ed5 Epic: Remove FSIO #2928 2021-11-14 12:15:53 -05:00
rusefillc b4f7f2bcd2 Epic: Remove FSIO #2928 2021-11-14 12:11:56 -05:00
GitHub build-firmware Action 33c12129a2 Auto-generated configs and docs 2021-11-14 16:51:07 +00:00
rusefillc 6df72646dd script settings need names! 2021-11-14 11:45:37 -05:00
rusefillc 0a8a722471 script settings need names! 2021-11-14 11:40:33 -05:00
rusefillc a52a0a80c7 Epic: Remove FSIO #2928 2021-11-14 11:40:19 -05:00
rusefillc 1a3fb4a0db Epic: Remove FSIO #2928 2021-11-14 11:04:51 -05:00
rusefillc 3327b0d4e7 Epic: Remove FSIO #2928 2021-11-14 10:57:19 -05:00
GitHub build-firmware Action 41b9a37897 Auto-generated configs and docs 2021-11-14 15:53:06 +00:00
rusefillc 4ac9a67a7d Epic: Remove FSIO #2928 2021-11-14 10:47:40 -05:00
rusefillc 5f1aadf638 Epic: Remove FSIO #2928 2021-11-14 10:39:47 -05:00
GitHub build-firmware Action b223139c3b Auto-generated configs and docs 2021-11-14 15:07:50 +00:00
rusefi fafa504dec Lua progress 2021-11-14 10:02:28 -05:00
rusefi bdb6327ff9 Epic: Remove FSIO #2928 2021-11-14 09:49:02 -05:00
GitHub build-firmware Action 42c1db2109 Auto-generated configs and docs 2021-11-14 14:40:23 +00:00
rusefillc 348ffdc69c Epic: Remove FSIO #2928 2021-11-14 09:34:45 -05:00
rusefillc ed8e81d1b4 Epic: Remove FSIO #2928 2021-11-14 09:34:19 -05:00
GitHub build-firmware Action 756b9e2b3d Auto-generated configs and docs 2021-11-14 14:27:16 +00:00
rusefillc c37aafdde1 Epic: Remove FSIO #2928 2021-11-14 09:21:04 -05:00
rusefillc a0a77fa01d Epic: Remove FSIO #2928 2021-11-14 08:38:11 -05:00
rusefillc 8fd82af0cb Epic: Remove FSIO #2928 2021-11-14 08:37:50 -05:00
rusefillc 0fc4096213 Epic: Remove FSIO #2928 2021-11-14 08:33:19 -05:00
GitHub build-firmware Action 87202db62b Auto-generated configs and docs 2021-11-14 13:13:06 +00:00
rusefillc f6fe1bc9ca Epic: Remove FSIO #2928 2021-11-14 08:00:58 -05:00
rusefillc 94320910e9 Epic: Remove FSIO #2928 2021-11-14 07:30:26 -05:00