Commit Graph

12296 Commits

Author SHA1 Message Date
Matthew Kennedy 178ccdeb4d
simulator writes binary log (#3598)
* simulator writes log

* replace the file

* check that the sim actually fails

* put it back

* did the sim really not fail?

* good, asan does catch it
2021-11-23 11:42:45 -05:00
rusefillc c29bb71556 spelling 2021-11-23 07:57:43 -05:00
GitHub set-date Action ad5c0fc57c Update date 2021-11-23 01:00:35 +00:00
GitHub build-firmware Action 174b03e8be Auto-generated configs and docs 2021-11-22 23:12:52 +00:00
Matthew Kennedy 3334a6963c
oh my god we've had no asserts (#3595) 2021-11-22 17:52:03 -05:00
rusefi 48d44242ff harley lua 2021-11-22 17:33:28 -05:00
Matthew Kennedy b2ae7243dd
embiggen log buffer (#3596) 2021-11-22 16:46:18 -05:00
rusefillc a07e0a37b1 harley 2021-11-22 14:29:48 -05:00
rusefillc 42da5746f4 j1850 SAE crc8 Lua 2021-11-22 14:19:19 -05:00
rusefillc da68ff5ad6 j1850 SAE crc8 2021-11-22 14:03:52 -05:00
GitHub build-firmware Action 66e9a5e9ae Auto-generated configs and docs 2021-11-22 18:42:24 +00:00
rusefillc a369e7e3d3 unusedLogFormat 2021-11-22 13:37:06 -05:00
rusefi bc0c1a6b4a harley CAN Lua 2021-11-22 13:00:16 -05:00
Scott Smith 9668626008
Move LuaThread to CCM, and shuffle a couple items out. (#3587)
Lua's stack probably doesn't need DMA.  Allows us to group more of our unused RAM together
in one place.
2021-11-21 20:35:03 -05:00
GitHub set-date Action cd08e2d153 Update date 2021-11-22 01:01:34 +00:00
rusefillc 66043a5daf automation around outputs section #197 2021-11-21 09:35:37 -05:00
GitHub build-firmware Action 62e11e18e4 Auto-generated configs and docs 2021-11-21 13:16:25 +00:00
rusefillc 76d90c4fa8 https://rusefi.com/forum/viewtopic.php?f=5&t=2217 2021-11-21 08:12:05 -05:00
Scott Smith ba4a00d3bb
Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData (#3519)
* Drop SingleChannelStateSequence in favor of MultiChannelStateSequenceWithData

Most all the users were Multi* anyways, so just improve that:
1. Allow up to 8 waveforms to share one byte per timestamp.  It could be better but this is simple
   and gets most of the benefit.
2. Use a wrapper structure to handle reserving space for the arrays.  Makes the interface simpler
   and more rigid.  Also saves 4 bytes per Multi*.  Downside is access is now via -> and *,
   not . and (nothing).

Saves 224 bytes of BSS, 1832 bytes of RAM4/CCM, 952 bytes of TEXT, and 103 bytes of RODATA

* Instantiate a base_t to make debugging easier.
Also fixes crash on real firmware by using &m_base instead - LTO optimization issue?

* No magical templated StaticAlloc thingy.  Just virtual functions.
2021-11-21 04:56:07 -05:00
Matthew Kennedy 9a28e8d938
correctly compute engine revolution number (#3586)
* add param

* first revolution is revolution 0, not revolution 1

* would you look at that, we sync one rev quicker!

* changelog

* rpm value
2021-11-21 09:01:27 +03:00
GitHub set-date Action 3b818a9585 Update date 2021-11-21 01:02:55 +00:00
rusefillc 907c955625 automation around outputs section #197 2021-11-20 14:38:50 -05:00
rusefillc 8cc775e6b6 automation around outputs section #197 2021-11-20 14:27:21 -05:00
rusefillc 7fbd8e9154 automation around outputs section #197 2021-11-20 14:08:02 -05:00
rusefillc 0e89992c38 automation around outputs section #197 2021-11-20 13:30:25 -05:00
rusefillc e3c8aa2f57 Epic: Remove FSIO #2928 2021-11-20 13:19:50 -05:00
rusefillc 22b1b04299 No longer used 2021-11-20 13:18:57 -05:00
Matthew Kennedy a342bee57e
rpm calculator refactoring, gm 24x test (#3585)
* data

* stub test

* use getTimeSinceSyncPoint

* s

* s

* no

* test

* stray ;

* those were 1/10 what they were supposed to be

* actually check something

* dead log line?
2021-11-20 14:59:02 +03:00
Scott Smith cbc7c61b3e
Fix potential buffer overrun in cyclic_buffer. (#3583)
This exposed a buffer overrun, so double the size of the buffer (to account for 720 degree engine
cycle vs 360 degree crank events).

Also use proper numeric limits when computing min/max.
Finally, add a lock around the call to cyclic_buffer that actually caused the contention.
2021-11-20 03:01:11 -05:00
Matthew Kennedy bb57a4b084
detect more overflows with asan (#3582)
* overflow detector

* type list dynamic allocate

* fix the buffer length

* comment

* pr fb

* sanitize sim

* fix sim sanitizer bug

* didn't mean to turn off optimization for sim

* asan can do that, if you turn it on!

* cleaning
2021-11-20 01:38:39 -05:00
Scott Smith 1fe26f55fb
Expose console over serial port for H7 proc (#3578)
This way you can use the console/TunerStudio with the ST-Link

In the process, combine TS_PRIMARY_UART and TS_PRIMARY_SERIAL into TS_PRIMARY_PORT, to make UART vs
SERIAL selection more robus.  Ditto for TS_SECONDARY_*.  Also change use of TS_NO_PRIMARY to be #if
not #ifdef, so that it can be properly set as a compile flag and not be overwritten by various
header files.
2021-11-20 00:39:08 -05:00
rusefillc e54d3b9e06 On -fpermissive in Windows in unit tests #3581 2021-11-20 00:16:03 -05:00
rusefillc ecac07f938 brave refactoring 2021-11-19 23:56:52 -05:00
GitHub build-firmware Action 71bf1f7d1a Auto-generated configs and docs 2021-11-20 04:16:43 +00:00
Scott Smith 5bc1949aef
Basic framework for high pressure fuel pump control (#3476)
* Basic framework for high pressure fuel pump control

* Many changes

Move calculations to fast callback
Move main object into Engine
Respond to pin changes without requiring a reboot

* Use EngineModule for HpfpController
Schedule pin off after executing pin on so we are sure it ends, even if the motor stops.
Test scheduling.
Less RAM use by only having one event and reordering fields.

* Make scheduling test actually useful - need non-0 activation angle.

Co-authored-by: rusefillc <48498823+rusefillc@users.noreply.github.com>
2021-11-19 23:06:51 -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
Matthew Kennedy cdd27abb09
turn on c++ 20 (#3579)
* set flags

* emit initializers

* jar
2021-11-19 22:19:34 -05:00
GitHub set-date Action 3288f42fbf Update date 2021-11-20 00:59:29 +00:00
GitHub build-firmware Action 0b4ca8346b Auto-generated configs and docs 2021-11-19 12:08:29 +00:00
rusefillc 684622e476 debug mode for skipped count for 4 cylinders #3570 2021-11-19 07:02:21 -05:00
Matthew Kennedy 29613ec403
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 f76054c0b3 Auto-generated configs and docs 2021-11-19 09:16:06 +00:00
Matthew Kennedy caee2a5439
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 692e3d7e9f
adjust miata sync conditions (#3577) 2021-11-19 02:30:05 -05:00
Scott Smith df3e60c07c
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 d91e5f2ad0 automation around outputs section #197
a step back
2021-11-18 21:12:54 -05:00
rusefillc f1103b65bc automation around outputs section #197 2021-11-18 20:09:07 -05:00
GitHub set-date Action 90fc972716 Update date 2021-11-19 01:01:05 +00:00
rusefillc b16f970dcb automation around outputs section #197 2021-11-18 19:46:17 -05:00