Commit Graph

16217 Commits

Author SHA1 Message Date
Scott Smith 713083baa5
Convert TriggerWaveform::wave to a pointer in preparation for code-defined sequences. (#3528)
It will eventually be class to support dynamic universal patterns in addition to ROM-based
tables.
2021-11-11 13:19:25 -05:00
Scott Smith 4af2722658
Print BSS and RAM4 totals at the end of make. (#3527)
If java is unable to run, don't error out the Makefile, just complain a little and move on.  Until
the gcc_map_reader actually works with RAM4, we print it manually.
2021-11-11 11:51:35 -05:00
rusefillc 32d3d5fc67 where are we now? 2021-11-11 11:11:40 -05:00
rusefillc 1564f8aa02 where are we now? 2021-11-11 10:36:31 -05:00
Scott Smith 2f4d123052
Change users of MultiChannelStateSequence to use the API (#3524)
Better than reaching into members that should be private. I didn't feel like actually making
them private though, as one user validates pinStates isn't NULL.
2021-11-11 09:19:22 -05:00
rusefi dda2992e4f pid demo progress 2021-11-10 22:27:21 -05:00
GitHub build-firmware Action c84fa43de0 Auto-generated configs and docs 2021-11-11 02:22:45 +00:00
rusefillc 6590132420 Idle valve outputs not available in TS #3523 2021-11-10 21:16:55 -05:00
rusefillc 1f98e53972 Idle valve outputs not available in TS #3523 2021-11-10 21:07:38 -05:00
GitHub build-firmware Action 664d20fdee Auto-generated configs and docs 2021-11-11 01:46:41 +00:00
rusefillc 2794a85ff8 Idle valve outputs not available in TS #3523 2021-11-10 20:40:42 -05:00
GitHub build-firmware Action adefa4b312 Auto-generated configs and docs 2021-11-11 01:09:25 +00:00
rusefillc 8ada016a2b helle88 second idle wire 2021-11-10 19:53:02 -05:00
Scott Smith d4c4db9a12
Move phaseCount into MultiChannelStateSequence (#3520)
We can them drop the field from a bunch of callers, simplifying the code.
2021-11-10 19:47:27 -05:00
rusefi dcacef45ab open q 2021-11-10 19:24:17 -05:00
rusefi 72a2bdba66 MathMin 2021-11-10 19:23:05 -05:00
rusefi 19fe90452a + symbol required to make TS tips show #3463
just to be
2021-11-10 16:10:55 -05:00
rusefillc 78b684945e fresh jar for https://github.com/rusefi/rusefi/pull/3518 2021-11-10 07:57:15 -05:00
Matthew Kennedy 3f2a9c3fe8
test TS writes (#3515)
* test TS writes

* s

* this must be a gcc extension
2021-11-10 07:29:40 -05:00
Scott Smith 6b473bd168
Track ram4 sections too. (#3518) 2021-11-10 07:28:33 -05:00
Scott Smith dac67235c4
Don't keep a separate MultiChannelStateSequence for the trigger emulator, version 2. (#3517)
All it wants is to use the main trigger state, so don't bother copying it.  Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt.  Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes.  And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)

Also remove SimplePwm's 2nd copy of SingleChannelStateSequence.  It served no purpose.

Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-10 07:01:20 -05:00
rusefillc 1db9a02f1d Revert "Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)"
This reverts commit 280dfa94e7.
2021-11-09 20:42:23 -05:00
GitHub set-date Action aea4a2ad22 Update date 2021-11-10 01:00:05 +00:00
GitHub build-firmware Action 6056a62a14 Auto-generated configs and docs 2021-11-09 20:43:52 +00:00
rusefi ad75fbe216 hellen88 2021-11-09 15:33:01 -05:00
Scott Smith 280dfa94e7
Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)
All it wants is to use the main trigger state, so don't bother copying it.  Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt.  Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes.  And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)

Also remove SimplePwm's 2nd copy of SingleChannelStateSequence.  It served no purpose.

Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-09 14:35:07 -05:00
rusefillc 1d970dace1 LUA_USER_HEAP for 407 2021-11-09 09:36:42 -05:00
Scott Smith 158f719d95
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
GitHub build-firmware Action 7f373a6415 Auto-generated configs and docs 2021-11-09 02:36:07 +00:00
rusefi ccb27d487d lua pid 2021-11-08 21:30:38 -05:00
rusefi b64f6c4715 stefan has not yet asked for MAF 2021-11-08 21:30:38 -05:00
GitHub build-firmware Action 710f35d515 Auto-generated configs and docs 2021-11-09 02:26:06 +00:00
rusefi 5e44cc277b stefan is asking for TPS/IAT/CLT 2021-11-08 21:12:53 -05:00
rusefi 06e97a1794 why is meat allowed to touch machine?! 2021-11-08 20:49:12 -05:00
rusefi 22e78a97a5 nicer messages 2021-11-08 20:49:12 -05:00
GitHub build-firmware Action 0b0140db83 Auto-generated configs and docs 2021-11-09 01:26:41 +00:00
rusefillc a199103bd5 Proteus Lua Demo 2021-11-08 20:19:57 -05:00
GitHub set-date Action 6038b5a6ae Update date 2021-11-09 01:00:19 +00:00
rusefillc a783e5056b this one is for Scott 2021-11-08 19:02:34 -05:00
rusefillc fe25b24050 dead code 2021-11-08 19:01:18 -05:00
rusefi 8aaecb568e pid demo progress 2021-11-08 17:31:33 -05:00
GitHub build-firmware Action e089b8d9ac Auto-generated configs and docs 2021-11-08 22:24:44 +00:00
rusefi 19f5fd5cbd on Lua control of H-bridge 2021-11-08 17:11:48 -05:00
rusefillc 1f0ba902af progress 2021-11-08 16:43:49 -05:00
Scott Smith 37da55c920
Compile each project's PCH to a separate file to reduce developer friction. (#3505)
Having to remove the precompiled header when switching from firmware to simulator to unit_tests and
back again is annoying.  Use a directory to store the precompiled header output.  Turn off
precompiled header warnings as GCC still complains even if it finds a valid one eventually.
2021-11-08 15:52:58 -05:00
Scott Smith 13c496b79b
Make getTimeNowNt even faster (#3504)
The last version is already much better than the original, mostly because it doesn't call
CriticalSectionLocker, which has a ton of overhead due to debug tracking.  But this version is
another 4 instructions / 12 bytes shorter.  Does as much match in 32-bit land as possible, and
avoids math operations that span 64-bits (i.e. either operate on the lower half or upper half, but
not both).  The result is only 3 instructions not including the necessary 4 loads (ptr to now, now,
ptr to upper, upper), 1 store (upper), and 1 return/branch.
2021-11-08 14:24:31 -05: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
Andrey 8a963633d3 refactoring: assigning etbFunctions earlier 2021-11-08 12:39:41 -05:00
Andrey 1b0d48d8c0 WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK 2021-11-08 12:27:02 -05:00
Andrey 9d2f9f0d35 docs 2021-11-08 12:23:00 -05:00