Commit Graph

314 Commits

Author SHA1 Message Date
rusefillc 896a55d78e GDI Epic #1448 2020-11-09 22:53:23 -05:00
rusefillc 2293634ffa GDI Epic #1448 2020-11-09 22:33:48 -05:00
rusefillc 235fe9447b GDI Epic #1448 2020-11-09 22:21:38 -05:00
rusefillc 1eb5d7f927 refactoring: code duplication 2020-11-06 21:24:58 -05:00
rusefillc 111b017442 refactoring 2020-11-05 18:10:44 -05:00
rusefillc 01a0a8fff7 Output pin init/deinit needs a linked list #1803
one step back
2020-11-05 17:44:16 -05:00
rusefillc eae48cdda6 GDI Epic #1448 2020-11-05 16:42:56 -05:00
rusefillc fa58d75364 GDI Epic #1448 2020-11-05 16:34:25 -05:00
rusefillc a87c28a8ad dead legacy code - current implementation is definitely more correct 2020-10-17 18:46:07 -04:00
rusefillc b24f173892 refactoring: better method name 2020-10-17 18:45:08 -04:00
Matthew Kennedy 7eeb60a8a0
trigger/scheduler perf improvements (#1885)
* avoid 64b on hot path

* no tooth log when fast

* use crit section locker

* final

* only flip pins if not also self stim

* only trace if doing work

* slightly drop lateDelay

* trace if not bailing out
2020-10-16 11:04:27 -04:00
rusefillc 96a126d60f 60/2 perf grab #1850
unused parameter
2020-10-04 02:09:12 -04:00
rusefillc 030ec42ac7 60/2 perf grab #1850
a) removing more of stack validating - one validation within the deepest method would be enough

b) un-wrapping main callback loop for explicit order of execution
2020-10-04 01:43:02 -04:00
rusefillc 6b95579706 60/2 perf grab #1850 2020-10-04 01:26:29 -04:00
rusefillc c9d3d1f01a 60/2 perf grab #1850 2020-10-04 01:04:15 -04:00
shadowm60 8d8e8ec260
Launch control - experimental (#1816)
* Update tachometer.cpp

Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next

* tacho unit tests

First successfull unit test for tachometer

* RAM adjustment so it would link

* refactoring tacho, broken!

* starting to make some progress...still fails after a few seconds

* Rework with SW PWM

* Update after code review

* unit_test update

* First working unit_test

* Update .gitignore

* Update engine_controller.cpp

* Update engine_controller.cpp

* Update tachometer.h

* Update test_tacho.cpp

* Switched UART DMA on

* Revert "Switched UART DMA on"

This reverts commit 4a23974c431e0e7fd760595d2161e74e6854897e.

* enable launch control

make use of already existent code + integration

* Delete compile_frankenso_all.sh

remove it since it is not part of the project

* Update main_trigger_callback.cpp

broke unit_Tests

Co-authored-by: rusefi <rusefi@users.noreply.github.com>
2020-09-22 16:25:27 -04:00
rusefi 96ec6ef9ac better QC procedure 2020-09-19 04:57:07 -04:00
rusefi 1657e499ce better QC procedure 2020-09-19 04:39:32 -04:00
Matthew Kennedy d2d0ffa1ee
remove tach output pin (#1779)
* remove from cfg

* cfg

* rip out impl

* efi gpio
2020-09-09 16:52:23 -04:00
rusefi 8f8d4eccaf Hellen says merge #1772 progress 2020-09-08 00:15:09 -04:00
rusefi 6b82191ab7 Hellen says merge #1772
where is implementation?
2020-09-07 15:54:31 -04:00
rusefi a1de082dcd Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/engine_cycle/rpm_calculator.cpp
2020-09-07 15:39:23 -04:00
rusefi 4819c86eaa Hellen says merge #1772 noise filter bugfix 2020-09-07 15:36:17 -04:00
Matthew Kennedy 95798a5246
fix broken master, inject engine ptr to rpmcalculator (#1759)
* fix

* oops
2020-09-05 18:49:42 -04:00
rusefi bc115e70a0 OBD CAN sensors #1733 2020-09-03 23:27:53 -04:00
rusefi eb46386c36 refactoring 2020-09-03 19:51:50 -04:00
rusefi ca21d5b4c2 refactoring 2020-09-03 19:29:15 -04:00
Matthew Kennedy 988d9b138c
detect which cylinder knocked (#1732)
* s

* science

* set pin mode

* turn stuff off so it fits

* filtering maybe

* filtering actually works

* generate filter parameters internally

* shorter window

* guard behind enable flag

* use checked in filter

* add biquad reset

* tracing

* const

* exec order

* do it from a thread

* smaller buffer, comment

* configure with header

* only for proteus

* oops

* unused

* not needed

* guards

* pin config

* don't need that include

* precook filter steady state

* define sample rate

* multi cylinder knock

* TS

* only sense when running
2020-08-31 21:05:33 -04:00
Matthew Kennedy 1a55085bb6
Software knock detection (#1730)
* s

* science

* set pin mode

* turn stuff off so it fits

* filtering maybe

* filtering actually works

* generate filter parameters internally

* shorter window

* guard behind enable flag

* use checked in filter

* add biquad reset

* tracing

* const

* exec order

* do it from a thread

* smaller buffer, comment

* configure with header

* only for proteus

* oops

* unused

* not needed

* guards

* pin config

* don't need that include

* precook filter steady state

* define sample rate

* config enable switch
2020-08-28 21:13:50 -04:00
rusefi 540eef5e0d VVT support for VAG trigger #883 2020-08-25 00:59:07 -04:00
rusefi c32c8d715d A vague bug #1684 2020-08-08 20:57:42 -04:00
rusefi 1ba4dd0dcc A vague bug #1684 2020-08-08 20:36:16 -04:00
Matthew Kennedy 244378aba1 fix the problem 2020-07-31 14:41:42 -07:00
Matthew Kennedy bbe7ac43db misc 2020-07-29 02:29:55 -07:00
Matthew Kennedy 5b99fdf3df deprecate 2020-07-28 12:13:55 -07:00
Matthew Kennedy 626f55a08a refacto 2020-07-24 18:26:24 -07:00
Matthew Kennedy 131f4c4e8f Merge remote-tracking branch 'upstream/master' into reset-overlap 2020-07-20 18:43:17 -07:00
rusefi 48cc155144 changing crazy in composite logger 2020-07-20 21:20:58 -04:00
Matthew Kennedy dc05efef61 Merge remote-tracking branch 'upstream/master' into reset-overlap 2020-07-20 14:53:59 -07:00
rusefi c34a0d95d7 unit test framework improvements for smoother event execution 2020-07-20 17:13:33 -04:00
Matthew Kennedy 8b0d6a26cf Merge remote-tracking branch 'upstream/master' into reset-overlap 2020-07-20 13:27:51 -07:00
rusefillc d85e98d1f7
Merge pull request #1622 from mck1117/encapsulate-wwae
put wall wetting inside InjectionEvent
2020-07-20 14:19:57 -04:00
rusefi d52fb0b168 better unit test logging 2020-07-20 13:38:33 -04:00
Matthew Kennedy a7d0678092 Merge remote-tracking branch 'origin/master' into reset-overlap 2020-07-20 00:07:04 -07:00
Matthew Kennedy 46b7567195 put wall wetting inside 2020-07-20 00:04:05 -07:00
rusefi f37e739438 logicdata into unit tests 2020-07-19 22:03:30 -04:00
Matthew Kennedy 428f2fe247 Merge remote-tracking branch 'upstream/master' into reset-overlap 2020-07-19 13:52:45 -07:00
Matthew Kennedy 94635f9f33
encapsulate (#1617) 2020-07-19 16:46:28 -04:00
rusefi b7109fa09c better unit test logging 2020-07-19 16:05:19 -04:00
rusefi 49e9e08c65 better unit test logging 2020-07-19 15:47:21 -04:00
rusefi 222655517b better unit test logging 2020-07-19 15:25:49 -04:00
rusefi dd3a080d88 better unit test logging 2020-07-19 14:26:28 -04:00
rusefi fbfef8290c better unit test logging 2020-07-19 14:17:15 -04:00
rusefi 5a10e8adac better unit test logging 2020-07-19 14:13:15 -04:00
Matthew Kennedy 77294ae542 encapsulate overlap logic 2020-07-18 23:03:12 -07:00
Matthew Kennedy b7336e953e comments & improve logic 2020-07-16 23:55:41 -07:00
Matthew Kennedy b3261f25f3 add reset 2020-07-14 23:54:41 -07:00
rusefi 0b5bb7c0cf useFSIO6ForRevLimiter 2020-06-01 09:09:55 -04:00
Matthew Kennedy d24b5d5e93
Integrate stft (#1475)
* code changes

* missed a spot

* update UI

* gauge name

* adjust gauge scaling

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-31 16:59:05 -04:00
rusefi 5d75c36651 composite log for console 2020-05-26 00:07:18 -04:00
rusefi a4329169e9 better file name 2020-05-25 13:02:05 -04:00
Matthew Kennedy b11c5cd8c8
switch some firmware warnings to errors (#1465)
* warnings as errors

* throw instead of exit

* test massaging

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-23 10:46:28 -04:00
Matthew Kennedy 8dadb554c4
as suggested by the comment, this doesn't need a warning (#1464)
* the comment is correct

* format
2020-05-23 00:40:20 -04:00
Matthew Kennedy e46d9f0c99
Fix 100% duty injection (#1431)
* skip turn-off for high duty

* mock executor injection

* test

* switch to hard cut

* test no longer relevant
2020-05-14 07:44:32 -04:00
rusefi 88bbbb6c33 VVT miata trying to crank with random phase #1278 2020-04-26 20:50:49 -04:00
Matthew Kennedy b28740c20e
MAP scheduling (#1352)
* map sched

* format

* guard test
2020-04-23 08:12:44 -04:00
rusefi 387643047f docs 2020-04-20 23:44:59 -04:00
rusefi 799bd8489f BUGFIX: console engine sniffer was not displaying TDC mark properly in cases of negative angles 2020-04-20 22:43:55 -04:00
rusefi a3202ca612 more butter more better 2020-04-19 20:57:01 -04:00
rusefi 43ba5e1936 multi-channel Tuner Studio tooth logger #1284
composite TDC mark not working?
2020-04-19 20:46:29 -04:00
Matthew Kennedy 4d24fdd57d
Fuel/ign correctino on new temp sensors (#1318)
* corrections

* test

* adv map

* tests

* cleanup

* lcd

* fsio

* unneeded

* more math

* last consumer

* cleanup

* fix kinetis
2020-04-18 18:45:30 -04:00
Matthew Kennedy ff867b9301
fix warnings (#1282)
* warnings

* don't need to template those
2020-04-12 09:39:14 -04:00
Matthew Kennedy 345bf61bd5
Goodbye, old TPS (#1266)
* clear out tps

* boost control

* aux valves

* launch, aux valves

* unused field
2020-04-05 19:33:33 -04:00
Matthew Kennedy 7d5df29fbd
yet more tps consumers (#1258)
* advance_map

* tests

* unneeded

* idle

* use driver intent instead

* and obd and lcd

* engine load

* ve lookup

* unused

* oops we needed that

* oops needed that too

* mocking

* test mocks

* oops

* helps to use the right sensor

* and cylinder cleanup

* fuel math

* typo

* old tests

* kill dead stuff

* cleanup

* more

* fix

* test

* s

* fix signature

* fix test

* comment

* priming pulse

* remove mock tps

* remove more dead

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-05 09:11:25 -04:00
Matthew Kennedy 8fd9842310
cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -04:00
Matthew Kennedy a5d4d06868
Multispark implementation (#1192)
* multispark prototype

* only multispark if not cut

* typo

* do some reasonableish math

* consume cfg

* todo

* bad merge

* move math out of engine2.cpp

* engine state config

* consume generated

* use new

* hand generate

* doc, debugging

* debug channel names

* don't depend on rpmcalc

* safer, fix math

* tests

* default multispark config

* remove todo

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-26 01:49:36 -04:00
Matthew Kennedy 2c809e4475
Remove old monitoring timestamps (#1217)
* remove monitoring timestamps

* adv map

* fuel calc

* map avg

* printing

* spark logic

* hip 9011

* new traces

* s

* missed a few
2020-03-24 20:19:19 -04:00
rusefi 165160bb40 random header clean-up 2020-03-23 09:00:57 -04:00
Matthew Kennedy 4740f525ee
save some ram (#1211)
* remove dead stuff

* why store those pointers twice?
2020-03-22 19:06:29 -04:00
Matthew Kennedy 397907a06f
Support disabling most/all features (#1162)
* this flag did nothing

* guard features properly
2020-02-26 18:16:35 -05:00
Matthew Kennedy 6038dc203b
minor simplify spark (#1150)
* simplify

* rename
2020-02-21 19:35:11 -05:00
Matthew Kennedy 7682192c2b
Simplify fuel math again (#1117)
* return the scheduled time from scheduleByAngle

* simplify fueling math
2020-02-01 17:29:55 -05:00
rusefi d48a57d599 refactoring: extracting DEEP_IN_THE_PAST_SECONDS contant 2020-01-31 01:21:56 -05:00
rusefi 241d491625 trigger refactoring 2020-01-26 12:02:54 -05:00
Matthew Kennedy 103e51dd85 Inject timestamps for injection too (#1108)
* schedule by nt, not us

* inject timestamp
2020-01-20 00:12:18 -05:00
Matthew Kennedy ba0c48e0ac use NT_PER_SECOND instead of convert from microseconds (#1107)
* add NT_PER_SECOND

* missed a few

* inject tooth logger timestamp

* inject
2020-01-19 22:23:41 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
Matthew Kennedy dd3ded37f4 injector logic simplification (#1095)
* simplify injector scheduling a little

* clearer logic

* comment
2020-01-11 10:26:20 +03:00
rusefi 67377abdea better method name 2020-01-10 23:45:01 -05:00
rusefi 03a48455ed fear he who sees dead code: 'overlappingScheduleOffTime' was never assigned so the whole logic around it is dead 2020-01-10 23:39:30 -05:00
rusefi b7951e1e70 Merge branch 'master' of https://github.com/rusefi/rusefi
# Conflicts:
#	firmware/controllers/engine_cycle/main_trigger_callback.cpp
2020-01-10 23:19:30 -05:00
rusefi 645f51a038 better method names 2020-01-10 23:17:58 -05:00
rusefi b022f431e2 better method name 2020-01-10 23:09:38 -05:00
Matthew Kennedy 68813cda65 Dedupe (#1094)
* deduplicate

* yeah, the compiler is smart enough
2020-01-11 06:29:42 +03:00
Matthew Kennedy e25a93415f Schedule sparks with scheduleByAngle (#1092)
* injection

* injectors

* add edge timestamp to ShaftPositionListener

* scheduleByAngle require edgeTimestamp

* schedule with nt not us

* fix all schedulers

* schedule spark based on edge timestamp

* aux valves too

* update comments

* schedule dwell with new stamp

* format
2020-01-11 00:01:54 +03:00
Matthew Kennedy a6a1335adb Require tooth reference time for scheduleByAngle (#1091)
* injection

* injectors

* add edge timestamp to ShaftPositionListener

* scheduleByAngle require edgeTimestamp

* schedule with nt not us

* oops, these were missing from this branch
2020-01-09 23:45:13 +03:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
Matthew Kennedy 95a7a9a8e1 Strongly typed action constructor (#1087)
* strong typing

* maybe we needed that one
2020-01-07 18:10:31 -05:00
Matthew Kennedy 5c85d53e16 Pass action_s instead of callback/param (#1084)
* change action

* consumers

* fix test

* didn't mean to add those

* simplify

* fix simulator

* fix sim for real

* oy

* maybe this time the simulator will actually be fixed, for real

* don't rely on undefined behavior
2020-01-07 00:41:18 -05:00
rusefi cc466ad3ef de-coupling things a bit 2019-12-24 00:26:23 -05:00
rusefi 3494f6ff9f adding simplicity 2019-12-23 23:25:08 -05:00
rusefi 82f3972417 refactoring 2019-12-23 22:12:55 -05:00
rusefi cf0b12b203 refactoring 2019-12-23 21:58:06 -05:00
rusefi 537a95a9b4 removing legacy perf code 2019-12-23 21:56:16 -05:00
rusefi 0a7ec2cf59 Revert "couple of dead lines"
This reverts commit 831dbde5
2019-12-23 21:55:08 -05:00
rusefi 831dbde538 couple of dead lines 2019-12-23 21:44:38 -05:00
rusefi 84e732846b replacing probably unused engineSnifferHisto with new perf_trace 2019-12-23 20:22:17 -05:00
rusefi a338f28396 removing one dead line 2019-12-23 20:19:13 -05:00
rusefi fde9a449cf random refactoring: hopefully not changing byte size of any variables but clarifying/fixing type between ticks, US and MS 2019-12-21 21:11:09 -05:00
rusefi ff9383eea1 fixing build is my most favourite time! 2019-12-13 20:51:04 -05:00
rusefi 9403b2a8fc fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi 62481d7fe8 The Big Refactoring of 2019: folder structure #723 2019-12-08 13:21:35 -05:00
rusefi cf8c6e7eca The Big Refactoring of 2019: folder structure #723 2019-12-08 13:09:51 -05:00