Scott Smith
cc95bd6c8e
Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER* ( #3560 )
...
* Programmatically remove EnginePtr/inject, EXPAND_Engine, and WITH_ENGINE_TEST_HELPER*
for i in ": public EnginePtr " ", public EnginePtr" "EXPAND_Engine;" "EXPAND_Engine"; do
git grep -l "$i" | xargs sed -i "s/$i//g"
done
git grep -l "inject" | xargs sed -i "/inject[(][)]/d"
for i in WITH_ENGINE_TEST_HELPER_SENS WITH_ENGINE_TEST_HELPER_BOARD_CALLBACK WITH_ENGINE_TEST_HELPER; do
git grep -l "$i" | xargs sed -i "s/$i/EngineTestHelper eth/g"
done
git checkout firmware/controllers/core/engine_ptr.h
git checkout unit_tests/global.h
* Review fixups.
2021-11-16 16:52:11 -05:00
Matthew Kennedy
8cdac4cac0
remove engine pointer passing ( #3556 )
...
* some
* more
* more
* the last?!
2021-11-16 04:15:29 -05:00
Scott Smith
62daac73c7
Use Valgrind to detect unitialized variable references. ( #3555 )
...
* Use Valgrind to detect unitialized variable references.
Fix the edge cases that pop up
* Comment and disable Mac run
2021-11-15 23:42:23 -05:00
Matthew Kennedy
145316c497
less macro, more c++ ( #3549 )
...
* less macro
* s
2021-11-15 12:44:40 +01:00
rusefillc
22c872d8d8
Epic: Remove FSIO #2928
2021-11-14 10:57:19 -05:00
rusefillc
eb1af46655
Epic: Remove FSIO #2928
2021-11-14 08:37:50 -05:00
Scott Smith
d4c4db9a12
Move phaseCount into MultiChannelStateSequence ( #3520 )
...
We can them drop the field from a bunch of callers, simplifying the code.
2021-11-10 19:47:27 -05:00
Scott Smith
dac67235c4
Don't keep a separate MultiChannelStateSequence for the trigger emulator, version 2. ( #3517 )
...
All it wants is to use the main trigger state, so don't bother copying it. Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt. Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes. And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)
Also remove SimplePwm's 2nd copy of SingleChannelStateSequence. It served no purpose.
Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-10 07:01:20 -05:00
rusefillc
1db9a02f1d
Revert "Don't keep a separate MultiChannelStateSequence for the trigger emulator. ( #3513 )"
...
This reverts commit 280dfa94e7
.
2021-11-09 20:42:23 -05:00
Scott Smith
280dfa94e7
Don't keep a separate MultiChannelStateSequence for the trigger emulator. ( #3513 )
...
All it wants is to use the main trigger state, so don't bother copying it. Instead, change
PwmConfig to take a const pointer to a Multi.*Sequence, then make all the users adapt. Worse
fallout is that SimplePwm now has its own Multi.*Sequence, but PwmConfig is downgraded to a
pointer, so that's only a net +4 bytes. And we can make the overhead of Multi.*Sequence much lower
using embedded arrays, which only the caller can do since it knows the maximum size... (for another
day...)
Also remove SimplePwm's 2nd copy of SingleChannelStateSequence. It served no purpose.
Saves 1992 bytes of BSS and 24 bytes of RAM4 (latter probably due to SimplePwm change)
2021-11-09 14:35:07 -05:00
rusefi
22e78a97a5
nicer messages
2021-11-08 20:49:12 -05:00
Matthew Kennedy
0fe2721556
use name of pwm ( #3393 )
2021-10-22 15:23:53 -04:00
Matthew Kennedy
efa08b329d
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
Andreika
bc4a068c9c
[DRAFT] IAC H-Bridge Microstepping ( #3213 )
...
* fix for stepperHbridgeHardware
* new config fields for microstepping
* add stepper dir pin mode to the dialog
* refactor stepper hw dialog & add microstepping panel
* microstepper modes enum
* stepperDcInvertedPins needed by Hellen
* add sleep() for stepper and divisor for pause()
* microstepping impl.
* make unit-tests more happy
* small progress
* fix etb-stepper dlg conflict
Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2021-10-06 13:57:04 -04:00
Andrey
2a2722c3cc
SPARK_EXTREME_LOGGING
2021-10-01 23:50:32 -04:00
rusefillc
3ff9568521
more details into CUSTOM_OBD_LOW_FREQUENCY message
2021-09-05 14:21:02 -04:00
Matthew Kennedy
da5aaeda2b
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
0c6297e926
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
98a98e920d
init the timer before we try to use it ( #3205 )
...
* init the timer before we try to use it
* format
* guard
2021-08-27 10:59:00 +03:00
Matthew Kennedy
cf5d4cbe1c
add & test remove from linked list ( #3199 )
2021-08-26 23:03:09 +03:00
Matthew Kennedy
25414ebdad
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
b52d50bbf2
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
Andrey
2ec8c3090f
trailing spark outputs #2931
2021-07-21 20:51:51 -04:00
Matthew Kennedy
e2a01b4c3e
force init LEDs even with fatal ( #2998 )
2021-07-20 17:09:52 -04:00
Matthew Kennedy
2ce7777865
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
7945faa93a
FATAL on NB2 tune jim stim input signal #2965
2021-07-14 17:45:54 -04:00
Andrey
e1c41ff798
FATAL on NB2 tune jim stim input signal #2965
2021-07-14 16:03:00 -04:00
Matthew Kennedy
64177cf899
put names in flash ( #2939 )
...
* put names in flash
* probing freed ram
* this one too
* probing memory
* more like that much
2021-07-09 17:05:16 -04:00
Matthew Kennedy
7a21f7fbc0
inject ( #2938 )
2021-07-09 17:02:25 -04:00
Matthew Kennedy
e00c7d0b98
trailing coils ( #2937 )
...
* gpio wiring
* plumbing
2021-07-09 15:51:30 -04:00
Andrey
02d002f081
random progress
2021-07-09 14:43:58 -04:00
rusefillc
70fd233740
random progress
2021-07-09 14:27:10 -04:00
Andrey
b8857f5ba8
trailing spark outputs #2931
2021-07-09 10:14:00 -04:00
Matthew Kennedy
86683afca2
trailing spark scheduling ( #2932 )
...
* enable bit
* implement trailing sparks
* test trailing spark
* it helps to call the correct function
* add pins
* gobblin ram
2021-07-09 08:37:46 -04:00
Matthew Kennedy
2eb0b2a631
Unified cyl count macro ( #2914 )
...
* update test framework
* eh
* hey look it's fewer warnings
* unwind
* fix
* config
* configs
* logic
* even java had some
* console needs help
2021-07-06 20:14:08 -04:00
Matthew Kennedy
1bca4843fe
test dc_motor.cpp ( #2890 )
...
* use ipwm where possible
* mock ipwm
* initialize
* test
2021-07-01 09:21:18 -04:00
Matthew Kennedy
cd055a687d
dc motor api ( #2869 )
...
* iwpm
* dc motor has configure
* consume
* format
* spelling
2021-06-26 21:42:40 -04:00
rusefillc
6605935015
unit_tests: mapAveragingTriggerCallback causes segmentation fault #2858
2021-06-25 10:21:31 -04:00
Matthew Kennedy
7eb3b9890d
misc threading/safety improvements ( #2854 )
...
* allow termination of thread controller
* no gpio if fatal
* stub for test
2021-06-24 20:18:23 -04:00
Matthew Kennedy
097bf85faf
dual fans ( #2806 )
...
* remove fsio
* hard code impl
* test it
* enable fan with AC
* make commented stuff match
* second fan config
* second fan ui
* defaults
* impl
2021-06-13 08:06:45 -04:00
David Holdeman
6d4060d824
Doxygen titles ( #2728 )
...
* move addRow call
* undo submo bump
* add header titles
2021-05-22 22:10:58 +03:00
Matthew Kennedy
5a5f25244a
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
Andrey
4f63d2b476
More low-level firmware coverage for the simulator/unit-tests #2656
2021-05-15 05:27:33 -04:00
Matthew Kennedy
8b30776016
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
461903f7e4
pack scheduling_s ( #2642 )
...
* pack scheduling_s
* ramz
2021-05-07 08:22:35 -04:00
rusefillc
f7d1f2dfac
code style
2021-05-06 10:43:42 -04:00
rusefillc
02d4cde3c4
https://rusefi.com/forum/viewtopic.php?f=16&t=1996
2021-04-25 09:18:35 -04:00
Matthew Kennedy
c26987b96b
Destroy all shared logger ( #2574 )
...
* most of shared logger
* a few more
* one more
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-04-21 14:28:48 -04:00
Matthew Kennedy
ad71016862
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
41804736e2
engine sniffer into unit tests
2021-04-04 22:41:38 -04:00
Andrey G
89b631a794
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
8584256677
trying to fix AuxValves
2021-02-17 08:57:18 -05:00
Andrey G
3166076839
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
4bb9762e2e
extracting runtime state from trigger central
2021-01-31 22:41:17 -05:00
Andrey G
2af32084f4
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
a3173e68d9
typo
2021-01-04 21:20:40 -05:00
rusefillc
bbf161752e
TCU usability #2118
2020-12-22 14:03:54 -05:00
rusefillc
af9bb07eba
dead code
2020-12-22 07:10:09 -05:00
Matthew Kennedy
6168bcea80
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
7277b04039
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
ca79f99be5
More explicit handling of CPU exhaustion #2093
2020-12-17 22:21:12 -05:00
rusefillc
99392d7951
More explicit handling of CPU exhaustion #2093
2020-12-17 21:15:28 -05:00
rusefillc
ca0f3ba240
HW CI is flaky :( #2063
...
more detailed error messages
2020-12-17 20:22:04 -05:00
rusefi
2f690ca6b2
nicer "pins" names
2020-12-17 17:00:00 -05:00
Matthew Kennedy
a159ecbf0a
reduce GPIO complexity ( #2051 )
2020-12-10 19:18:14 -05:00
Matthew Kennedy
f2426677db
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
e226024a5c
MRE pin reuse state validation fails #2006
2020-12-03 15:42:48 -05:00
rusefillc
ba33a758e8
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
a3a49b02ed
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
641959b9a3
Starter is engaged on start-up in pull-up configuration #1969
2020-11-26 17:48:09 -05:00
rusefillc
24c9e54cde
Starter is engaged on start-up in pull-up configuration #1969
2020-11-26 16:20:13 -05:00
rusefi
1238758c0f
Starter is engaged on start-up in pull-up configuration #1969
2020-11-26 00:16:59 -05:00
rusefi
63900429a6
Starter is engaged on start-up in pull-up configuration #1969
2020-11-25 23:59:11 -05:00
rusefi
b189d85228
Starter is engaged on start-up in pull-up configuration #1969
2020-11-25 23:38:43 -05:00
rusefillc
3878cbb550
Starter is engaged on start-up in pull-up configuration #1969
...
maintainability
2020-11-19 23:57:06 -05:00
Matthew Kennedy
f3b7a1d9da
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
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
rusefi
04c7cdebb6
input has sizes hard-coded #836
2019-06-10 15:11:53 -04:00
Matthew Kennedy
95003e9a7b
const, explicit, and override ( #831 )
...
* const, explicit, and override
* more const
* more const
* missed a spot
2019-06-08 09:51:36 -04:00
andreika-git
970f67862c
STM32-specific GPIO refactor (stm32_pins.cpp) ( #817 )
...
* stm32_pins.cpp
* PIN_USED & other
2019-06-02 16:48:38 -04:00
rusefi
1c36b89141
nicer pin names for messages while same short names for engine sniffer
2019-05-15 04:26:41 -04:00
Matthew Kennedy
5a15b449c0
rename enum ( #791 )
2019-05-05 00:53:24 -04:00
Matthew Kennedy
6810aa3268
fix etb ( #789 )
2019-05-05 00:42:50 -04:00
dron0gus
76cc822b1e
Smart gpios ( #752 )
...
* efi_gpio: update cached pin value for ext gpios to
* tle6240: update and fix
* gpiochips_init should be called after all gpio chips are added
or we can lost calls to _init of chips
* smart_gpio.c: fix for tle6240 and mc33972
now config structs are not const. waste of ram...
2019-04-14 01:32:46 +02:00
rusefi
fb0bbc075c
steps towards smarter gpio
2019-04-13 12:02:34 -04:00
rusefi
16cf6388b6
ETB using tle7209 fix #746
2019-04-13 01:03:12 -04:00
rusefi
541c445a2d
defined(__DOXYGEN__) ? #748
2019-04-12 22:07:03 -04:00
dron0gus
2768583ec1
gpiochips integration: remove incorrect code (rebase issue) ( #742 )
2019-04-10 16:25:50 +02:00
dron0gus
1b39480e64
Gpiochips integration ( #740 )
...
* gpio-chips core function renames
* efi_gpio, pin_repository: add support for external gpios
* gpio-chips update
* gpio-chips: add api to name each pin of gpiochip
* tle6240: provide individual names for each pin
2019-04-10 14:43:54 +02:00
rusefi
5316d7ad6a
The Big Refactoring of 2019: folder structure #723
2019-04-09 23:01:45 -04:00
rusefi
f6d2f47bd1
fixing continues integraion?
2019-04-09 21:36:53 -04:00
dron0gus
c6a1d0cbe0
gpios rework ( #739 )
...
* Some more include fixes for linux
* Pass cross-compile path through CROSS_COMPILE
* Lower-upper case conversion fixes for linux
* Rename unmarkPin to brain_pin_markUnused
This is part of external gpiochip integration
* Add gpio_pin prefix to markUsed and markUnused
To distinguish from similar functions using brain_pin
* pin_repository: add helpers
this is part of gpio chips integration
* efi_gpio: simplify getHwPin using brain_pin_is_onchip
2019-04-10 01:31:10 +02:00
rusefi
e0c9493dd9
The Big Refactoring of 2019: folder structure #723
2019-04-05 01:41:24 -04:00
rusefi
334af50f3f
we need TLE8888 driver #714
2019-04-04 19:56:03 -04:00
rusefi
be9651cb95
The Big Refactoring of 2019: folder structure #723
2019-03-31 17:44:34 -04:00
andreika-git
b80806182f
More portability & small fixes ( #719 )
...
* Use hw_stm32.mk
* Fix bootloader
* Use more common hw_ports.mk filename instead of hw_stm32.mk
* More CPU compatibility for Makefile
* TS_UART_MODE & rename TS_SERIAL_UART_DEVICE->TS_SERIAL_DEVICE
* Move lockAnyContext()/unlockAnyContext() to rfiutil.c
* USE_FATFS
* EFI_LCD
* Less compilation errors
* STATUS_LOGGING_BUFFER_SIZE & SETTINGS_LOGGING_BUFFER_SIZE
* EFI_ALTERNATOR_CONTROL, EFI_SERVO, EFI_DISABLE_CONSOLE_ACTIONS
* #ifndef PWM_PHASE_MAX_COUNT & more flexible GPIO inside portname()
* merge
* EFI_ALTERNATOR_CONTROL, EFI_ELECTRONIC_THROTTLE_BODY
2019-03-29 15:29:01 +01:00
rusefi
bd2b992918
unifying_file_naming
2019-03-29 09:11:13 -04:00
rusefi
07c964af78
better Electronic Throttle body control #493
2019-03-10 12:58:27 -04:00
rusefi
60a5b2c5ea
better Electronic Throttle body control #493
...
two ETBs
2019-03-10 12:02:25 -04:00
rusEfi
9a11d26cc3
better Electronic Throttle body control #493
2019-03-09 23:31:47 -05:00
dron0gus
c9edbf4225
Cleanup fixes ( #700 )
...
* Kill some more warnings
* pin_repository: add markUnused, allow use from plain C
* ehiGpio.cpp: add forgotten GPIOG port
2019-03-08 07:01:15 -05:00