Commit Graph

479 Commits

Author SHA1 Message Date
Andrey G b61ae75fe2 gpio helper (#2195)
* gpios: isBrainPinValid helper

* LCD HD44780: do not touch pins if DM_NONE or invalid gpio

* Fix isEnabled checks for GPS and Joystick

* LCD HD44780: writePad use this method wider
2021-01-08 20:01:26 -05:00
rusefillc 8aad769fa5 typo 2021-01-04 21:20:40 -05:00
rusefillc 68d799821a TCU usability #2118 2020-12-22 14:03:54 -05:00
rusefillc ae06827624 dead code 2020-12-22 07:10:09 -05:00
Matthew Kennedy 30fd52d82d Fix gpio reinit race condition (#2098)
* fix unregister api for gpio

* consumers

* guard with a critical section

* index

* guard less

* unregister under lock

* fix reinit

* dead flag

* fix most tests

* initialize properly

* initialize properly

* assertions in tests

* fix message

* we must lock earlier to be truly safe

* this was using huge memory

* devirtualize
2020-12-18 17:18:12 -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 33bc6b7957 HW CI is flaky :( #2063
more detailed error messages
2020-12-17 20:22:04 -05:00
rusefi 5c88a76036 nicer "pins" names 2020-12-17 17:00:00 -05:00
Matthew Kennedy 6f80da5c9c reduce GPIO complexity (#2051) 2020-12-10 19:18:14 -05:00
Matthew Kennedy 719e341eeb start fuel pump as soon as trigger events happen (#2038)
* switch pump fsio logic

* value collision

* fuel pump in tests

* mock time since trigger

* test fp

* init pin in test

* fix gpio outputs in tests

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-10 01:23:24 -05:00
rusefillc 5dcf22cf74 MRE pin reuse state validation fails #2006 2020-12-03 15:42:48 -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
Matthew Kennedy c442f1f785 fix gpio the right way (#1990)
* fix the right way

* use the api

* explain

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-11-27 00:24:41 -05:00
rusefillc 41a02a0153 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 17:48:09 -05:00
rusefillc f63e3c68fd Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 16:20:13 -05:00
rusefi ab98e15f01 Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 00:16:59 -05:00
rusefi 7d11aaf9e4 Starter is engaged on start-up in pull-up configuration #1969 2020-11-25 23:59:11 -05:00
rusefi 1e91b88296 Starter is engaged on start-up in pull-up configuration #1969 2020-11-25 23:38:43 -05:00
rusefillc 17a110ad44 Starter is engaged on start-up in pull-up configuration #1969
maintainability
2020-11-19 23:57:06 -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
rusefillc dbdfd87c6d Starter seems to be engaged forever fix #1965 2020-11-18 23:54:30 -05:00
rusefillc 2d3ddcde9d Starter seems to be engaged forever #1965 2020-11-18 22:47:40 -05:00
rusefillc b6dac8dac2 Starter seems to be engaged forever #1965 2020-11-18 22:42:41 -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
rusefillc d8a022d1aa GDI Epic #1448 2020-11-09 21:41:13 -05:00
rusefillc 1739437096 Output pin init/deinit needs a linked list #1803 2020-11-09 21:10:48 -05:00
rusefillc 8fc5e1a4a0 docs 2020-11-09 19:47:10 -05:00
rusefi fa0de4598c Output pin init/deinit needs a linked list #1803 2020-11-06 15:45:15 -05:00
rusefillc 3643b2d063 Output pin init/deinit needs a linked list #1803 2020-11-05 18:42:45 -05:00
rusefillc 8e4ebc9a7d Output pin init/deinit needs a linked list #1803 2020-11-05 17:52:30 -05:00
rusefillc e7b1b80ce9 Output pin init/deinit needs a linked list #1803 2020-11-05 17:23:09 -05:00
rusefi a626e4f0c8 GDI Epic #1448 2020-11-03 13:19:56 -05:00
rusefillc 4000c34c93 Output pin init/deinit needs a linked list #1803 2020-11-03 12:28:13 -05:00
rusefillc 39d21ca08f Output pin init/deinit needs a linked list #1803 2020-11-03 11:31:40 -05:00
rusefillc fa49bbd580 Output pin init/deinit needs a linked list #1803 2020-11-03 11:01:43 -05:00
rusefillc 4397c1f18b Output pin init/deinit needs a linked list #1803 2020-11-03 10:51:54 -05:00
rusefi 4dc5c61f60 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 c464dfdca6 Output pin init/deinit needs a linked list #1803 2020-11-03 00:21:39 -05:00
rusefi 66b61f76a7 Output pin init/deinit needs a linked list #1803 2020-11-03 00:09:42 -05:00
rusefi 82768bed1e typo 2020-11-02 23:52:26 -05:00
rusefi 8dcb2fe55f this stuff is just too dead 2020-11-02 23:46:41 -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 c5291888d0 buffered writer - progress on #1463 (#1875)
* add buffered writer

* rename
2020-10-12 15:10:34 -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
rusefillc 88e9dcd867 HW CI has failed 11 times since Oct 2 #1849 2020-10-03 20:53:23 -04:00