Commit Graph

7427 Commits

Author SHA1 Message Date
rusefi 676f2dfb93 findTableIndex 2021-11-13 10:02:01 -05:00
rusefillc 6be84c0de9 lua can 2021-11-13 08:23:44 -05:00
rusefillc 8fdf2521e5 lua can 2021-11-13 08:20:30 -05:00
rusefillc e662544919 lua can 2021-11-13 04:44:17 -05:00
GitHub build-firmware Action 8d7157ff3e Auto-generated configs and docs 2021-11-13 09:41:01 +00:00
rusefillc 8333234737 Something something Automatic Compression Release #3442 2021-11-13 04:24:53 -05:00
Matthew Kennedy 73b05d2e20
lua pid class (#3411)
* lua pid

* no luaaa stl

* update luaaa

* finality

* luaaa

* luaaa

* = default

* bad merge

* gitmodules

* lua

* proteus demo script

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-13 03:18:16 -05:00
Matthew Kennedy a831bec797
update luaaa (#3540)
* lua update

* no stdlib mode

* turn off system luaaa for now since it makes luaaa sad

* let user heap do a little

* gitmodules

* memory shuffling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-12 22:10:05 -05:00
GitHub build-firmware Action dffab7abff Auto-generated configs and docs 2021-11-13 03:01:55 +00:00
rusefillc 6d58518fb2 Proteus Harley 2021-11-12 21:56:07 -05:00
GitHub set-date Action e3a3bd6b7a Update date 2021-11-13 01:04:13 +00:00
GitHub build-firmware Action aae236188c Auto-generated configs and docs 2021-11-12 04:15:01 +00:00
GitHub build-firmware Action bcdea6b33a Auto-generated configs and docs 2021-11-12 04:00:30 +00:00
GitHub build-firmware Action 0c8f9dd01d Auto-generated configs and docs 2021-11-12 03:51:31 +00:00
Andrey 88dcab9cd6 Something something Automatic Compression Release #3442 2021-11-11 21:38:49 -05:00
Andrey 5c99178eeb docs 2021-11-11 21:31:24 -05:00
GitHub build-firmware Action 2765d386b9 Auto-generated configs and docs 2021-11-12 01:54:56 +00:00
Andrey 562ab174d7 Bench Test IAC Valve fails #3534
that's not even funny
2021-11-11 20:39:01 -05:00
Andrey 8d154b94df Bench Test IAC Valve fails #3534 2021-11-11 20:31:46 -05:00
Andrey df98eb69d4 Bench Test IAC Valve fails #3534 2021-11-11 20:28:01 -05:00
GitHub build-firmware Action 9861ca4d99 Auto-generated configs and docs 2021-11-12 01:22:13 +00:00
Andrey cd57e1fdb6 Something something Automatic Compression Release #3442 2021-11-11 20:16:46 -05:00
Andrey 6436a2b9a4 dead line 2021-11-11 20:16:46 -05:00
Andrey aff7664c21 refactoring: less hacky implementation 2021-11-11 20:16:46 -05:00
GitHub set-date Action bfabe25f2e Update date 2021-11-12 01:01:37 +00:00
GitHub build-firmware Action cfccb29fae Auto-generated configs and docs 2021-11-11 23:37:47 +00:00
rusefillc 80cf7b5ecd Overflow in currentTimeMillis and getTimeNowSeconds #3531 2021-11-11 17:54:31 -05:00
rusefillc 46e9269982 Overflow in currentTimeMillis and getTimeNowSeconds #3531
it now takes 1000 times longer to overflow
2021-11-11 16:43:41 -05:00
rusefillc 825a57e33a Overflow in currentTimeMillis and getTimeNowSeconds #3531
it now takes 1000 times longer to overflow
2021-11-11 16:39:23 -05:00
Matthew Kennedy 57ad75aa98
load lua libs correctly (#3529)
* fix lua lib loading

* test
2021-11-11 13:44:13 -05:00
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
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
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
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
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
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
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
GitHub build-firmware Action 710f35d515 Auto-generated configs and docs 2021-11-09 02:26:06 +00: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
GitHub set-date Action 6038b5a6ae Update date 2021-11-09 01:00:19 +00: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
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 9d2f9f0d35 docs 2021-11-08 12:23:00 -05:00
Scott Smith d4132fdf01
Change getTimeNowNt to be lock free. (#3502)
Track the top two bits of the 32-bit time field, along with the bits that comprise the top half of
the 64-bit time field.  We can detect when the 32-bit field is advancing or falling back from the
global time counter as long as the change is less than about 1 billion ticks.  This shows up as
either 01 or 11 in the top 2 bits of the 32-bit time field relative to the 64-bit field.  Or is
there is no change it shows up as 00.  Changes of 2 billion or more cannot be discerned as +2
billion and -2 billion both show up as 10.

Change the simulator to use this logic to make sure it gets some exercise.
2021-11-08 08:24:20 -05:00
GitHub build-firmware Action 45c4ccd4c4 Auto-generated configs and docs 2021-11-08 03:23:43 +00:00
GitHub set-date Action 21e7272e66 Update date 2021-11-08 01:02:17 +00:00
GitHub build-firmware Action a0cddcec54 Auto-generated configs and docs 2021-11-07 18:40:19 +00:00
GitHub build-firmware Action f0d6cd8479 Auto-generated configs and docs 2021-11-07 15:30:54 +00:00
Andrey 9b0f617664 lua pid class #3411 2021-11-07 09:53:40 -05:00
Andrey 821276197b lua pid class #3411 2021-11-07 09:49:47 -05:00
Andrey 9ac1575777 reducing complexity 2021-11-07 01:57:32 -05:00
rusefillc 5de6c2a270 typo 2021-11-07 01:51:05 -05:00
rusefillc 20784db801 refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:34:16 -04:00
rusefillc 0af09f596c refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:28:28 -04:00
GitHub build-firmware Action 5a14173b60 Auto-generated configs and docs 2021-11-07 04:44:16 +00:00
rusefillc 6d0dfe4542 refactoring - magic constant bad 2021-11-07 00:09:17 -04:00
rusefillc 656b8c3429 refactoring - magic constant bad 2021-11-07 00:03:16 -04:00
GitHub build-firmware Action ed44ee9b11 Auto-generated configs and docs 2021-11-07 03:59:47 +00:00
rusefillc ce45a907a7 a bit of dead code 2021-11-06 23:39:56 -04:00
GitHub build-firmware Action d2b9fec0a2 Auto-generated configs and docs 2021-11-07 03:33:26 +00:00
GitHub build-firmware Action ef4df02ab0 Auto-generated configs and docs 2021-11-07 02:14:13 +00:00
rusefillc b244c59cd8 a bit of dead code 2021-11-06 21:19:56 -04:00
GitHub build-firmware Action e065a6ca4c Auto-generated configs and docs 2021-11-07 01:05:29 +00:00
rusefillc 4f738b366e a bit of dead code 2021-11-06 21:01:01 -04:00
Andrey 6111355e6c Remove Miata MX5 NB1 trigger #3488 2021-11-06 20:24:41 -04:00
GitHub build-firmware Action 05b494a726 Auto-generated configs and docs 2021-11-06 23:15:42 +00:00
rusefillc 7b8821955b a bit of dead code 2021-11-06 18:43:19 -04:00
GitHub build-firmware Action b1c27c95d5 Auto-generated configs and docs 2021-11-06 22:37:34 +00:00
rusefillc 1cbe2f7bef PROTEUS_LUA_DEMO 2021-11-06 18:24:59 -04:00
GitHub build-firmware Action 6a9c38f934 Auto-generated configs and docs 2021-11-06 22:15:32 +00:00
GitHub build-firmware Action 8b37ba9048 Auto-generated configs and docs 2021-11-06 19:17:51 +00:00
GitHub build-firmware Action 702b166aa8 Auto-generated configs and docs 2021-11-06 18:12:59 +00:00
GitHub build-firmware Action 6801d99ca5 Auto-generated configs and docs 2021-11-06 17:41:14 +00:00
GitHub build-firmware Action b2536faa9e Auto-generated configs and docs 2021-11-06 17:17:08 +00:00
GitHub build-firmware Action d9354f6d9d Auto-generated configs and docs 2021-11-06 13:26:06 +00:00
GitHub build-firmware Action ab668c5bed Auto-generated configs and docs 2021-11-06 03:28:22 +00:00
Scott Smith f9e36f5ea4
Configuration for HPFP control algorithm. (#3475) 2021-11-05 23:15:35 -04:00
Scott Smith 675460fafb
Move fuel density to a header file so it can be accessed by other components. (#3474) 2021-11-05 22:29:56 -04:00
GitHub build-firmware Action 5e4abadd48 Auto-generated configs and docs 2021-11-06 02:01:07 +00:00
Scott Smith 16378dcf59
Convert existing tables to use the simpler 3d table definition style in rusefi_config.txt (#3473)
This fixes #3465.
2021-11-05 21:55:33 -04:00
GitHub set-date Action 744bf535e6 Update date 2021-11-06 00:59:21 +00:00
GitHub build-firmware Action acce4630df Auto-generated configs and docs 2021-11-06 00:31:14 +00:00
Matthew Kennedy 7590e4c679
log current engine phase on trigger teeth (#3471)
* log phase on trigger teeth

* ui

* guard
2021-11-05 20:02:15 -04:00
GitHub build-firmware Action 16f8d60d29 Auto-generated configs and docs 2021-11-05 23:52:02 +00:00
GitHub build-firmware Action 5adc7d27b8 Auto-generated configs and docs 2021-11-05 22:21:29 +00:00
Matthew Kennedy 3348c0404b
configurable etb maximum (#3469)
* etb maximum

* update tests and test new behavior
2021-11-05 18:16:19 -04:00