Commit Graph

557 Commits

Author SHA1 Message Date
rusefillc 47fbb92bff Starter seems to be engaged forever fix #1965 2020-11-18 23:54:30 -05:00
rusefillc a9e0bffbbd Starter seems to be engaged forever #1965 2020-11-18 22:47:40 -05:00
rusefillc 53f6f1e661 Starter seems to be engaged forever #1965 2020-11-18 22:42:41 -05:00
Matthew Kennedy 6e4517be8c
adjust microsecond_timer api (#1952)
* change timer api

* don't need all that
2020-11-16 18:50:13 -05:00
rusefillc 77b70f47f7 GDI Epic #1448 2020-11-09 21:41:13 -05:00
rusefillc 9aff6e3103 Output pin init/deinit needs a linked list #1803 2020-11-09 21:10:48 -05:00
rusefillc b2ad14fa63 docs 2020-11-09 19:47:10 -05:00
rusefi 73b18b4a01 Output pin init/deinit needs a linked list #1803 2020-11-06 15:45:15 -05:00
rusefillc cbb00a1a85 Output pin init/deinit needs a linked list #1803 2020-11-05 18:42:45 -05:00
rusefillc 8e8b5256c8 Output pin init/deinit needs a linked list #1803 2020-11-05 17:52:30 -05:00
rusefillc edb016a76e Output pin init/deinit needs a linked list #1803 2020-11-05 17:23:09 -05:00
rusefi a51b68bbed GDI Epic #1448 2020-11-03 13:19:56 -05:00
rusefillc a7c97b3508 Output pin init/deinit needs a linked list #1803 2020-11-03 12:28:13 -05:00
rusefillc 256650aa88 Output pin init/deinit needs a linked list #1803 2020-11-03 11:31:40 -05:00
rusefillc c0ac1649e2 Output pin init/deinit needs a linked list #1803 2020-11-03 11:01:43 -05:00
rusefillc 3d7a6c6729 Output pin init/deinit needs a linked list #1803 2020-11-03 10:51:54 -05:00
rusefi 7de1fc8e2a Output pin init/deinit needs a linked list #1803
trying to make things more consistent & smarter
2020-11-03 00:46:03 -05:00
rusefi e5ad8eb5c0 Output pin init/deinit needs a linked list #1803 2020-11-03 00:21:39 -05:00
rusefi 2c322006d8 Output pin init/deinit needs a linked list #1803 2020-11-03 00:09:42 -05:00
rusefi 13b4b02873 typo 2020-11-02 23:52:26 -05:00
rusefi 0f5f0a549b this stuff is just too dead 2020-11-02 23:46:41 -05: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
Matthew Kennedy 605e2590f1
buffered writer - progress on #1463 (#1875)
* add buffered writer

* rename
2020-10-12 15:10:34 -04:00
Matthew Kennedy 018db0df94
Fix #1873 - compute dynamic PWM iterationLimit (#1874)
* fix

* remove define

* add an assert

* typo

* don't do a 64bit divide

* oh that's a float
2020-10-11 20:25:38 -04:00
Matthew Kennedy c885db32f0
use expected for event queue next event (#1859)
* use expected for event queue next event

* minor cleanup

* tests
2020-10-05 13:53:34 -04:00
Matthew Kennedy dd6b02d555
we don't need two loops (#1855) 2020-10-05 08:57:00 -04:00
Matthew Kennedy aad5d987a2
pwm perf (#1858)
* pwm perf

* this trace is now redundant
2020-10-05 08:23:30 -04:00
rusefillc a9d669ba83 HW CI has failed 11 times since Oct 2 #1849 2020-10-03 20:53:23 -04:00
rusefillc dd7dd3b8eb HW CI has failed 11 times since Oct 2 #1849 2020-10-03 20:25:37 -04:00
Matthew Kennedy c8b4fac456
move scheduling to its own file (#1842)
* move scheduling to its own file

* header

* protip don't include a cpp file
2020-10-01 17:55:03 -04:00
rusefi eae7995782 Output pin init/deinit needs a linked list #1803 2020-09-27 07:48:38 -04:00
rusefi 97982cc22f Output pin init/deinit needs a linked list #1803 2020-09-27 07:26:56 -04:00
rusefi 0b628cea75 Output pin init/deinit needs a linked list #1803 2020-09-27 07:22:09 -04:00
rusefi 1e503c2ada Output pin init/deinit needs a linked list #1803
more fun around pin referencing
2020-09-26 05:04:27 -04:00
rusefi dfbbdff4b1 Output pin init/deinit needs a linked list #1803 2020-09-18 13:29:17 -04:00
rusefi 35db68a6ae Output pin init/deinit needs a linked list #1803 2020-09-18 13:01:09 -04:00
rusefi 6c88cbe533 Output pin init/deinit needs a linked list #1803 2020-09-17 19:41:28 -04:00
rusefi c37e1c8b70 Output pin config #1803
alternative to #1800
2020-09-17 19:35:43 -04:00
rusefi e3056bb397 Engine runs we can disengage the starter #1795 2020-09-14 00:45:15 -04:00
rusefi 8bcc387fa7 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/controllers/core/error_handling.cpp
#	firmware/controllers/system/efi_gpio.cpp
2020-09-09 18:23:04 -04:00
rusefi 3af04d7824 Hellen says merge #1772 error pin 2020-09-09 18:18:59 -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 8197209719 https://github.com/rusefi/rusefi/issues/1775 2020-09-08 17:20:14 -04:00
Matthew Kennedy 4527b7694a expose the problem 2020-07-31 14:41:29 -07:00
Matthew Kennedy 93d631b911 init & override 2020-07-29 02:45:39 -07:00
Matthew Kennedy cd62774be1 dead 2020-07-29 02:45:30 -07:00
rusefi f42e08c8e5 bootloader not well? temporary bad workaround #1638 2020-07-25 19:14:09 -04:00
rusefi a81a5e3c04 bootloader not well? fix #1638 2020-07-25 19:04:15 -04: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 8b0d6a26cf Merge remote-tracking branch 'upstream/master' into reset-overlap 2020-07-20 13:27:51 -07:00
Matthew Kennedy 9c736a2c3d test 2020-07-20 03:29:43 -07: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 222655517b better unit test logging 2020-07-19 15:25:49 -04:00
rusefi 54c9bf21ca better unit test logging 2020-07-19 14:58:46 -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
rusefi fb5756fe3e nope, unit tests did not just fix themselves 2020-06-17 08:42:37 -04:00
Matthew Kennedy f6bae09ee7
spinwait for events in the near future (#1491)
* add spinwait

* simplify and reduce lateDelay

* maybe probably fix tests

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-06-16 22:13:42 -04:00
rusefi 200575ec87 Trigger decoding issues (60-2) #1488
100us is too much, 10us is more reasonable
2020-06-15 00:12:50 -04:00
rusefi f3344753e8 Trigger decoding issues (60-2) #1488
interesting stuff potentially with a not so great setting
2020-06-14 23:41:39 -04:00
rusefi f9087fdf72 Trigger decoding issues (60-2) #1488
very mild refactoring - better names & moving initializers
2020-06-14 23:34:45 -04:00
Matthew Kennedy b906d12268
Fix gppwm properly (#1487)
* directly control output in onoff mode

* test fixing
2020-06-11 20:43:26 -04:00
Matthew Kennedy 3a7c6f242b
Hardware pwm (#1283)
* hard pwm

* fix, comments

* PC6-9 and PD12-15

* PB6-9

* dynamic frequency

* f7 mcuconf

* format

* relocate to common, support variable frequency

* error handling

* oops

* fix test build

* noop kinetis

* better guards

* guard for bl

* guards don't work if they have typos

* more mapping

* oops

* don't use for slow pwm

* enable pwm

* guard properly

* save a little memory

* use less mem

* correct timers

* all your ram are belong to us

* update limit & comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-28 16:02:41 -04:00
rusefi a4329169e9 better file name 2020-05-25 13:02:05 -04:00
Matthew Kennedy 445f1c28f4
dead datalog code (#1439)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-16 00:11:52 -04:00
rusefi 23c6ec59a3 docs 2020-05-15 18:08:11 -04:00
rusefi 047d2e0ce1 refactoring related to RED FATAL/CRITICAL LED is a bit dim when it should be OFF
#157
2020-05-11 18:22:51 -04:00
Matthew Kennedy 96a800acb9
fix gppwm on-off mode (#1406)
* fix

* put it back

* do it with PWM instead

* comments

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-09 09:25:45 -04:00
rusefi 4ea0a3de26 nicer error messages 2020-05-09 01:49:17 -04:00
Matthew Kennedy ebde7a29d5
don't fail on multiple Start calls (#1396)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-05 15:45:07 -04:00
rusefi 965c06c079 https://github.com/rusefi/rusefi_documentation/issues/37 2020-04-29 18:41:40 -04:00
rusefi 1b84406e77 dead code 2020-04-26 17:40:12 -04:00
Matthew Kennedy f128b33694
General purpose PWM: implementation & tests (#1366)
* config

* significant digits

* renumber enum, no need for a "none"

* ui

* impl base

* error handle MAP

* init & update

* don't need arg

* don't lie about sensor

* fix test build

* test stub

* initialize

* null check

* fix clamping

* test output

* types & enums

* don't need param

* test getOutput

* fix

* output pin instead of brain pin

* default config
2020-04-26 14:06:28 -04:00
Matthew Kennedy a8db44d48a
Remove scheduler debug pins (#1359)
* trigger gen refactoring

* missed one

* remove microsecond timer debug pins

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-24 23:13:05 -04:00
Matthew Kennedy f704bf22cb
use the linker! (#1363) 2020-04-24 21:21:04 -04:00
rusEfi 4854d123bb PWM name into warning message 2020-04-19 21:48:14 -04:00
Matthew Kennedy 3407a4b216
doesn't need to be virtual (#1315) 2020-04-18 07:56:54 -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 001ef27eb8
support ETB disable pin (#1273)
* config & hand gen

* board configs

* add dc motor support

* initialization

* also set duty to zero

* use disable in etb

* fix proteus default

* add TS fields

* I guess we needed 8 bytes

* :D

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-10 17:27:13 -04:00
rusefi 4056cf1022 extracting method 2020-04-08 22:36:18 -04:00
rusefi d3745c0f9e smart gpio clean-up 2020-04-06 14:13:29 -04:00
Matthew Kennedy c33079eb46
cleanup (#1259) 2020-04-04 15:59:13 -04:00
rusefi 65e362740b start/stop progress 2020-03-31 01:06:19 -04:00
Matthew Kennedy d541e04a7d
Friendlier pin names (#1233)
* enable TS error readout

* friendlier text for common errors

* improve comment

* friendlier ADC errors

* ign/inj names

* more pin names
2020-03-29 19:07:07 -04:00
Matthew Kennedy 53679fab54
Finally rename injector_central to bench_test (#1229)
* bench test rename

* rename consumers

* good lord what are all of these externs doing

* fix tests
2020-03-26 08:03:55 -04:00
Matthew Kennedy 2349d74f0b
Default to applyPinState (#1219)
* make applyPinState default

* consumers

* format
2020-03-25 18:14:09 -04:00
rusefi 36ec8e565f start/stop progress 2020-03-25 01:41:15 -04:00
rusefi ee7c0895bf start/stop progress 2020-03-25 01:28:37 -04:00
rusefi 1012df4511 progress towards start/stop 2020-03-18 16:32:03 -04:00
rusefi 482967b8db progress towards start/stop 2020-03-18 15:56:17 -04:00
rusefi f93ac0751d better invalid configuration handling 2020-03-05 21:16:45 -05:00
Matthew Kennedy 986b80671b
warnings (#1169) 2020-03-03 08:37:02 -05:00
rusefi 6888b09c53 Three wire idle air valve #1122
ugly but should work to begin with
2020-02-04 01:22:04 -05:00
960 4b4e683957
Boost pr (#1114)
* boost control

* cleanup

* Delete rusefi_config.txt

* Add files via upload

* Delete rusefi_config.txt

* Add files via upload

* Update rusefi.input

* Update boost_control.cpp
2020-02-02 03:56:21 -05:00
rusefi 7c714e5727 opening the door to boost controller! 2020-01-31 14:29:52 -05:00
rusefi 0c3f73c2b4 code style 2020-01-21 01:47:58 -05:00
rusefi 83b1ca00a4 code style 2020-01-21 01:40:11 -05:00
Matthew Kennedy 09dc2f2390 don't use us for pwm calculation (#1106) 2020-01-19 07:02:49 -05:00
rusefi 7da4196f9c NT not US not MS
thank you Matt
2020-01-19 03:49:35 -05:00
rusefi 85a0490796 one step back 2020-01-19 02:58:54 -05:00
rusefi 2ae53d1681 better constraint validation 2020-01-19 00:28:58 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -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 b7807cba39 docs 2020-01-10 23:24:17 -05:00
rusefi 645f51a038 better method names 2020-01-10 23:17:58 -05: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 0075f9492c ETB documentation improvement? 2019-12-30 10:25:52 -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
Matthew Kennedy db3ae5b03f DRAFT simplify dequeue logic (#1050)
* simplify dequeue logic

* unnecessary

* format

* doc
2019-12-14 18:00:39 -05:00
rusefi 9403b2a8fc fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi 236d952335 progress towards ETB controller mocking 2019-12-13 13:52:34 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
rusefi 5055797f6b The Big Refactoring of 2019: folder structure #723 2019-12-04 01:15:52 -05:00
rusefi 813b6aa6ce The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi f6a50b7375 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:35:05 -05:00
andreika-git 1808642af1 Starter relay + Hardcoded 'FSIO' + simulator fix (#1032)
* Starter Relay: gui + built-in FSIO impl.

* Hardcoded 'FSIO' replacement for RAM-limited boards

* fix simulator
2019-11-25 20:08:01 -05:00
andreika-git 9a0b66791b unregisterOutput() + isPinOrModeChanged() + Stepper::stepPin+enablePin + Kinetis fix (#1029)
* Fix isConfigurationChanged() for EFI_ACTIVE_CONFIGURATION_IN_FLASH

* unregisterOutput() -> unregisterOutputIfPinOrModeChanged()

* clutchUpPinMode for unregisterPin()

* Fix Kinetis: EFI_ACTIVE_CONFIGURATION_IN_FLASH & EFI_MAIN_RELAY_CONTROL

* Stepper: enablePin & stepPin with modes support
2019-11-25 00:02:53 -05:00
Matthew Kennedy bb22296f61 DC motor improvements (#1025)
* extract interface, comments, conform names

* fwd declare
2019-11-22 16:30:44 -05:00
Matthew Kennedy 93d24dfc0b Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi 7dfdfc6378 docs & code formatting 2019-11-19 18:17:03 -05:00
Matthew Kennedy 8969efaffe fix (#1005) 2019-11-13 08:42:16 -05:00
rusefi 4b1c1e72ab time to panic and revert more 2019-11-12 21:42:44 -05:00
rusefi 0af0190468 what's the probability of efi::size breaking build? 2019-11-12 19:40:33 -05:00
Matthew Kennedy 0570ef4c42 Fix (#1004)
* Revert "fixing build"

This reverts commit 22da8a7dfe.

* undo overzealous ifdef cplusplus
2019-11-12 01:13:13 -05:00
rusefi 22da8a7dfe fixing build 2019-11-12 00:50:30 -05:00
Matthew Kennedy 9ce18d11fe use static asserts (#1003) 2019-11-12 00:39:38 -05:00
rusefi 79e049a5f8 Strange INJ1 signal behavior (when the frequency of scheduler's timer is less than 1MHz) #996
new advanced debugging: hardware pins
2019-11-10 12:39:47 -05:00
rusefi 0e01355c15 steps towards #975 2019-10-18 18:54:32 -04:00
Matthew Kennedy f52bdecb80 profile all the things 2019-10-13 13:14:08 -07:00
Matthew Kennedy 763b17fb50 experiment 2019-10-11 17:43:21 -07:00
rusefi f588224559 NB2 miata on Frankenso with ETB 2019-09-21 01:21:53 -04:00
rusefi c59d8164c6 unit tests progress 2019-09-19 21:41:52 -04:00
rusEfi 67c25a6f12 A/C relay cleanup 2019-09-15 11:32:38 -04:00
rusefi 86e421e0ee fatalErrorPin setting is not used #926
reducing configuration fragility
2019-09-09 21:44:48 -04:00
rusefi 0b8ebdbf96 A/C NA6 compressor progress 2019-09-08 16:45:02 -04:00
rusEfi c29f038b83 bugfix: pin names were not shown in engine sniffer 2019-08-18 15:27:10 -04:00
rusEfi 7a7dbb8c30 refactoring: engine sniffer magic constants 2019-08-18 15:04:02 -04:00
rusEfi 1a1fe77ff8 MRE ETB 2019-08-15 01:59:15 -04:00
rusefi 56236754c3 random typo 2019-08-10 14:40:51 -04:00
rusefi 84c6232b25 docs 2019-07-13 10:16:47 -04:00
rusefi 4ef2a72930 refactoring: wider usage of new periodic task 2019-07-09 16:08:49 -04:00
rusefi 2f68badc47
Periodic timer controller (#875)
* More than one aux pid #866

* More than one aux pid #866

* More than one aux pid #866

* More than one aux pid #866

* More than one aux pid #866
2019-07-09 08:33:40 -04:00
rusefi 34acd20833 More than one aux pid #866
renaming this class since we will probably have two different implementations for two different cases
2019-07-08 03:35:41 -04:00
rusefi 05fac9e869 Refactoring: OS access should be explicit #867 2019-07-05 19:00:44 -04:00
Matthew Kennedy e81beaf81b fix (#865) 2019-07-03 03:18:04 -04:00