Commit Graph

11847 Commits

Author SHA1 Message Date
rusefillc d96755ec15 Proteus Harley 2021-11-12 21:56:07 -05:00
GitHub set-date Action 187f58078e Update date 2021-11-13 01:04:13 +00:00
rusefi f5dedb4c6f maybe lua freezes proteus h7 after 7 seconds of run #3539 2021-11-12 13:45:07 -05:00
rusefillc 7080bb5bb9 maybe lua freezes proteus h7 after 7 seconds of run #3539 2021-11-12 13:11:32 -05:00
rusefi 0747a6ceec maybe lua freezes proteus h7 after 7 seconds of run #3539 2021-11-12 12:51:05 -05:00
rusefi cdf069ff16 maybe lua freezes proteus h7 after 7 seconds of run #3539 2021-11-12 12:45:53 -05:00
rusefi 9126b6f405 pid demo progress 2021-11-12 00:20:52 -05:00
GitHub build-firmware Action 44fc5651bf Auto-generated configs and docs 2021-11-12 04:15:01 +00:00
Matthew Kennedy 4f9df2a110 new parser handles enum values (#3492)
* simplify

* poke to force generate

* enums

* jar

* jar

* poke

* prepends formatted

* prepends

* eol

* eol

* allow no endl at eof

* Revert "eol"

This reverts commit 022029faef338281b1a3551f82e46c4b6a7578a5.

* Revert "eol"

This reverts commit 6274502db740569235210916fde4ec84863d7fb3.
2021-11-11 23:09:39 -05:00
GitHub build-firmware Action 17a6f81365 Auto-generated configs and docs 2021-11-12 04:00:30 +00:00
rusefi c92b032728 lua wants your pins! 2021-11-11 22:54:48 -05:00
rusefi 2ac0cdd2ed curve names 2021-11-11 22:54:48 -05:00
GitHub build-firmware Action 8a5f3a3a0c Auto-generated configs and docs 2021-11-12 03:51:31 +00:00
rusefi fe07fee8b1 pid demo progress 2021-11-11 22:38:50 -05:00
Andrey 31b50ff021 Something something Automatic Compression Release #3442 2021-11-11 21:38:49 -05:00
Andrey db6a1ae7e2 docs 2021-11-11 21:31:24 -05:00
Andrey aecdc84ab8 UART pins validation and dynamic alternative function recognition #3536 2021-11-11 21:29:18 -05:00
GitHub build-firmware Action cf7231a8a0 Auto-generated configs and docs 2021-11-12 01:54:56 +00:00
Andrey 37adc7e713 Bench Test IAC Valve fails #3534
that's not even funny
2021-11-11 20:39:01 -05:00
Andrey 06f7098cae Bench Test IAC Valve fails #3534 2021-11-11 20:31:46 -05:00
Andrey 5136d0b994 Bench Test IAC Valve fails #3534 2021-11-11 20:28:01 -05:00
GitHub build-firmware Action 132e70befe Auto-generated configs and docs 2021-11-12 01:22:13 +00:00
Andrey 1aca049c47 Something something Automatic Compression Release #3442 2021-11-11 20:16:46 -05:00
Andrey 7d3d93d469 dead line 2021-11-11 20:16:46 -05:00
Andrey f3bcf6c917 https://rusefi.com/forum/viewtopic.php?f=13&t=2206 2021-11-11 20:16:46 -05:00
Andrey 9aa98cd523 refactoring: less hacky implementation 2021-11-11 20:16:46 -05:00
GitHub set-date Action a5ca40bebe Update date 2021-11-12 01:01:37 +00:00
rusefi 1d078c114b lua PID example 2021-11-11 19:16:04 -05:00
GitHub build-firmware Action c57174f2ac Auto-generated configs and docs 2021-11-11 23:37:47 +00:00
Andrey 58588cdf6b https://rusefi.com/forum/viewtopic.php?f=13&t=2206 2021-11-11 18:31:54 -05:00
rusefillc 0db5f673dc Overflow in currentTimeMillis and getTimeNowSeconds #3531 2021-11-11 17:54:31 -05:00
rusefillc 29b21e6eb6 Overflow in currentTimeMillis and getTimeNowSeconds #3531
it now takes 1000 times longer to overflow
2021-11-11 16:43:41 -05:00
rusefillc 677a2ede70 Overflow in currentTimeMillis and getTimeNowSeconds #3531
it now takes 1000 times longer to overflow
2021-11-11 16:39:23 -05:00
Matthew Kennedy baf11a27b9 load lua libs correctly (#3529)
* fix lua lib loading

* test
2021-11-11 13:44:13 -05:00
Scott Smith 93d31c6c9b 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 7843b5a28d 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 e117292d62 where are we now? 2021-11-11 11:11:40 -05:00
rusefillc ad7c5d9aae where are we now? 2021-11-11 10:36:31 -05:00
Scott Smith aec887efc8 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 fb09cecd69 pid demo progress 2021-11-10 22:27:21 -05:00
rusefillc 1f415a0212 Idle valve outputs not available in TS #3523 2021-11-10 21:07:38 -05:00
GitHub build-firmware Action 17b786734c Auto-generated configs and docs 2021-11-11 01:46:41 +00:00
rusefillc 371f0ca72c Idle valve outputs not available in TS #3523 2021-11-10 20:40:42 -05:00
GitHub build-firmware Action 993a2111dd Auto-generated configs and docs 2021-11-11 01:09:25 +00:00
rusefillc 469294c919 helle88 second idle wire 2021-11-10 19:53:02 -05:00
Scott Smith 1a299a3221 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 35f6ac4305 open q 2021-11-10 19:24:17 -05:00
Matthew Kennedy 26749e0384 test TS writes (#3515)
* test TS writes

* s

* this must be a gcc extension
2021-11-10 07:29:40 -05:00
Scott Smith 5bd7d8e372 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 38ea0d1835 Revert "Don't keep a separate MultiChannelStateSequence for the trigger emulator. (#3513)"
This reverts commit 4e220dc163.
2021-11-09 20:42:23 -05:00
GitHub set-date Action 150019b0ed Update date 2021-11-10 01:00:05 +00:00
GitHub build-firmware Action 6b39c9f5f1 Auto-generated configs and docs 2021-11-09 20:43:52 +00:00
rusefi 01f259404a hellen88 2021-11-09 15:33:01 -05:00
Scott Smith 4e220dc163 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 2fe84449cf LUA_USER_HEAP for 407 2021-11-09 09:36:42 -05:00
Scott Smith 9b40e68155 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 3484c3270b Auto-generated configs and docs 2021-11-09 02:36:07 +00:00
rusefi a7698a290f lua pid 2021-11-08 21:30:38 -05:00
rusefi 39fb7fddfd stefan has not yet asked for MAF 2021-11-08 21:30:38 -05:00
GitHub build-firmware Action e63e942fb5 Auto-generated configs and docs 2021-11-09 02:26:06 +00:00
rusefi 7520d9f0c0 stefan is asking for TPS/IAT/CLT 2021-11-08 21:12:53 -05:00
rusefi 99a90309ef why is meat allowed to touch machine?! 2021-11-08 20:49:12 -05:00
rusefi 8bab53c1fd nicer messages 2021-11-08 20:49:12 -05:00
GitHub build-firmware Action 464332e5be Auto-generated configs and docs 2021-11-09 01:26:41 +00:00
rusefillc 07711b4691 Proteus Lua Demo 2021-11-08 20:19:57 -05:00
GitHub set-date Action 3168ccd62c Update date 2021-11-09 01:00:19 +00:00
rusefillc a5399444b2 this one is for Scott 2021-11-08 19:02:34 -05:00
rusefillc 0ec6d5be4a dead code 2021-11-08 19:01:18 -05:00
rusefi 69a53c565f pid demo progress 2021-11-08 17:31:33 -05:00
GitHub build-firmware Action dbecc45968 Auto-generated configs and docs 2021-11-08 22:24:44 +00:00
rusefi a358dc7de9 on Lua control of H-bridge 2021-11-08 17:11:48 -05:00
Scott Smith 7367aa5b8a 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 8639b7c7e4 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 2166a5ba16 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 757cd10c1f docs 2021-11-08 12:23:00 -05:00
Scott Smith 2752c39d7f 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 f6aac4b1f9 Auto-generated configs and docs 2021-11-08 03:23:43 +00:00
rusefillc 96e3b8c6f6 Main and Pump pins default set wrong fix #3501 2021-11-07 22:09:26 -05:00
GitHub set-date Action db5ef62885 Update date 2021-11-08 01:02:17 +00:00
rusefillc 259ab7a234 Latest firmware causes an error (2021 11 07 build) fix #3500 2021-11-07 19:52:30 -05:00
Matthew Kennedy 7f4b91809e dead vss flag (#3499) 2021-11-07 14:36:46 -05:00
Andrey G 0e5b71b86b Openblt deliver (#3486)
* common_make: rusefi.* should be functional image

OpenBLT used: rusefi.* is bootloader plus RusEFI
OpenBLT not used: rusefi.* is RusEFI only.
In both cases flashing of rusefi.* image to blank device should be
enough.
rusefi_update.srec does not include bootloader and this image should
be used for CAN update.

* Boundle generation: include bootloader and update image

* Update hex2dfu, deliver composite bin file
2021-11-07 13:50:01 -05:00
GitHub build-firmware Action 41fe16ed40 Auto-generated configs and docs 2021-11-07 18:40:19 +00:00
rusefi 90057333d1 scriptTableName 2021-11-07 13:35:29 -05:00
GitHub build-firmware Action 678f5db3b9 Auto-generated configs and docs 2021-11-07 15:30:54 +00:00
Andrey a32f061a0f names for tables similar to curve names 2021-11-07 09:58:35 -05:00
Andrey 49d4dea65e lua pid class #3411 2021-11-07 09:53:40 -05:00
Andrey c98bfecf11 lua pid class #3411 2021-11-07 09:49:47 -05:00
Andrey 94faa375e1 reducing complexity 2021-11-07 01:57:32 -05:00
rusefillc d0a8bbc974 typo 2021-11-07 01:51:05 -05:00
rusefillc 4f6dc57d31 refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:34:16 -04:00
rusefillc 73fe152db2 refactoring - magic constant bad
cypress and kinetis both have this macro already
2021-11-07 01:28:28 -04:00
GitHub build-firmware Action fdc32277ea Auto-generated configs and docs 2021-11-07 04:44:16 +00:00
rusefillc 355e3c84f5 a bit of dead code 2021-11-07 00:13:29 -04:00
rusefillc 5ddd516860 refactoring - magic constant bad 2021-11-07 00:09:17 -04:00
rusefillc fd28e82f73 refactoring - magic constant bad 2021-11-07 00:03:16 -04:00
GitHub build-firmware Action 2ee8ecb287 Auto-generated configs and docs 2021-11-07 03:59:47 +00:00
rusefillc eb4ef563dd a bit of dead code 2021-11-06 23:39:56 -04:00
GitHub build-firmware Action 1ce3fa63b7 Auto-generated configs and docs 2021-11-07 03:33:26 +00:00
Matthew Kennedy 0dde7d6fef simplify signature.h generation (#3480)
* simplify

* poke to force generate
2021-11-06 23:19:53 -04:00