Commit Graph

70 Commits

Author SHA1 Message Date
Matthew Kennedy 847dbaf7a8 use name of pwm (#3393) 2021-10-22 15:23:53 -04:00
Matthew Kennedy 56afeb17c8 Fix simulator (#3360)
* fix simulator

* print out halt reason

* option to close simulator after time

* workflow calls it

* test with the bug still present

* ...and fix the bug
2021-10-17 20:07:25 -04:00
rusefillc a383d726de more details into CUSTOM_OBD_LOW_FREQUENCY message 2021-09-05 14:21:02 -04:00
Matthew Kennedy ad205cb15e detect "not scheduled" faster (#3200)
* fatal if not found

* handle not-scheduled

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-27 11:46:01 +03:00
Matthew Kennedy 9d437474b2 add cancel to scheduler (#3201)
* fw

* for tests

* simulator

* sim

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-27 11:30:06 +03:00
Matthew Kennedy 7a4a0bb608 add & test remove from linked list (#3199) 2021-08-26 23:03:09 +03:00
Matthew Kennedy 4e6b61234f 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 d3ec2b21d1 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 e3849b95d5 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
rusefi fb2c88a37b FATAL on NB2 tune jim stim input signal #2965 2021-07-14 17:45:54 -04:00
Andrey 47f285c50c FATAL on NB2 tune jim stim input signal #2965 2021-07-14 16:03:00 -04:00
Matthew Kennedy 71cbe6a3a6 dc motor api (#2869)
* iwpm

* dc motor has configure

* consume

* format

* spelling
2021-06-26 21:42:40 -04:00
rusefillc dc331a3b63 unit_tests: mapAveragingTriggerCallback causes segmentation fault #2858 2021-06-25 10:21:31 -04:00
David Holdeman 68da5c279e Doxygen titles (#2728)
* move addRow call

* undo submo bump

* add header titles
2021-05-22 22:10:58 +03:00
Matthew Kennedy 4b0d75ff92 make the simulator usable (#2717)
* these start themselves now

* dead

* configure ports

* start serial

* dead

* minimal pins

* simulator logging works

* why not enable lua

* speeeeeed

* start lua

* spammy print
2021-05-17 12:44:02 +03:00
Matthew Kennedy 37a3de07cf remove stateChangeCallback from simplepwm (#2644)
* remove callback parameter from cj125

* remove from ext

* remove stateChangeCallback

* alt doesn't need that

* demorgan

* remove call

* bad cut/paste

* check the actual pin in the test
2021-05-07 09:38:41 -04:00
Matthew Kennedy b12d392343 pack scheduling_s (#2642)
* pack scheduling_s

* ramz
2021-05-07 08:22:35 -04:00
Matthew Kennedy 737ee444b8 rip the bandaid: find-replace most of scheduleMsg (#2572)
* biiiig find replace

* more trivial find replace

* pwm

* almost all of them

* few more

* gpio

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 12:53:13 -04:00
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