Commit Graph

1285 Commits

Author SHA1 Message Date
Matthew Kennedy 214285facc Deduplicate mpu_util headers (#1187)
* this flag did nothing

* header dedupe

* mre fix again

* get all dependencies in mpu_util.h

* guard can/spi

* more dedupe

* pragma once

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-13 18:48:22 -04:00
Matthew Kennedy f18e848d9c remove (#1188)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-13 17:19:29 -04:00
Matthew Kennedy 9a81b7d2c5 Move can_hw.cpp in to drivers folder (#1184)
* relocate

* include path

* simulator makefile

* fix mre while we're at it

* it would help if I fixed it right
2020-03-13 09:50:43 -04:00
Matthew Kennedy adac5fba78 Control stepper with dual H-bridges (#1121)
* divorce stepper from hw

* oops

* ptr not ref

* hbridge stepper

* typo

* hook up twin h

* hook up hardware

* use config field

* hook up motor repo

* guard tests

* whoops

* ok fix for real

* ok that's the right thing

* do full stepping

Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.stagpad.local>
Co-authored-by: Matthew Kennedy <matthew@mck-mbp-15.local>
2020-03-10 15:18:29 -04:00
Matthew Kennedy 8ceb5c8996 fix icu trigger polarity (#1177)
* fix polarity

* fix confusing names
2020-03-08 08:57:21 -04:00
Matthew Kennedy 53a39f5e17 don't use standard sprintf/snprintf (#1174) 2020-03-07 10:28:18 -05:00
Matthew Kennedy 6d8eedf9ca Split out EtbHardware (#1168)
* start tear out motor

* fix

* nuke reconfig

* guard for test

* test fixing

* format, condense headers

* fix todos

* undo todo

* format
2020-03-03 17:56:50 -05:00
Matthew Kennedy eb46d7bd58 warnings (#1169) 2020-03-03 08:37:02 -05:00
rusEfi 040e040b4a verboseTLE8888 2020-02-27 02:11:20 -05:00
Matthew Kennedy a2a5b40ced Support disabling most/all features (#1162)
* this flag did nothing

* guard features properly
2020-02-26 18:16:35 -05:00
Matthew Kennedy d5034ab8c2 this flag did nothing (#1161) 2020-02-26 17:30:02 -05:00
Matthew Kennedy f513706b53 insert dsb on flash write (#1160) 2020-02-25 23:52:11 -05:00
rusEfi c2ab5f4871 more mc33816 2020-02-25 22:38:08 -05:00
rusefi 6b3228b9f1 TEST_33816 2020-02-25 21:35:21 -05:00
rusefi 83d7085f40 code style & pleasing LGTM 2020-02-18 08:16:19 -05:00
rusefi 4cf0bfb03b TLE8888 watchdog #917 2020-02-12 19:32:40 -05:00
rusefi c5e69cedc4 #917 progress 2020-02-12 17:37:45 -05:00
rusefi 58e711d683 and fixing build now! 2020-02-12 17:23:22 -05:00
rusefi c78ea7da6c tle8888 refactoring already - extracting method 2020-02-12 17:19:58 -05:00
rusEfi 4ce7e42fc4 Merge branch 'master' of https://github.com/rusefi/rusefi 2020-02-12 08:54:41 -05:00
rusEfi 94bdf39ed4 more commands 2020-02-12 08:53:50 -05:00
dron0gus 65bc3b1744 tle8888: disable diagnostic for outputs (#1144)
DS is not clear, may be tle8888 clears OE bit in case of error on
output.
2020-02-12 08:53:35 -05:00
rusEfi ea4714e0c2 tle8888 dump at init 2020-02-12 08:34:26 -05:00
rusEfi 37896cb927 have nothing else to do :( 2020-02-12 08:24:24 -05:00
rusEfi 61da49b3c5 tle8888 output fix 2020-02-12 08:15:55 -05:00
rusefi c2c98fbccd tle8888 output fix 2020-02-12 08:04:33 -05:00
rusEfi 41e10c177c FATAL error running MRE blinking test #1137
typo
2020-02-11 17:52:01 -05:00
rusEfi 9d5e4684b6 Merge branch 'master' of https://github.com/rusefi/rusefi 2020-02-11 17:49:49 -05:00
rusEfi 21853eb500 FATAL error running MRE blinking test #1137
still not the fix?
2020-02-11 17:49:39 -05:00
dron0gus 919034ca3e Tle8888 wd (#1143)
* tle8888: watchdog: debug over TS: remove tailing register address

* tle8888: ann console command to dump all regs
2020-02-11 17:49:14 -05:00
dron0gus ee56957205 tle8888: watchdog: debug using TS (#1142) 2020-02-11 16:56:52 -05:00
dron0gus 9fe8fe86a0 tle8888: watchdog: use FWDRespSyncCmd for last response (#1140) 2020-02-11 15:49:17 -05:00
dron0gus 59bb70f638 tle8888: watchdog: do not overwrite defaults, response table fix (#1139) 2020-02-11 15:36:53 -05:00
rusEfi 0c2d00b455 TLE8888 watchdog #917
still no luck. responses 0x85c and 0xa5c
2020-02-11 00:54:15 -05:00
rusEfi 41f274b73c WdDiag 2020-02-10 21:28:55 -05:00
rusEfi edc7ad69ae TLE8888 watchdog #917
time to start working?!
2020-02-10 18:32:32 -05:00
rusEfi 948cc7743e TLE8888 watchdog #917
maybe better start-up sequence
2020-02-10 17:08:37 -05:00
rusEfi fdb9e97fd3 TLE8888 watchdog #917 2020-02-10 14:37:52 -05:00
rusEfi ce54ae9497 TLE8888 watchdog #917
window watchdog progress
2020-02-10 13:24:09 -05:00
rusefi 223fe8ab70 TLE8888 watchdog #917
first steps
2020-02-10 11:11:00 -05:00
rusefi bc118ecede code style 2020-02-10 09:29:11 -05:00
rusEfi cfd7397e46 FATAL error running MRE blinking test fix #1137 2020-02-09 21:16:31 -05:00
rusEfi 3c874398ff tle8888 start-up clean-up 2020-02-09 20:41:25 -05:00
Matthew Kennedy c9e439e650 we already have a timestamp, don't take another one (#1133) 2020-02-08 17:48:15 -05:00
Matthew Kennedy fa8553b00d Stricter compile options (#1132)
* stricter

* don't warn on that one

* this code was dead
2020-02-08 08:05:40 -03:00
Matthew Kennedy 3a99dcd6dc move flash addr in to mpu_util (#1123)
* move flash addr in to mpu_util

* this _may_ work

* don't use offsetof

* proper header + defines
2020-02-05 08:06:38 +05:30
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
Matthew Kennedy c51f3ad303 Dont cache dma buffers (#1110)
* add no_cache

* don't disable cache

* conventions

* formatting
2020-01-29 00:32:43 -05:00
rusefi bc3797d9ef code style 2020-01-26 13:58:47 -05:00
rusefi a5f3b3f33e SCB_DisableDCache rollback 2020-01-25 21:30:19 -05:00
rusefi 5ec42fd6bc F7 SPI challenges 2020-01-24 23:52:56 -05:00
rusefi 43eb2ef9d0 refactoring trigger 2020-01-24 13:42:09 -05:00
rusefi 586eb9e6e3 code style: trying to get used to this syntax 2020-01-22 00:45:09 -05:00
Matthew Kennedy f8cd2ad3ce use NT_PER_SECOND instead of convert from microseconds (#1107)
* add NT_PER_SECOND

* missed a few

* inject tooth logger timestamp

* inject
2020-01-19 22:23:41 -05:00
rusefi a1e837d763 NT not US not MS
thank you Matt
2020-01-19 03:49:35 -05:00
rusefi 8165bfc8ed better constraint validation 2020-01-19 00:28:58 -05:00
rusefi 7927f7c035 better variable name & docs 2020-01-19 00:16:19 -05:00
Matthew Kennedy 94e30b0b38 Separate stepper control logic from hardware (#1101)
* divorce stepper from hw

* oops

* ptr not ref

* ptr not ref

* whitespace

* null check
2020-01-15 02:18:15 -05:00
rusefi a222ecdfe1 happy new year unification 2020-01-13 21:57:43 -05:00
dron0gus 406703b1b5 Gpio diagnostic (#1100)
* enums: add brain_pin_diag_e enum for pin diagnostic

* gpio core: add pin diagnostic call

* gpio: mc33810: add diagnostic support

* gpio: mc33972: add diagnostic support

* gpio: tle6240: add diagnostic

* pin_repository: output diagnostic data for gpio chips

* enums: kinetis: add brain_pin_diag_e enum for pin diagnostic
2020-01-12 10:20:10 -05:00
Matthew Kennedy 8200a3da64 AEM X-Series CAN Wideband Support (#1096)
* aem xseries

* parens to avoid operator precedence issues

* put in cfg

* disable that too

* fix sim/unit

* enough generated for ci

* this will guard correctly
2020-01-12 03:44:37 -05:00
Matthew Kennedy 0256b0358e Add timeout + raw value access for sensors (#1098)
* timeout

* inject stamp

* allow getting raw value

* plumb timeout

* fix tests
2020-01-12 03:25:23 -05:00
dron0gus 1b19aa1c57 hw: gpio: use unsigned int as pin number inside gpiochip drives (#1097)
Not brain_pin_e. Drivers like to see pin number within current
chip.
2020-01-11 10:29:41 -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
Matthew Kennedy cb1039fe23 Inject timestamps in to hwHandleShaftSignal (#1090)
* injection

* injectors
2020-01-09 21:19:11 +03:00
Matthew Kennedy 4c523b7bba stepper as thread task (#1089) 2020-01-09 09:03:23 +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
dron0gus ddc071f611 Gpio fixes (#1086)
* drivers: gpio: add MC33810 driver (skeleton)

* pin_repository: debug: do not show absent chips
2020-01-07 07:55:50 -05:00
dron0gus 489e0df3c9 triggers: fix coexistence of ICU and EXTI trigger drivers (#1085) 2020-01-07 03:42:08 -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
dron0gus d218b4e8e6 Spi fixes (#1083)
* spi: add support for SPI4

* mpu_util: spi: add 8BIT mode definitions for F4, F7 and kineris (?)
2020-01-06 08:44:23 -05:00
dron0gus 0eabad2c6f icu trigger: do not crash on incorrect brainPin (#1082)
* icu trigger: do not crash on incorrect brainPin

* Update trigger_input_icu.cpp
2020-01-03 09:13:55 -05:00
rusefi c0831e22be TL,DR 2019-12-26 23:07:15 -05:00
rusefi afc038f58b MC33816 default firmware 2019-12-26 23:06:31 -05:00
rusefi 464518403e would URLs work? 2019-12-26 22:30:18 -05:00
rusefi 5eae7e50f4 enabling TIM8 ICU 2019-12-25 09:28:51 -05:00
rusefi 4605c64a07 that's not a worth a file 2019-12-24 00:03:53 -05:00
Matthew Kennedy 976ce221fe Split CAN in to separate threads for rx/tx (#1078)
* rewrite can

* default parameters
2019-12-22 12:17:53 -05:00
Matthew Kennedy df57b24e3f Shrink output channels, now with passing CI (#1077)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order

* fix output size

* comments

* reorder fields, no sizes yet

* should've been signed

* simplify constructor mess, hook up scaling

* notes

* typo

* if -> switch

* rev signature

* correct map offset

* handle unsigned properly

* RPM is unsigned

* vss isn't scaled

* extract magic

* required generated for build

* de-scale rpm

* field type cases
2019-12-22 08:12:45 -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
rusefi 9ffda831a7 Revert "DRAFT Shrink output channels, again (#1074)"
This reverts commit ad7a383d
2019-12-21 15:02:49 -05:00
Matthew Kennedy ad7a383d74 DRAFT Shrink output channels, again (#1074)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order

* fix output size

* comments

* reorder fields, no sizes yet

* should've been signed

* simplify constructor mess, hook up scaling

* notes

* typo

* if -> switch
2019-12-21 08:55:19 -05:00
rusefi 7dc6057ac7 Revert "Shrink output channels, use scaling (#1069)"
This reverts commit 1e0f1a26
2019-12-19 22:35:06 -05:00
Matthew Kennedy 1e0f1a2628 Shrink output channels, use scaling (#1069)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order
2019-12-19 20:37:42 -05:00
Matthew Kennedy c56bd4cc97 Terrible ADC3 hack for Proteus vbatt support (#1066)
* this is a great idea!

* typo

* simplify

* simplify, cache coherency

* enable adc3 in board file

* copyright

* fix tests, probably
2019-12-17 08:34:56 -05:00
rusefi ae73ee3d65 Merge branch 'master' of https://github.com/rusefi/rusefi 2019-12-14 09:36:46 -05:00
Matthew Kennedy 4866a78e63 Re-shrink stacks (#1060)
* small stacks

* giant servo stack

* reclaim ram
2019-12-14 09:31:13 -05:00
rusefi 8cf255402f codes clean-up 2019-12-14 00:14:36 -05:00
rusefi 44c98029d7 fixing build is my most favourite time! 2019-12-13 18:02:24 -05:00
rusefi f47a1a16d1 getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
Matthew Kennedy b25f50c6ee Move slow ADC to thread #630 (#1042)
* adc with thread

* enable

* check result

* stacktual embiggenment

* tracing

* let's be type safe

* improve assert

* format, comment

* remove EFI_INTERNAL_SLOW_ADC_PWM fully
2019-12-11 09:28:11 -05:00
rusefi bcec694eb1 just a trivial massive rename: TriggerState > TriggerWaveform 2019-12-08 01:09:39 -05:00
rusefi 9521a7d6d0 PAL repair 2019-12-05 21:10:29 -05:00
rusefi 0e570b8b83 steps towards fixing PAL inputs 2019-12-05 21:04:24 -05:00
rusefi 6fb7a30ab4 following the pattern 2019-12-04 07:33:56 -05:00
andreika-git ae9c619c50 iacPidMultTbl + EFI_IDLE_PID_CIC + kinetis_hysteresis (#1043)
* rename EFI_IDLE_INCREMENTAL_PID_CIC -> EFI_IDLE_PID_CIC

* Impl. IacPidMultTable

* Kinetis: Trigger Comparator Hysteresis settings (+adaptive mode)
2019-12-04 00:37:32 -05:00
rusefi a09ee15b08 The Big Refactoring of 2019: folder structure #723 2019-12-04 00:22:34 -05:00
rusefi 9907119cd7 docs 2019-12-03 23:55:18 -05:00
rusefi 1287f187c1 lovely write-out-of-bounds in case of invalid configuration bugfix 2019-12-02 20:32:21 -05:00
rusefi d5bfd76922 "sensor chart" for aux fast analog input 2019-12-02 20:31:49 -05:00
rusefi 63d8f050bc auxFastSensor 2019-12-02 17:49:01 -05:00
rusefi 7fb375b15f fixing build 2019-12-02 09:59:53 -05:00
rusefi f9c387b42e cj125 unit test progress! 2019-12-02 01:52:54 -05:00
andreika-git 70fcb50a62 5V-compatible adcVcc + trigger_input_comp + Kinetis COMP driver impr. (#1036)
* adcVcc is not only for 3V STM32

* update ini files

* Kinetis: improve COMP driver

* Improve trigger_input_comp.cpp (hysteresis)
2019-12-01 12:08:55 -05:00
rusefi 2738fefa48 that's how we can move all fields one by one from boardConfiguration to engineConfiguration
my approach is to move fields from the bottom of BC struct
2019-11-30 10:24:37 -05:00
rusefi 349eac34de better state validation, better error codes 2019-11-29 23:41:26 -05:00
rusefi 1e1d2939ed refactoring 2019-11-29 22:09:08 -05:00
rusefi 815589825c extracing constant & more information for HW CI 2019-11-29 21:57:59 -05:00
rusefi f1acede97e steps towards dual ETB 2019-11-28 23:51:47 -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 984711655e Kinetis: fix ENABLE_PERF_TRACE and trigger_input_comp (#1031)
* Kinetis: fix ENABLE_PERF_TRACE

* Kinetis: fix trigger_input_comp
2019-11-25 00:22:26 -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
rusefi 0a891017ec Sporadic error: FATAL error: handleCycleStart #1030
more details
2019-11-24 21:59:29 -05:00
rusefi 612649e191 Sporadic error: FATAL error: handleCycleStart #1030
more details
2019-11-24 21:45:32 -05:00
rusefi 5292024a81 MapAveragingCallback schedules all cylinders at once #974
saving pennies
2019-11-24 20:48:25 -05:00
rusefi 44c04755d8 not needed since included in common_headers.h 2019-11-23 18:16:41 -05:00
Matthew Kennedy 8fd603dca9 Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi 19bdb9a35f docs & code formatting 2019-11-19 18:17:03 -05:00
rusefi b865698e23 reducing warnings 2019-11-17 08:44:07 -05:00
rusefi 9bc6d71238 Revert "OK trying partial revert now"
This reverts commit 2fe49896
2019-11-13 22:56:43 -05:00
rusefi 30c1cb89aa refactoring: time to unify digital pin API 2019-11-13 22:50:37 -05:00
rusefi f5ba5d81de looks like this part of refactoring is good? 2019-11-12 23:38:02 -05:00
rusefi 225864808b re-applying change 2019-11-12 22:56:56 -05:00
rusefi a23f6bb23e time to panic and revert more 2019-11-12 21:42:44 -05:00
rusefi 2fe4989666 OK trying partial revert now 2019-11-12 21:05:51 -05:00
rusefi 630f706f39 I have no idea what's broken 2019-11-12 20:35:07 -05:00
rusefi 12746ca91d ops that's not what I mean 2019-11-12 19:58:14 -05:00
rusefi 73003f8b64 what's the probability of efi::size breaking build? 2019-11-12 19:40:33 -05:00
rusefi 1ad591742b refactoring: time to unify digital pin API
trying to fix build
2019-11-12 19:04:33 -05:00
rusefi 586c913592 refactoring: time to unify digital pin API 2019-11-12 01:08:45 -05:00
rusefi 59130de601 refactoring: time to unify digital pin API 2019-11-12 01:08:31 -05:00
rusefi 9cb18e89f7 refactoring: time to unify digital pin API 2019-11-12 00:56:51 -05:00
rusefi 4ba7842f52 refactoring: time to unify digital pin API 2019-11-12 00:25:10 -05:00
rusefi 8bbd06d165 refactoring: time to unify digital pin API 2019-11-11 23:32:09 -05:00
rusefi 3ff2b2271a refactoring: time to unify digital pin API 2019-11-11 23:04:27 -05:00
rusefi 80ef79eded this is not great :(
#639
#971
2019-11-11 22:19:35 -05:00
rusefi 52bb665365 fixing unit tests build 2019-11-11 21:45:15 -05:00
rusefi 950d8309b9 different take on #971 2019-11-11 21:26:09 -05:00
rusefi 99c5fcbd90 different take on #971 2019-11-11 21:25:40 -05:00
DonaldBecker f345faa9d7 Compile warning clean-ups.
Removed mistakenly-added README~

(cherry picked from commit 84b30c992ac77a1563f7449e45b9fa353612fba9)
2019-11-11 20:35:20 -05:00
rusefi a1f828162a evil manual cherry 2019-11-11 20:34:09 -05:00
rusefi 7c453fb199 Strange INJ1 signal behavior (when the frequency of scheduler's timer is less than 1MHz) fix #996 2019-11-10 23:54:08 -05:00
rusefi ca0984007d 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 8898553955 consistency 2019-11-07 15:22:17 -05:00
rusefi 2530f31498 evil manual merge of https://github.com/DonaldBecker/rusefi 2019-11-06 20:01:53 -05:00
rusefi 17a2847424 evil manual merge of https://github.com/DonaldBecker/rusefi 2019-11-06 18:26:50 -05:00
rusefi 7c2f9a7c5d refactoring: removing unused parameter 2019-11-05 22:49:11 -05:00
Matthew Kennedy 19f09bb6f4 move to slow adc (#997) 2019-11-04 17:03:21 -05:00
andreika-git e20bdf4386 TLE6240 outputs fix (#994) 2019-11-01 15:49:55 -04:00