Commit Graph

102 Commits

Author SHA1 Message Date
rusefillc 7fb7cc6679 extracting runtime state from trigger central 2021-01-31 22:41:17 -05:00
rusefillc 8aad769fa5 typo 2021-01-04 21:20:40 -05:00
Matthew Kennedy 359b0d3fb5 force a pwm cycle start (skip cycles) if late (#2097)
* skip cycles if late

* fail at lower count

* start at -1
2020-12-18 08:21:18 -05:00
rusefillc 4e83514e83 More explicit handling of CPU exhaustion #2093 2020-12-17 22:21:12 -05:00
rusefillc 8a2c14c1de More explicit handling of CPU exhaustion #2093 2020-12-17 21:15:28 -05:00
rusefillc a57296d641 avoid float -> int64 conversion #1977
both cases have to be relatively small durations of time cherry picking...
2020-12-03 13:30:17 -05:00
rusefillc 41a02a0153 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 17:48:09 -05:00
Matthew Kennedy 2792828dce Remove lockAnyContext, replace with CriticalSectionLocker (#1938)
* switch to CriticalSectionLocker

* that's just about all

* clean up last usage

* include hpp for sim

* need the cpp wrappers in the makefile too

* include dir

* include
2020-11-19 06:56:02 -05:00
Matthew Kennedy e0d0727896 adjust microsecond_timer api (#1952)
* change timer api

* don't need all that
2020-11-16 18:50:13 -05:00
Matthew Kennedy f6f3e514d2 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 3985b7a6c9 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 540fca8cc9 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 60329b55a5 we don't need two loops (#1855) 2020-10-05 08:57:00 -04:00
Matthew Kennedy 04ae4ee347 pwm perf (#1858)
* pwm perf

* this trace is now redundant
2020-10-05 08:23:30 -04:00
Matthew Kennedy 5f6955e49f 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
Matthew Kennedy 2eca162a8a expose the problem 2020-07-31 14:41:29 -07:00
Matthew Kennedy dc55784102 dead 2020-07-29 02:45:30 -07:00
rusefi b8e033f3d1 better unit test logging 2020-07-19 15:25:49 -04:00
rusefi 26f85c4e11 better unit test logging 2020-07-19 14:58:46 -04:00
rusefi 546344c78a nope, unit tests did not just fix themselves 2020-06-17 08:42:37 -04:00
Matthew Kennedy 29d124ace3 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 f868803524 Trigger decoding issues (60-2) #1488
100us is too much, 10us is more reasonable
2020-06-15 00:12:50 -04:00
rusefi d68d6cc8ef Trigger decoding issues (60-2) #1488
interesting stuff potentially with a not so great setting
2020-06-14 23:41:39 -04:00
rusefi 943388a27b Trigger decoding issues (60-2) #1488
very mild refactoring - better names & moving initializers
2020-06-14 23:34:45 -04:00
Matthew Kennedy d13bd0b77c 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 804f4b9db5 better file name 2020-05-25 13:02:05 -04:00
Matthew Kennedy 103a1693c8 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 94ca216936 nicer error messages 2020-05-09 01:49:17 -04:00
rusefi 0ec3ce595e dead code 2020-04-26 17:40:12 -04:00
Matthew Kennedy 738e53442d 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 3f4f0f9e7a use the linker! (#1363) 2020-04-24 21:21:04 -04:00
rusEfi a89d819318 PWM name into warning message 2020-04-19 21:48:14 -04:00
Matthew Kennedy 2e12329199 Default to applyPinState (#1219)
* make applyPinState default

* consumers

* format
2020-03-25 18:14:09 -04:00
Matthew Kennedy eb46d7bd58 warnings (#1169) 2020-03-03 08:37:02 -05:00
rusefi 1a3bfa4b02 code style 2020-01-21 01:47:58 -05:00
rusefi d91a7a6a8f code style 2020-01-21 01:40:11 -05:00
Matthew Kennedy 72a8a1c74a don't use us for pwm calculation (#1106) 2020-01-19 07:02:49 -05:00
rusefi a1e837d763 NT not US not MS
thank you Matt
2020-01-19 03:49:35 -05:00
rusefi 8e459e84ff one step back 2020-01-19 02:58:54 -05:00
rusefi 8165bfc8ed better constraint validation 2020-01-19 00:28:58 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
rusefi 67a3796086 better method names 2020-01-10 23:17:58 -05:00
Matthew Kennedy e2841e689d 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 63e3e84e08 happy new year 2020-01-08 00:02:40 -05:00
Matthew Kennedy 3d8c4f4179 Strongly typed action constructor (#1087)
* strong typing

* maybe we needed that one
2020-01-07 18:10:31 -05:00
Matthew Kennedy 6703705a33 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 cf0b13041f 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 693cdf96d9 DRAFT simplify dequeue logic (#1050)
* simplify dequeue logic

* unnecessary

* format

* doc
2019-12-14 18:00:39 -05:00
rusefi 44c98029d7 fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi e60515789a The Big Refactoring of 2019: folder structure #723 2019-12-04 01:15:52 -05:00
rusefi 561986d3e4 The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
rusefi f3a058ab26 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:35:05 -05:00