Andrey
9abdab795d
totalFuel and totalIgnition correction gauges in Tunerstudio #4955
2023-01-14 23:21:23 -05:00
Matthew Kennedy
d5b00e1187
don't warn if we intentionally skipped this spark ( #4961 )
...
* don't warn if we intentionally skipped this spark
* header
* real nb2
2023-01-10 19:07:44 -05:00
Andrey G
a300043f5d
Feed mapAveragingAdcCallback() with volts not adc raw values ( #4940 )
2023-01-05 12:14:48 -05:00
rusefillc
0300376c84
CI is useful
2023-01-01 11:30:50 -05:00
rusefillc
6146b01a36
antilag and anti-lag #2403
...
TurboMarian is the ALS boss
2022-12-21 20:12:00 -05:00
rusefillc
e75a1bc1a1
guards
2022-12-17 18:26:38 -05:00
rusefillc
d63d8f869a
guards
2022-12-17 15:50:54 -05:00
rusefillc
85976ed63d
guards
2022-12-17 15:23:32 -05:00
rusefillc
57ad9b7311
random getOrZero clean-up
2022-12-14 19:48:07 -05:00
Matthew Kennedy
5250b177c2
Allow scheduling_s to come from a pool ( #4841 )
...
* injection events use scheduling pool
* knock and prime
* bench test
* dropped this: *
* extract action before execute
* comment
* init allocated timers
* metrics
* dropped this: ,
* guard
* injection events use scheduling pool
* knock and prime
* bench test
* dropped this: *
* extract action before execute
* comment
* init allocated timers
* metrics
* dropped this: ,
* guard
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-12-10 17:55:51 -05:00
Matthew Kennedy
994ee2f22f
Combine angle based event ( #4884 )
...
* Remove AngleBasedEventOld/New, only AngleBasedEvent now
* this 7 year old comment of old test code can go away
2022-12-10 17:07:02 -05:00
Matthew Kennedy
2c58579a8d
switch hpfp and aux valves to AngleBasedEventNew ( #4882 )
...
* switch hpfp to AngleBasedEventNew
* aux valves too!
2022-12-10 16:15:11 -05:00
Matthew Kennedy
769cdd32ca
TriggerScheduler cleanup ( #4844 )
...
* TriggerScheduler cleanup
* remove TRIGGER_EVENT_UNDEFINED
* remove dead overload of scheduleOrQueue
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-28 08:55:38 -05:00
Matthew Kennedy
8ea5969607
fix warnings ( #4840 )
...
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-11-27 10:11:14 -05:00
Andrey
77a3f5d795
trigger refactoring: instance RPM #4740
2022-11-06 11:56:18 -05:00
Andrey
d75bf59cdc
trigger refactoring: instance RPM #4740
2022-11-06 11:12:20 -05:00
Andrey
b5796c121d
trigger refactoring: instance RPM #4740
2022-11-06 10:58:04 -05:00
GitHub gen-configs Action
54cea0119a
Auto-generated configs and docs
2022-11-01 21:35:56 +00:00
rusefillc
dd081e5d58
Too long field comment becomes log field name #4716
2022-11-01 17:31:47 -04:00
GitHub gen-configs Action
523a6b9592
Auto-generated configs and docs
2022-11-01 21:00:55 +00:00
rusefillc
53649f73f1
Too long field comment becomes log field name #4716
2022-11-01 16:51:51 -04:00
Andrey G
e7b06cbfca
compile warnings: signed vs unsigned and unused ( #4713 )
2022-10-30 09:47:53 -04:00
rusefillc
0283351d6c
send more of Engine Sniffer data #4560
2022-10-29 21:55:35 -04:00
Matthew Kennedy
de65a247d6
plumbing for dual MAP sensors ( #4704 )
...
* wiring for dual maps
* s
2022-10-27 21:15:04 -04:00
Matthew Kennedy
dfe2ead2e7
prep for multiple MAP sensors ( #4705 )
...
* prep for multiple MAP sensors
* move guard
* sensor info printing
* maybe kinetis memory
2022-10-27 13:59:36 -04:00
Andrey
b01082640b
Revert "prep for multiple MAP sensors ( #4677 )"
...
This reverts commit b8c79b7881
.
2022-10-26 21:25:02 -04:00
Matthew Kennedy
b8c79b7881
prep for multiple MAP sensors ( #4677 )
...
* prep for multiple MAP sensors
* move guard
* sensor info printing
2022-10-26 18:06:20 -04:00
rusefillc
98076927b0
progress: rpm register based on trigger input being none or not ( #4691 )
...
* progress: rpm register based on trigger input being none or not
* use helper functions
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-22 09:27:41 -04:00
rusefillc
7a1e729cd8
ROLLBACK
2022-10-21 22:45:46 -04:00
rusefillc
3abed33988
progress: rpm register based on trigger input being none or not
2022-10-21 22:07:41 -04:00
Matthew Kennedy
940e0dc369
require ignition on for firing ( #4628 )
...
* require ignition on for firing
* too much havoc for a unit test
* patch up references
* last one
* fix changelog mangling
* fix the changelog template too
* bad merge
* fix the template again
* s
* fake battery voltage on hw ci
* ugh merge
* ugh merge
2022-10-04 20:36:03 -04:00
Matthew Kennedy
cb86c014cf
fix instant rpm clearing bug ( #4629 )
...
* improve instant rpm
* changelog
2022-09-29 07:15:59 -04:00
Andrey
baaec6a603
refactoring: encapsulation
2022-09-28 22:42:08 -04:00
Matthew Kennedy
264d33d30e
refactor prime ( #4627 )
2022-09-28 07:53:12 -04:00
Matthew Kennedy
b089825a4a
schedule ignition charge by angle instead of tooth ( #4513 )
...
* schedule ignition charge by angle
* same mistake as #4536
* s
* wrap sparkAngle too
* AngleBasedEventNew
* function moved
* implement scheduleOrQueue
* prints
2022-09-25 11:00:55 -04:00
Matthew Kennedy
dfe1b47b4d
remove ignitionPin ( #4608 )
...
* remove ignitionPin
* now that's gone
* BMW test
2022-09-23 17:30:10 -04:00
Matthew Kennedy
a9cc3223dc
plumbing for 4513 ( #4599 )
...
* plumbing for 4513
* not static
2022-09-20 06:19:51 -04:00
Matthew Kennedy
af7e4f6fe5
two modes trigger scheduler ( #4598 )
...
* two modes trigger scheduler
* asOld
* hpfp
2022-09-20 05:28:23 -04:00
Matthew Kennedy
3a57c41c1b
add fuel/spark cut codes to TS indicators ( #4592 )
...
* add fuel/spark cut codes to TS indicators
* fix list
* only set clearReason if not cleared
2022-09-19 22:01:03 -04:00
rusefillc
d9733199c1
"angle range findAngle#a6" critical error #4593
2022-09-19 18:33:19 -04:00
rusefillc
efb232223f
moving acceleration around
2022-09-16 00:06:57 -04:00
rusefillc
61134b452a
tear down Engine god object #4511
...
oh I hope this ends well
2022-09-15 23:41:06 -04:00
rusefillc
45d88f1d26
tear down Engine god object #4511
2022-09-15 22:21:07 -04:00
rusefillc
ec0e567989
tear down Engine god object #4511
2022-09-15 21:46:01 -04:00
rusefillc
2d21aacc08
CUSTOM_INSTANT_MAP_DECODING
2022-09-15 15:07:31 -04:00
rusefillc
888247eccd
mapFast into logs
2022-09-15 14:55:49 -04:00
Andrey
0e91914266
deep rabbit holes are the best ones!
...
refactoring: encapsulation
2022-09-14 02:35:55 -04:00
Andrey
2c0ce0ec7d
deep rabbit holes are the best ones!
...
refactoring: encapsulation
2022-09-14 02:17:04 -04:00
Andrey
6cdb0dc0af
deep rabbit holes are the best ones!
...
refactoring: encapsulation
2022-09-14 01:53:17 -04:00
Andrey
82cda62bac
inline method to reduce confusion
2022-09-14 01:34:52 -04:00
Andrey
fedfd42989
removing dead parameter
2022-09-14 01:13:57 -04:00
Andrey
28704a9970
moving IO-only away from scheduling logic
2022-09-14 00:55:55 -04:00
Andrey
b69d613192
moving IO-only away from scheduling logic
2022-09-14 00:52:24 -04:00
rusefillc
e733782920
i suspect that no one cares about these
2022-09-14 00:34:04 -04:00
Andrey G
55c1f53c75
dead code, reduce typedefs ( #4566 )
...
* Do lightweight checks first
* Dead getTimeIgnitionSeconds()
Dead since 81fffe87b7
* Get rid of efitime_t.
Purpose are not clear. Use efitick_t where ticks are used,
use efitimeus_t for uS, use efitimems_t or efitimems64_t for mS.
* Fix unit tests
* Fix misc: stm32f1_test_project
2022-09-11 16:08:11 -04:00
rusefillc
94762094a7
refactoring - reducing API between FW and Java
2022-09-11 01:59:44 -04:00
rusefillc
cfb843b315
send more of Engine Sniffer data #4560
...
hello Kinetis it has been a while!
2022-09-11 00:18:08 -04:00
rusefillc
7bc7299db1
send more of Engine Sniffer data #4560
2022-09-10 20:25:29 -04:00
Andrey
0d72d41721
refactoring: brining stuff closer
2022-09-08 00:19:24 -04:00
Andrey
a3d51d8b49
refactoring: better place for cam validation
2022-09-07 23:31:44 -04:00
Andrey
c60e0382dc
refactoring: parameter rename
2022-09-07 23:24:24 -04:00
Andrey
d3eab7c3b7
brutal encapsulation
2022-09-07 21:29:11 -04:00
Andrey
5962cbd5c2
brutal encapsulation
2022-09-07 20:31:04 -04:00
Andrey
52869d63bb
tear down Engine god object #4511
...
just trying different things
2022-09-07 20:25:49 -04:00
Andrey
ae93591755
brutal encapsulation
2022-09-07 20:20:29 -04:00
Andrey
6e8d248408
brutal encapsulation
2022-09-07 19:37:11 -04:00
Andrey
173ceae146
extracting prime_injection
2022-09-07 16:27:56 -04:00
Andrey
2d9dbbd6b8
extracting prime_injection
2022-09-07 16:25:50 -04:00
Andrey
ab4b451195
os_access.h dead?
2022-09-07 15:56:45 -04:00
Andrey
197454ac34
tear down Engine god object #4511
...
just trying different things
2022-09-07 15:38:15 -04:00
rusefillc
a7af8ecec9
Engine Sniffer into TS data logs fix #4535 ( #4537 )
2022-09-05 19:49:27 -04:00
Andrey
13c42ead92
tear down Engine god object #4511
...
just trying different things
2022-09-05 04:28:47 -04:00
Andrey
4934d76d88
tear down Engine god object #4511
...
just trying different things
2022-09-05 04:24:17 -04:00
Andrey
c9828a8b0f
tear down Engine god object #4511
...
just trying different things
2022-09-05 04:10:14 -04:00
Andrey
f1f447df45
tear down Engine god object #4511
...
just trying different things
2022-09-05 03:38:44 -04:00
Andrey
99d8801dc6
tear down Engine god object #4511
...
just trying different things
2022-09-05 02:59:38 -04:00
Andrey
268a5c7964
tear down Engine god object #4511
...
just trying different things
2022-09-05 02:44:06 -04:00
Andrey
6d72805a56
tear down Engine god object #4511
...
just trying different things
2022-09-05 02:28:46 -04:00
Andrey
7139c21e7a
Injection Offset for skipped wheel triggers fix #4536
2022-09-05 01:31:03 -04:00
Andrey
c1b218b772
refactoring: let's use different names for different things
2022-09-05 01:16:24 -04:00
Andrey
d51511a15e
refactoring: moving field
2022-09-05 00:53:05 -04:00
Andrey
ccfe2a5d58
refactoring: splitting header where cpp was already split
2022-09-05 00:48:38 -04:00
Andrey
0ed576031e
refactoring: moving method closer to usage
2022-09-05 00:32:36 -04:00
Matthew Kennedy
c4080e7c80
extract updateInjectionAngle ( #4512 )
2022-09-01 18:48:03 -04:00
Andrey
ac0b4a05fc
a bit of dead code
2022-09-01 12:05:01 -04:00
Andrey
9d8afea152
a bit of dead code
2022-09-01 11:47:56 -04:00
Andrey
e240ac84d3
refactoring: reducing outputChannels copy
2022-09-01 01:06:49 -04:00
Andrey
705dda095e
dead code
2022-09-01 00:23:33 -04:00
Andrey
da66fa055c
refactoring: enum name clean-up
2022-09-01 00:23:33 -04:00
Andrey
9f4f85a097
let spark deal with spark limpManager
2022-08-31 23:59:40 -04:00
Andrey
28d797d5c2
moving confusion further away from fuel control
2022-08-31 23:59:40 -04:00
Andrey
6d3a6dc2f8
readability
2022-08-31 23:29:47 -04:00
Andrey
4cbaddcc60
less code is better
2022-08-31 23:14:20 -04:00
Andrey
039f70b18e
unused parameter
2022-08-31 22:59:05 -04:00
Andrey
fef406a5a6
english do you speak it
2022-08-31 22:56:38 -04:00
Andrey
c8e821ce16
dead
2022-08-31 22:45:35 -04:00
Andrey
a4805dace0
dead console command and minor refactoring
2022-08-31 22:41:58 -04:00
GitHub gen-configs Action
490d9b0c93
Auto-generated configs and docs
2022-08-30 06:02:26 +00:00
Matthew Kennedy
ee97e2a7d0
knock retard limit table ( #4498 )
...
* add max retard table
* ui
* s
* better naming
* s
* test can use base class
2022-08-30 01:57:37 -04:00
Andrey
3fe2c74730
docs
2022-08-25 19:58:15 -04:00
Andrey
cecc5a9d6e
https://github.com/rusefi/hellen154hyundai/issues/60
...
extra logging
2022-08-25 19:58:10 -04:00
rusefillc
5d2096f906
require full sync for odd cylinder count #4478
2022-08-23 22:58:33 -04:00
rusefillc
c7c443ea24
https://github.com/rusefi/hellen154hyundai/issues/57
2022-08-09 13:26:11 -04:00
Matthew Kennedy
923d2c2e44
unexpected contains information about why it failed ( #4393 )
...
* unexpected can contain information
* info printing
* sensors return appropriate error codes
* remove reliance on undefined behavior
* s
2022-07-28 10:04:28 +03:00
rusefillc
232729e8bf
todo: shall we move into high_pressure_fuel_pump.txt and reduce OOP elegance or create a separate live data just for these ones?
2022-07-04 17:08:41 -04:00
Andrey
dc4fcda6da
logging of live data structs was: data points #3614
2022-06-29 03:21:53 -04:00
rusefillc
8acbf9d8df
logging of live data structs was: data points #3614
2022-06-29 03:13:35 -04:00
Matthew Kennedy
c0f290b922
Injector scheduled by angle, not tooth index ( #4208 )
...
* trigger decoder returns a result
* TriggerFormDetails
* s
* don't reach out and touch the engine
* injection doesn't care about teeth
* fix up existing tests
* oh look, we can actually test this logic now without trying to depend on trigger shape!!!
* fix a real bug
* simplify
2022-06-24 17:43:23 -04:00
rusefi
a552d58d42
verbose trigger sync should reuse engineSnifferRpmThreshold #4259
...
reducing complexity
2022-06-18 14:17:36 -04:00
Matthew Kennedy
720c463ffb
trigger decoder returns a result ( #4206 )
2022-05-28 09:01:45 -04:00
Matthew Kennedy
fe77f5127e
12 tooth crank mode ( #4179 )
...
* 12 tooth crank
* comment
* s
* rusefi config
2022-05-17 21:38:24 -04:00
rusefillc
7ca32951ec
An option to disable semi-random ignition fix #4151
2022-05-08 09:16:43 -04:00
Andrey
e62877964a
Move curves out of engineConfiguration in order to reduce RAM usage #4127
2022-05-01 23:43:43 -04:00
rusefillc
ec1a6a84db
knock reaction #202
...
LiveData
2022-04-29 15:23:22 -04:00
rusefillc
243fde13fa
knock reaction #202
...
steps towards new LiveData convention
2022-04-29 13:47:31 -04:00
rusefillc
b8c82889f3
knock reaction #202
2022-04-29 12:25:33 -04:00
GitHub build-firmware Action
acaadb476e
Auto-generated configs and docs
2022-04-29 16:04:30 +00:00
rusefillc
07201ae979
knock reaction #202
2022-04-29 11:22:24 -04:00
Matthew Kennedy
38213bbc00
more missing autoscale ( #4112 )
...
* autoscale m_config->timeConstant
* min/max afr
* more
* dwell voltage
* closed loop fuel
* knock
* map estimate
* applyNonlinearBelowPulse
* fix
* add a test while we're at it for un-covered code
* test fallback MAP since we touched that
* always compute fallback MAP even if sensor is OK
2022-04-28 08:16:02 -04:00
Matthew Kennedy
bc6a87cadc
allow enum_class in rusefi_hw_enums.h ( #4104 )
...
* make things c++ friendly
* install various canaries in coal mines
* using is much clearer than typedef
* fixing builds
* lps25
* trigger includes were a mess
* c -> c++ cleanup
* os util
* why did so many include os_util.h?
* fwd declare
* cypress/kinetis
* s
* eg33 happy
* happy sim
* cypress usb
* pch
* cypress
* doesn't need to include all that
* h7
2022-04-25 20:38:16 -04:00
rusefillc
71275e841b
m_hasSynchronizedSymmetrical handling improvements #4099 ( #4101 )
2022-04-23 19:45:29 -04:00
Matthew Kennedy
16de438ab8
knock threshold table fix ( #4077 )
...
* fix knock threshold table
* defaults
* knock controller is engine module
* testable
* test builds
* knock tests work
* s
* format
* everyone loves changelogs
2022-04-18 08:03:16 -04:00
GitHub build-firmware Action
a2cff4ee12
Auto-generated configs and docs
2022-04-17 20:30:07 +00:00
rusefillc
0b21ddce9c
random progress
2022-04-16 16:39:52 -04:00
Matthew Kennedy
497e7ffe77
allow setting injection phase by start or center of injection ( #4068 )
...
* allow SOI/COI
* other change
* renames and simplify
* clean up ownIndex
* double check in spark logic
2022-04-15 10:22:36 -04:00
rusefillc
b776003989
do not control VVT during cranking fix #3443
2022-04-10 19:22:39 -04:00
rusefillc
6b5747d4c8
refactoring: method rename
2022-04-02 21:01:29 -04:00
Matthew Kennedy
f742ae8b7e
limp mangaer handles more stuff ( #3983 )
2022-03-20 09:28:17 -04:00
Benas Brazdziunas
2035c2fa7f
Launch fuel and spark cut issue ( #3988 )
...
* Launch fual and spark cut issue
* moved launch cuts to limp_manager
* Applied recomendations
* Auto-generated configs and docs
* Added recomendations
* Auto-generated configs and docs
Co-authored-by: GitHub build-firmware Action <action@github.com>
Co-authored-by: Benas <bbrazdziunas@gavea.co.uk>
2022-03-11 09:27:42 -05:00
rusefillc
751355a04b
Limp shutdown rebase ( #3879 )
...
* limp manager handles engine stop
* use timer
* dead relevant fsio
* this stuff needs its own ticket
* if we can comment out 'business logic' and tests do not fail it's not a great sign :(
Co-authored-by: Matthew Kennedy <matthewkennedy@outlook.com>
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-02-01 20:47:17 -05:00
Matthew Kennedy
41ab294281
fix sequential mode cranking ( #2919 )
...
* fix
* use the right enum
* do it for fuel too
* earlier
* s
2022-02-01 19:04:20 -05:00
Matthew Kennedy
c6f45c5022
warnings fixes ( #3851 )
...
* unused things
* !!! actual bug !!!
* dead
* unused
* unused
* multi-bus lua RX was just broken
* make the compiler angry about it
* dead config
* alphax 2
* just call, no store
* compiler too angry
2022-01-31 18:37:42 -05:00
Matthew Kennedy
b5232ab5e6
decouple TPS accel enrichment from trigger ( #3825 )
...
* move call site
* move thresholding out of fast path
* adjust config
* test
2022-01-23 15:31:39 -05:00
Andrey
365f2f24f0
Good news RPM is now float
...
open question if I've affected performance negativelly or not.
2022-01-21 00:56:13 -05:00
Andrey
33df88d3f7
fixing NOISY_RPM handling via Sensor framework
2022-01-21 00:21:45 -05:00
Andrey
1bd71e4b2e
migrating to SensorType::Rpm API
2022-01-20 23:54:52 -05:00
Andrey
26c2d76f6c
migrating to SensorType::Rpm API
2022-01-20 23:36:09 -05:00
Andrey
cda2b711cf
migrating to SensorType::Rpm API
2022-01-20 23:32:59 -05:00
Andrey
c7a62bcdb3
migrating to SensorType::Rpm API
2022-01-20 22:04:45 -05:00
Andrey
5f788415ea
what's the difference between setRpmValue and assignRpmValue #3815
...
refactoring
2022-01-20 21:48:18 -05:00
Matthew Kennedy
38ee722d49
#3815 ( #3816 )
2022-01-19 17:38:17 -05:00
Matthew Kennedy
07024f4c3b
add option to always use instant RPM ( #3813 )
...
* option to always use instant RPM
* duh
2022-01-19 07:34:22 -05:00
rusefillc
729c9a1ff4
On m_event vs lobe vs scheduling #3804
2022-01-18 22:36:05 -05:00
rusefillc
0e17f9d6e8
On m_event vs lobe vs scheduling #3804
2022-01-18 21:01:49 -05:00
rusefillc
f470d93cca
On m_event vs lobe vs scheduling #3804
2022-01-18 20:57:24 -05:00
rusefillc
c23c93a384
On m_event vs lobe vs scheduling #3804
2022-01-18 10:16:47 -05:00
rusefillc
5e2ad39d91
GDI Epic #1448
2022-01-18 00:27:20 -05:00
GitHub build-firmware Action
726147da75
Auto-generated configs and docs
2022-01-18 05:10:57 +00:00
rusefillc
12ce80f1cb
live data
2022-01-18 00:05:34 -05:00
Andrey
a1374062f0
Better handling of RPM during stop of cranking #3803
...
reuse existing magic constant
2022-01-17 21:18:43 -05:00
rusefillc
bc66096574
Better handling of RPM during stop of cranking #3803
...
refactoring: reusing existing method
2022-01-17 21:00:49 -05:00
rusefillc
177a5faa63
limp ClearReason
2022-01-08 22:13:20 -05:00
GitHub build-firmware Action
2208947bb3
Auto-generated configs and docs
2022-01-05 06:49:51 +00:00
GitHub build-firmware Action
38b17f5859
Auto-generated configs and docs
2022-01-05 05:09:04 +00:00
Scott Smith
efd59d6cbc
GDI/HPFP: Don't take P term into account when clamping I. ( #3732 )
2022-01-02 18:45:31 -05:00
rusefillc
95136893de
GDI Epic #1448
2022-01-01 17:18:11 -05:00
Matthew Kennedy
ab3e3ac83f
hook up fuel trims ( #3715 )
...
* hook up fuel trims
* pass all the params
* store per-cylinder fuel mass directly
* main trigger callback only touches per-cylinder, no banks!
* test test test test
* move UI to happy land
* changelog
2022-01-01 02:19:59 -05:00
rusefillc
f715210b39
GDI Epic #1448
...
live view
2021-12-31 15:28:24 -05:00
rusefillc
bb3f8cb76f
GDI Epic #1448
2021-12-31 03:09:04 -05:00
rusefillc
268827b87b
GDI Epic #1448
2021-12-31 03:09:04 -05:00
Matthew Kennedy
b3de217c1b
adjustment to #3722 ( #3723 )
...
* s
* behold, another bug a test caught
* test
* test generates usable trigger pattern so it works correctly
* comment
* don't need that
2021-12-31 01:21:21 -05:00
rusefillc
12d79c138b
GDI Epic #1448
2021-12-30 19:14:49 -05:00
Matthew Kennedy
c3b712aa3b
remove vvtSyncTimeNt ( #3722 )
...
* s
* poke
* poke again for science
* kick for science
* kick
* kick
* comment kick
* s
* don't try to compare the array decay pointer to 0 (!)
* collateral damage
* adjust miata sync
* reset trigger states correctly on engine stop
* s
* check synchronized bit
* now we don't need it at all?!
* and *NOT* synced
* start VVT sync earlier
2021-12-28 00:00:26 -05:00
Matthew Kennedy
95ad75318d
improved noFiringUntilVvtSync logic ( #3696 )
...
* s
* poke
* poke again for science
* kick for science
* kick
* kick
* comment kick
* s
* don't try to compare the array decay pointer to 0 (!)
* collateral damage
* adjust miata sync
* reset trigger states correctly on engine stop
* s
* nissan MR too
2021-12-27 12:09:38 -05:00
rusefillc
06ccf524dd
MAP phase sensing #3544
...
removing dead implementation
2021-12-16 21:13:55 -05:00
rusefillc
82c061a8e0
MAP phase sensing #3544
2021-12-16 21:11:29 -05:00
Matthew Kennedy
4148ee76bf
smarter priming logic ( #3674 )
...
* ignition controller detects rising edge on voltage
* update test
* comment
* ignore negative transients
* tweak
* test
* priming happens on ignition-on
* priming has its own scheduling
* config & UI
* dead config
* implementation
* look, the test caught a bug
* keep the watchdog happy
* bad merge
* changelog
* easier to read the test
* test naming
2021-12-08 16:20:19 -05:00
Matthew Kennedy
2050580a16
prime upon ignition voltage, not on power on ( #3662 )
...
* ignition controller detects rising edge on voltage
* update test
* comment
* ignore negative transients
* tweak
* test
* priming happens on ignition-on
* priming has its own scheduling
* test
* dead adjacent line of code
2021-12-08 07:26:49 -05:00
Andrey
940b04ab24
Let's always have TS structure so that unit tests can check values in outputChannels, kind of making outputChannels a god dump for state but whatever since Live View is coming
2021-12-07 20:18:47 -05:00
Matthew Kennedy
3a95e86112
calculate per-cylinder ignition timing ( #3652 )
...
* simplify cylinder phasing
* per cylinder timing
* s
* s
* s
* why was there a divide by 2?
2021-12-06 21:19:37 -05:00
rusefillc
2f45ed205c
MAP phase sensing #3544
...
option to look for high and low peaks
2021-12-05 14:25:26 -05:00
Matthew Kennedy
555a8d5f43
simplify cylinder phasing ( #3650 )
2021-12-05 10:46:35 -05:00
rusefillc
0c91e77749
MAP phase sensing #3544
...
taking a step back to happy place
2021-12-04 18:21:10 -05:00
rusefillc
004f28a60a
MAP phase sensing #3544
2021-12-04 17:19:35 -05:00
rusefillc
3a8e7e00f9
MAP phase sensing #3544
2021-12-02 22:32:07 -05:00
rusefillc
e75590fd45
why so many channels are hidden in debug ? #3614
2021-11-29 14:11:19 -05:00
rusefillc
edb10af9f4
automation around outputs section #197
2021-11-27 13:36:37 -05:00
Andrey
48ed80ffb9
MAP phase sensing #3544
2021-11-24 23:06:52 -05:00
Andrey
e2fa1af527
MAP phase sensing #3544
2021-11-24 22:36:36 -05:00
Matthew Kennedy
992689ced5
bye ( #3609 )
2021-11-24 22:03:17 -05:00
Matthew Kennedy
bc1c2e78fd
fix map avg logging ( #3606 )
...
* s
* s
2021-11-24 18:24:39 -05:00
Matthew Kennedy
09bf989995
map averaging usability ( #3603 )
2021-11-24 14:39:54 -05:00
rusefillc
446252d77d
MAP phase sensing #3544
2021-11-24 14:26:41 -05:00
Matthew Kennedy
3334a6963c
oh my god we've had no asserts ( #3595 )
2021-11-22 17:52:03 -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
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
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
Scott Smith
18c27a6e9c
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
Scott Smith
98040ad9af
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
ba8bd0a704
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
Scott Smith
69d36dad6e
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
988aacdd91
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
d688f72c3e
proportional spark cut #3427
2021-11-17 04:06:22 -05:00
Scott Smith
823d9a07e0
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
cc95bd6c8e
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
Andrey
3748bf5ad0
proportional spark cut #3427
2021-11-16 05:56:15 -05:00
Matthew Kennedy
8cdac4cac0
remove engine pointer passing ( #3556 )
...
* some
* more
* more
* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith
344c9073e2
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
Andrey
655b77dc3f
random refactoring: trigger central encapsulation
2021-11-15 20:22:05 -05:00
Andrey
928c673695
refactoring launch
2021-11-15 20:09:03 -05:00
Andrey
05fa6071dd
refactoring launch
2021-11-15 19:55:04 -05:00
Andrey
4002c92dcc
refactoring launch
2021-11-15 18:57:12 -05:00
Andrey
34015eceee
refactoring launch
2021-11-15 14:40:35 -05:00
Matthew Kennedy
cb032fb1ea
(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
145316c497
less macro, more c++ ( #3549 )
...
* less macro
* s
2021-11-15 12:44:40 +01:00
rusefillc
22c872d8d8
Epic: Remove FSIO #2928
2021-11-14 10:57:19 -05:00
rusefillc
6210eaacf7
script settings need names!
2021-11-13 23:10:38 -05: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
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
Scott Smith
f9e36f5ea4
Configuration for HPFP control algorithm. ( #3475 )
2021-11-05 23:15:35 -04:00
rusefillc
85984928ca
more curves! also names for curves
2021-11-04 23:19:44 -04:00
Matthew Kennedy
59e9d05fc7
extract engine phase function ( #3456 )
...
* extract getCurrentEnginePhase
* inject engine ref
* never invalid RPM, use 0 instead
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-04 05:46:16 -04:00
Matthew Kennedy
75a2b5ef02
Knock retard ( #3396 )
...
* output gauge
* knock controller
* don't need that
* inject engine ref
* test knock
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-01 23:33:59 -04:00
rusefillc
61e2b3d5db
Remove engine load acceleration enrichment fix #3357
2021-10-16 21:24:05 -04:00
Matthew Kennedy
9797d25b7c
getOrZero ( #3319 )
2021-10-05 19:59:07 -04:00
Matthew Kennedy
9806373dac
dead map ( #3316 )
2021-10-04 18:33:10 -04:00
Matthew Kennedy
db12cdbe19
put MAP in the sensor model ( #3292 )
...
* map averaging in sensor model
* deadly, deadly code!
* mpxh
* Revert "deadly, deadly code!"
This reverts commit 346fe25267966a313145a809792dced84be348cf.
* comments
* sensor types
* last sensor
* channel init
* correct spot
* deinit properly
* simplify
* fix
* mocks
* map init test
* showInfo
* comment
* singleton identity function
* sensor info print
* multiple cylinder averaging buffer
* comments
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-04 17:18:08 -04:00
Matthew Kennedy
f6d492121e
shrink multi cylinder map average buffer ( #3315 )
...
* halve
* add tooltip, rename UI
2021-10-04 07:50:17 -04:00
rusefillc
b4884498cb
OBD error renames
2021-10-03 01:30:42 -04:00
Andrey
fdab6c303c
overdwell protection #3071
2021-10-02 01:33:26 -04:00
rusefillc
77ebc71f9a
overdwell protection #3071 ( #3294 )
2021-10-02 01:17:53 -04:00
Matthew Kennedy
0a550a70b1
overdwell protection ( #3220 )
...
* cancel event
* looks like it works...
* some tests are happy
* add enable bit
* undo test changes
* Revert "add enable bit"
This reverts commit 000afadd3fc560867302557afe26f76cd9fc4ed6.
* enable bit in engine
* only turn off for one test
* Revert "undo test changes"
This reverts commit 106db49e291b5a531a94de6ac177c6584d5337f6.
2021-10-02 01:10:24 -04:00
Andrey
2a2722c3cc
SPARK_EXTREME_LOGGING
2021-10-01 23:50:32 -04:00
Matthew Kennedy
90e5fba5db
dead code in map avg ( #3290 )
...
* dead code in map avg
* while we're at it
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-30 23:05:58 -04:00
Matthew Kennedy
4b6a67f8f0
bye frequency map ( #3285 )
...
* bye freq map
* map.cpp
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-09-30 00:20:21 -04:00
rusefillc
a6fbb98193
Complete fuel cut, maybe by wall wetting? Warning on decel (?) CUSTOM_OBD_SKIPPED_FUEL = 9010 fix #3225
2021-09-27 22:04:03 -04:00
rusefillc
bca1b11146
"Injector Duty cycle cut"
2021-09-26 20:59:32 -04:00
Matthew Kennedy
34c98c1485
weak link stub ( #3258 )
2021-09-22 14:33:25 -04:00
Matthew Kennedy
8cd132b8a8
dead knock code ( #3255 )
...
* more unification
* hip stub
* comment
* guard
* channel idx
* include
* hip
* move in to engine
* hip9011
* dead stuff
* dead
* fsio
* lcd
* more dead
2021-09-21 20:40:20 -04:00
Matthew Kennedy
5de27e0b92
more knock sense unification ( #3250 )
...
* more unification
* hip stub
* comment
* guard
* channel idx
* include
* hip
* move in to engine
* hip9011
2021-09-21 17:39:21 -04:00
Matthew Kennedy
bf98546314
share some knock logic ( #3246 )
...
* knocky knock
* only if TS
* typo
* merge
2021-09-20 16:10:34 -04:00
rusefillc
ff6edb9790
refactoring: just a better constant name
2021-09-08 20:32:50 -04:00
rusefillc
0159e8e32b
Smart ECU: misfire detection #936
2021-09-06 15:29:36 -04:00
rusefillc
059a82bcb2
Smart ECU: misfire detection #936
2021-09-06 11:10:11 -04:00
rusefillc
a555b7a00f
Smart ECU: misfire detection #936
2021-09-06 10:35:26 -04:00
Matthew Kennedy
87e4e7e4cf
simpler way for limp manager to handle engine stop ( #3194 )
...
* simpler
* why would we lie about spinning?
2021-08-25 11:29:20 +03:00
rusefillc
cc9b8ffa98
Implement auto knock threshold sampling #3033
2021-08-10 06:42:39 -04:00
Matthew Kennedy
5ff7235040
don't "validate instant RPM" ( #3095 )
...
* don't "validate instant RPM"
* test actually tests the right thing
* test mode transition
2021-08-04 08:17:14 +03:00
Matthew Kennedy
25414ebdad
yet more pch ( #3068 )
...
* big pch energy
* put back ramdisk stub
* tests are happy
* h743 nucleo
* kinetis
* I love deleting code!
* make stepper happy
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Matthew Kennedy
0d983855b9
instant rpm uses full engine cycle ( #3077 )
...
* instant rpm uses full engine cycle
* turn off fast spinup for this test
2021-07-30 08:18:24 -04:00
Matthew Kennedy
b52d50bbf2
Use pch in lots of files ( #3066 )
...
* most engine.h
* most engine_configuration
* more
* more
* more
* more
* more
* moooooore
* ok I'm done for now
* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy
2368e90ae7
dead ( #3016 )
2021-07-23 08:31:23 -04:00
Andrey
8b5dde5a8f
trailing spark outputs fix #2931
2021-07-22 00:01:54 -04:00
Matthew Kennedy
76924be3d1
not setValue ( #3026 )
2021-07-21 23:36:46 -04:00
rusefillc
599943cf26
NB2 trigger shape does not seem to match JimStim #2980
2021-07-17 16:12:54 -04:00
Matthew Kennedy
2ce7777865
don't require EXTERN_ENGINE in every file ( #2969 )
...
* move enginePins
* no more extern engine
* uses
* more
* extern config too
* put this where it belongs
* include correct header
* merge
2021-07-16 18:13:33 -04:00
Andrey
e1c41ff798
FATAL on NB2 tune jim stim input signal #2965
2021-07-14 16:03:00 -04:00
Matthew Kennedy
86683afca2
trailing spark scheduling ( #2932 )
...
* enable bit
* implement trailing sparks
* test trailing spark
* it helps to call the correct function
* add pins
* gobblin ram
2021-07-09 08:37:46 -04:00
Matthew Kennedy
9377a01aec
store cylinder count as plain number ( #2915 )
...
* update test framework
* eh
* hey look it's fewer warnings
* unwind
* fix
* config
* configs
* logic
* even java had some
* no need to be a typedef
* paste in actual cylinder count
2021-07-07 08:31:05 -04:00