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
549839b0de
engine sniffer into unit tests
2021-04-04 22:41:38 -04:00
Andrey G
aa05ff195d
Hip9011 and cleanups ( #2477 )
...
* hip9011: move hipCs out of EnginePins to hip9011 driver
* hip9011: cleanup debug output, save few RAM bytes
* Supress few signed vs unsigned warnings
2021-03-20 08:40:36 -04:00
rusefillc
3354691778
trying to fix AuxValves
2021-02-17 08:57:18 -05:00
Andrey G
04c7ad67aa
Some fixes prior to board pull request ( #2291 )
...
* ChibiOS: add support for STM32F765
This chip is used on Subaru EG33 p'n'p RusEFI board from Dron_Gus
* drivers: gpio: mc33810: commulative update
- use BIT macro
- fix wake-up method
- fix order of arguments in _add function
* port: stm32f4/7: detectCanDevice check for enabled interfaces only
* ADC: fix internal array size
internalAdcIndexByHardwareIndex should be EFI_ADC_LAST_CHANNEL size
couse adc_channel_e is used as index
* status LEDs: support status LEDs that driven by low level
2021-02-06 12:22:57 -05:00
rusefillc
7fb7cc6679
extracting runtime state from trigger central
2021-01-31 22:41:17 -05:00
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
rusefillc
bd78aa288d
HW CI has failed 11 times since Oct 2 #1849
2020-10-03 20:25:37 -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
rusefi
86c80b7768
Output pin init/deinit needs a linked list #1803
2020-09-27 07:48:38 -04:00
rusefi
aea8441e6a
Output pin init/deinit needs a linked list #1803
2020-09-27 07:26:56 -04:00
rusefi
77c1b19cee
Output pin init/deinit needs a linked list #1803
2020-09-27 07:22:09 -04:00
rusefi
822f20ab2d
Output pin init/deinit needs a linked list #1803
...
more fun around pin referencing
2020-09-26 05:04:27 -04:00
rusefi
d4d42dd781
Output pin init/deinit needs a linked list #1803
2020-09-18 13:29:17 -04:00
rusefi
a48c67c8c7
Output pin init/deinit needs a linked list #1803
2020-09-18 13:01:09 -04:00
rusefi
0b000fcdaa
Output pin init/deinit needs a linked list #1803
2020-09-17 19:41:28 -04:00
rusefi
9f565721da
Output pin config #1803
...
alternative to #1800
2020-09-17 19:35:43 -04:00
rusefi
e3600a8f24
Engine runs we can disengage the starter #1795
2020-09-14 00:45:15 -04:00
rusefi
41cecd15eb
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
fe3d03ba5a
Hellen says merge #1772 error pin
2020-09-09 18:18:59 -04:00
Matthew Kennedy
c2eb7c9f4a
remove tach output pin ( #1779 )
...
* remove from cfg
* cfg
* rip out impl
* efi gpio
2020-09-09 16:52:23 -04:00
rusefi
21a2403fc0
https://github.com/rusefi/rusefi/issues/1775
2020-09-08 17:20:14 -04:00
Matthew Kennedy
2eca162a8a
expose the problem
2020-07-31 14:41:29 -07:00
Matthew Kennedy
f11856c07d
init & override
2020-07-29 02:45:39 -07:00
Matthew Kennedy
dc55784102
dead
2020-07-29 02:45:30 -07:00
rusefi
6d34b22d8f
bootloader not well? temporary bad workaround #1638
2020-07-25 19:14:09 -04:00
rusefi
fafed690e8
bootloader not well? fix #1638
2020-07-25 19:04:15 -04:00
Matthew Kennedy
ef590b9e7c
Merge remote-tracking branch 'upstream/master' into reset-overlap
2020-07-20 18:43:17 -07:00
rusefi
8a337f18a5
changing crazy in composite logger
2020-07-20 21:20:58 -04:00
Matthew Kennedy
a65ac8702c
Merge remote-tracking branch 'upstream/master' into reset-overlap
2020-07-20 13:27:51 -07:00
Matthew Kennedy
8282bb127d
test
2020-07-20 03:29:43 -07:00
Matthew Kennedy
5fce27da8b
Merge remote-tracking branch 'upstream/master' into reset-overlap
2020-07-19 13:52:45 -07:00
Matthew Kennedy
def94739ff
encapsulate ( #1617 )
2020-07-19 16:46:28 -04: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
Matthew Kennedy
65b41a9306
encapsulate overlap logic
2020-07-18 23:03:12 -07:00
Matthew Kennedy
f06b2c2edd
comments & improve logic
2020-07-16 23:55:41 -07: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
db29a3523a
Fix gppwm properly ( #1487 )
...
* directly control output in onoff mode
* test fixing
2020-06-11 20:43:26 -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
6d4924e85a
dead datalog code ( #1439 )
...
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-16 00:11:52 -04:00
rusefi
0aa37ef0f2
docs
2020-05-15 18:08:11 -04:00
rusefi
a88b41a8d0
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
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
Matthew Kennedy
a26355fdd1
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
93ee6c36e3
https://github.com/rusefi/rusefi_documentation/issues/37
2020-04-29 18:41:40 -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
67ea0368c9
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
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
b6eb1c85a6
doesn't need to be virtual ( #1315 )
2020-04-18 07:56:54 -04:00
Matthew Kennedy
24b0c85a9e
fix warnings ( #1282 )
...
* warnings
* don't need to template those
2020-04-12 09:39:14 -04:00
Matthew Kennedy
1a59950240
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
5e00b3ac17
extracting method
2020-04-08 22:36:18 -04:00
rusefi
c1ab5ca585
smart gpio clean-up
2020-04-06 14:13:29 -04:00
Matthew Kennedy
c0f03fd8fb
cleanup ( #1259 )
2020-04-04 15:59:13 -04:00
rusefi
dc52d039e7
start/stop progress
2020-03-31 01:06:19 -04:00
Matthew Kennedy
67f01ff9c7
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
b7033bbde9
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
2e12329199
Default to applyPinState ( #1219 )
...
* make applyPinState default
* consumers
* format
2020-03-25 18:14:09 -04:00
rusefi
e386955741
start/stop progress
2020-03-25 01:41:15 -04:00
rusefi
b9ea8d74ae
start/stop progress
2020-03-25 01:28:37 -04:00
rusefi
d9690bed3a
progress towards start/stop
2020-03-18 16:32:03 -04:00
rusefi
b442d16d87
progress towards start/stop
2020-03-18 15:56:17 -04:00
rusefi
0865b7be2e
better invalid configuration handling
2020-03-05 21:16:45 -05:00
Matthew Kennedy
eb46d7bd58
warnings ( #1169 )
2020-03-03 08:37:02 -05:00
rusefi
b47462b4de
Three wire idle air valve #1122
...
ugly but should work to begin with
2020-02-04 01:22:04 -05:00
960
580e725d11
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
f834f99245
opening the door to boost controller!
2020-01-31 14:29:52 -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
8f27c8f8ed
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
78eb92bbbf
docs
2020-01-10 23:24:17 -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
afa5de2655
ETB documentation improvement?
2019-12-30 10:25:52 -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
27f617686b
progress towards ETB controller mocking
2019-12-13 13:52:34 -05:00
rusefi
f47a1a16d1
getting rid of boardConfiguration / binary compatible change
2019-12-11 17:48:55 -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
andreika-git
7220735530
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
53eeb79ea9
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