Commit Graph

295 Commits

Author SHA1 Message Date
Matthew Kennedy 368415972e read configuration from flash exactly once (#2481)
* early hw init

* s

* read configuration exactly once

* cleanup

* housekeeping

* test friendly

* ugh bad merge

* that is a noop

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-25 18:16:26 -04:00
Matthew Kennedy 53a579abbf move some initialization steps earlier (#2480)
* early hw init

* s

* Revert "s"

This reverts commit 10d3039168613cfb2b0cf1c960d2f18894745ce3.

* bor

* I can't type

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-25 16:22:03 -04:00
Matthew Kennedy 910f46267f VVT uses closed loop controller framework (#2453)
* vvt uses framework

* builds

* rename, update headers

* s

* testable

* write some basic tests

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-14 19:31:46 -04:00
Matthew Kennedy e6d24d3010 avoid various "no connect" scenarios (#2432)
* init mmc and USB earlier

* connect USB faster
2021-03-07 20:21:42 -05:00
rusefillc 3354691778 trying to fix AuxValves 2021-02-17 08:57:18 -05:00
rusefillc 95b78a48ed aux to vvt rename 2021-02-17 08:53:39 -05:00
Matthew Kennedy 55facb6613 use DECLARE_ENGINE_PTR for Engine class (#2365)
* engine cleanup

* do the cleanup

* one last spot

* expand_engine noop for firmware

* simulator
2021-02-16 16:58:54 -05:00
Matthew Kennedy c75af2ac75 properly put buffers in no-cache regions (#2357)
* configure for no cache

* this doesn't need a setting

* now we don't need invalidate

* reorder and comment

* mmc

* sw knock
2021-02-15 17:39:11 -05:00
rusefi 6c9416daa9 aux pid is now VVT 2021-02-10 12:41:38 -05:00
rusefillc 83d8bd9369 H7 compilation #2284 2021-02-06 00:37:12 -05:00
Matthew Kennedy 3cf6b67b87 fix #2269 (#2272)
* fix #2269

* cleanup
2021-02-03 08:04:22 -06:00
Andrey G 27905c6817 Chibi os 20 (#2212)
* Update ChibiOS

* Fix Makefiles includes paths

* halconf.h: remove flash hack

* mcuconf: fix EXTI ptiorityes

* Digital Input: ICU: use designated initializers, initialize 'arr'

* ChibiOS: lis302dl fix

* ADC: update to new API

* UARTConfig: timeout_cb field, formating

* ChibiOS: remove _exit, _kill, _getpid

* Fix lis302dl

* Bump config versions

* chconfig_common: cosmetic changes

* stm32f4ems: commulative config update

* Update Simulator

* ALLCSRC already contain all needed ChibiOS files.

Same for ALLINC and ALLCPPSRC

* ChibiOS fix for Simulator

* ChibiOS: port lock/unlock hook and MMC over SPI timeout

* STM32F7: update configs

* STM32F7: update linker file

* Cypress: port ADC lld to ChibiOS-20

* Cypress: port SPI lld to ChibiOS-20

* Cypress: port CAN lld to ChibiOS-20

* Cypress: fix include path for rules.ld

* Cypress: update chconf.h and halconf.h for ChibiOS-20

* Kinetis: update ADC lld to ChibiOS-20

* Kinetis: update SPI lld to ChibiOS-20

* Kinetis: update UART lld driver for ChibiOS-20

* Kinetis: update chconf.h and halconf.h for ChibiOS-20

* Kinetis: fix include path for rules.ld

* Nucleo F746: update ld script

* Nucleo F746: fix compile

* Bootloader: fix compilation with ChibiOS-20, cleanup

* Bootloader: add way to pass crosscompiler using CROSS_COMPILE

* Debug build arguments

* Simulator: fix windows compilation

Exclude syscalls_cpp.cpp from compilation
2021-01-19 15:20:35 -05:00
Matthew Kennedy 4e6c841729 boost fixes (#2230)
* fix boost pin reinit

* call boost from periodic slow

* ui

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-18 07:04:14 -05:00
Andrey G 12728ccd82 Call startSmartCsPins when applying new settings (#2194)
Only stopSmartCsPins was called from applyNewHardwareSettings.
This cause lost of CS pins for external gpio chips
2021-01-06 08:59:13 -05:00
Andrey G 71fe582ce5 Adc isAdcChannelValid helper (#2188)
* Guard define argument

* ADC: isAdcChannelValid

Check for both <= EFI_ADC_NONE and >= EFI_ADC_LAST_CHANNEL
Also check for value out of enum range (corrupted settings)

* Fix unit tests
2021-01-05 16:02:20 -05:00
Matthew Kennedy 279f8bad03 use limp mgr for trigger disable (#2145)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-26 18:12:36 -05:00
rusefi 6ddfff8fd9 Proteus is compiled without VSS feature #2122 2020-12-22 20:50:01 -05:00
rusefillc 2f15c08498 basic hw in the loop - pwm self validation #2028 2020-12-08 04:52:49 -05:00
rusefillc 3a3586f730 basic hw in the loop - pwm self validation #2028 2020-12-07 20:42:47 -05:00
rusefillc ee9aaf4e0d basic hw in the loop - pwm self validation #2028 2020-12-07 20:01:05 -05:00
rusefillc 5390fccada Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 10:55:39 -05:00
rusefillc 7b8d20108f Starter is engaged on start-up in pull-up configuration #1969 2020-11-26 10:41:22 -05:00
Matthew Kennedy ebb8ede1da squash warnings (#1984)
* warnings

* unused

* a few more

* too much

* uint16_t-ify
2020-11-23 09:43:16 -05:00
Andrey G 83f5c8e6b6 Typo fix (#1978) 2020-11-22 08:27:03 -05:00
rusefillc 3a38c837cc Starter seems to be engaged forever #1965 2020-11-18 22:45:37 -05:00
Matthew Kennedy 6b0c533d2c consolidate EFI_UNIT_TEST and friends (#1940)
* restructure

* guard c++

* idle too

* status_loop.h

* consolidate definitions

* use 1/0 instead, check for existence

* missed a few

* dead define

* defs for bootloader
2020-11-11 20:34:39 -05:00
Matthew Kennedy e8bb0cfd00 extract idle hardware to its own file (#1923)
* extract idle hardware

* should fix the build
2020-11-03 18:06:32 -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
Matthew Kennedy 4c3046a707 remove spiMtx (#1907) 2020-10-25 17:26:46 -04:00
Matthew Kennedy 8f6982dd54 disable i2c, other unused features (#1891)
* dead

* more
2020-10-20 22:24:32 -04:00
David Holdeman 9536590a25 Debounce refactor (#1809)
* 1,2,4,7,9

* 6

* fix type mismatch

* change field

* comment

* Revert "comment"

This reverts commit f7ce8ed48d015490ed82d692270198817569b5a3.

* Revert "Revert "comment""

This reverts commit 99f2d5cadcbf444bf58acf9e57a6fed61355d5be.

* Revert "change field"

This reverts commit 55ec050cd947696cdffccae6b29fe48d95ab5f17.

* rename var

* comments

* use func in init

* default values

* remove redundant check
2020-09-20 14:01:00 -04:00
rusefi c98e78640a Hellen says merge #1772 hardware.cpp 2020-09-15 15:01:31 -04:00
David Holdeman ffb5e0b1e4 switch start/stop to ButtonDebounce (#1777) 2020-09-09 08:22:15 +01:00
David Holdeman 65b60df172 Debounce pin management (#1760)
* add linked list

* macros, and use in buttonshift

* unit_tests macros

* add extern

* add parens

* move extern

* move extern

* move buttonDebounceListHead

* move buttonDebouncePointerHead

* merge gore

* undo

* reduce unused size

* don't store pointer if already initialized

* few changes

* remove oldPin

* fix merge conflict

* merge in changes commited to wrong branch

* fix definition

* out of class?

* brute force programming

* fix few problemos

* am confuse

* am confuse

* am confuse

* am confuse

* oldPin snuck in

* move to public?

* define again

* try constexpr

* def in cpp

* remove constexpr

* fix def

* fix?

* update active

* fix a few things
2020-09-08 11:29:38 -04:00
Matthew Kennedy 1b07647e72 Software knock detection (#1730)
* s

* science

* set pin mode

* turn stuff off so it fits

* filtering maybe

* filtering actually works

* generate filter parameters internally

* shorter window

* guard behind enable flag

* use checked in filter

* add biquad reset

* tracing

* const

* exec order

* do it from a thread

* smaller buffer, comment

* configure with header

* only for proteus

* oops

* unused

* not needed

* guards

* pin config

* don't need that include

* precook filter steady state

* define sample rate

* config enable switch
2020-08-28 21:13:50 -04:00
rusefi bdbee0d38b VVT support for VAG trigger #883 2020-08-24 02:01:50 -04:00
rusefi 915f8c50d9 TS SD integration #1653 2020-08-02 17:58:57 -04:00
Matthew Kennedy f2de8e425f dead 2020-07-29 02:49:37 -07:00
rusefi d3ba22063c refactoring 2020-06-21 15:40:59 -04:00
kon ae44c0fce7 Aux serial (#1422)
* aux serial updates from last PR

* trying to guess

* wow that's old! also not working maybe?

* hiding diag code which was messing with GP2/GP3 i.e. TLE8888_PIN_22 TLE8888_PIN_23

* date

* Mc33 undervolt (#1421)

* mc33 flash check

* DI sanity checks for setting HV config

* mc33 under voltage check

* mc33 under voltage check

Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>

* fixed {}

Co-authored-by: rusefi <rusefillc@gmail.com>
Co-authored-by: NOx-z <50815960+NOx-z@users.noreply.github.com>
Co-authored-by: Christopher W. Anderson <gitstuff@pswitch.com>
Co-authored-by: kon <dev@triggerdevel>
2020-05-11 12:17:42 -04:00
shadowm60 54f7ab268c Vss over Can implementation proposal (#1340)
* Vss over Can implementation proposal

Working for BMW e46

* fixed Firmware CI?

* kinetis fix.

* minor fixes
2020-04-21 20:48:37 -04:00
Matthew Kennedy 0ac3e06149 cleanup extern mess (#1237)
* cleanup

* move outside define
2020-03-29 19:06:03 -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
rusefi e58f00692e start/stop progress 2020-03-23 10:32:41 -04:00
Matthew Kennedy 61c4d0fe83 save some ram (#1211)
* remove dead stuff

* why store those pointers twice?
2020-03-22 19:06:29 -04:00
rusefi fb115578dc start/stop 2020-03-20 20:45:35 -04: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 d5034ab8c2 this flag did nothing (#1161) 2020-02-26 17:30:02 -05:00
rusefi 6b3228b9f1 TEST_33816 2020-02-25 21:35:21 -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 63e3e84e08 happy new year 2020-01-08 00:02:40 -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
rusefi 4605c64a07 that's not a worth a file 2019-12-24 00:03:53 -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
rusefi 6fb7a30ab4 following the pattern 2019-12-04 07:33:56 -05:00
rusefi d5bfd76922 "sensor chart" for aux fast analog input 2019-12-02 20:31:49 -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
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
Matthew Kennedy 8fd603dca9 Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
rusefi db24091933 60/2 VW trigger has running issue on 19/10/19 snapshot fix #986 2019-10-30 20:51:20 -04:00
rusefi 26fc391ffe half-solution would not pass CI, have to merge full solution without real HW test
#975
2019-10-19 07:35:21 -04:00
rusefi 1602bdbebc steps towards #975 2019-10-18 19:45:32 -04:00
rusefi eff84bcfeb steps towards #975 2019-10-18 18:54:32 -04:00
Matthew Kennedy eb418f764b trace all the things 2019-10-14 23:34:12 -07:00
Matthew Kennedy 076b10fcb6 experiment 2019-10-11 17:43:21 -07:00
Matthew Kennedy 9471a23484 low hanging performance fruit (#969) 2019-10-08 20:44:59 -04:00
rusEfi 0fd1f27e1b ETB target is using integer values #945
first we will write a unit test
2019-09-22 00:36:13 -04:00
rusefi 0952b84aad unit tests progress 2019-09-19 21:41:52 -04:00
rusefi d57779b686 F7 nucleo does not work?
funny, it was about some very unused feature
2019-08-02 01:36:02 -04:00
rusefi 5d2afd2331 refactoring: better file name 2019-07-06 20:15:49 -04:00
rusefi bad507558a Refactoring: OS access should be explicit #867 2019-07-04 03:25:35 -04:00
rusefi 2164661274 undoing wrong fix & better fix for #805
also generator logging improvements
This reverts commit 96270758c9.
2019-06-30 14:28:47 -04:00
Matthew Kennedy 90cc375f22 Fix F7 ADC #854 (#855)
* invalidate before reading ADC

* fix degree signs

* comment

* remove unecessary alignments, add comments
2019-06-23 09:21:12 -04:00
rusefi 96270758c9 "Calibrate TPS" broken in TS fix #805 2019-06-17 22:00:34 -04:00
rusefi ccc9a23deb code style 2019-06-05 21:39:12 -04:00
rusefi 93c182a269 Trigger: warning code on normal engine start up #669 2019-05-11 10:46:17 -04:00
dron0gus 1b19a36b9e Smart gpios fixes 3 (#795)
* pin_repository: provide readable pin names in error cases

* io_pins: remove getBrain_pin_eExt

We have getBrain_pin_eExt in io_pins.cpp and hwPortname in
pin_repository.cpp.
First uses auto-generated enums, second one uses runtime data to
provide name of hw pin.
Removing first saves us about 2K of flash couse big auto-generated
switch with pin names no more used by anyone and gets optimized out.

* gpios: mc33972: CS pin is now requested at smart_gpios.pcc

* getSpiDevice: support SPI4

* smart_gpios.cpp: startSmartCsPins set CSs to inactive state

OutputPin:initPin initializes pin with false value. This is active
state for SPI Chip Selects. Set to 1 to deselect all chips.
2019-05-09 18:09:24 -04:00
rusefi 2c24571ddb dreams of two ETBs 2019-05-05 12:02:42 -04:00
andreika-git 20b6a17695 EFI_CONSOLE_UART_DEVICE, flash->hw_ports, Fix TLE6240 and misc.fixes (#793)
* rename EFI_CONSOLE_UART_DEVICE -> EFI_CONSOLE_SERIAL_DEVICE

* Impl. EFI_CONSOLE_UART_DEVICE

* Move flash source files to ports/stm32/ & hw_ports.mk

* Fix TLE6240

* Fix EFI_NO_CONFIG_WORKING_COPY

* EFI_PRINT_MESSAGES_TO_TERMINAL
2019-05-05 11:06:27 -04:00
rusEfi 71976df42f MC33816 integraion #784
bare bones skeleton
2019-05-03 21:13:25 -04:00
rusefi 255a25974d refactoring - reducing duplication 2019-04-21 00:04:46 -04:00
rusefi d6cccf7615 USB and TLE8888 not working for F4 or F767 #764 2019-04-20 23:49:26 -04:00
rusefi c12be46861 USB and TLE8888 not working for F4 or F767 #764 2019-04-19 15:11:00 -04:00
rusefi 4ac6fb2216 USB and TLE8888 not working for F4 or F767 #764 2019-04-19 14:22:49 -04:00
rusefi 334b5d1992 steps towards smarter gpio 2019-04-13 12:02:34 -04:00
rusefi 50c481924e steps towards smarter gpio 2019-04-13 10:58:52 -04:00
rusefi fe1f871a69 defined(__DOXYGEN__) ? #748 2019-04-12 20:52:51 -04:00
rusefi 19917361a2 FATAL error loading TS project
fix #736
2019-04-09 22:15:55 -04:00
dron0gus 69df5d4b50 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 acf1216ab0 rusEfi settings editor is broken for one byte enums fix #709 2019-04-08 11:57:16 -04:00
rusefi 05c7baa7a1 CONFIG_RESET_SWITCH_PORT flexibility 2019-04-06 08:41:37 -04:00
rusefi b23f9e9cf4 we need TLE8888 driver #714 2019-04-04 19:56:03 -04:00
dron0gus 3163d04dfb console vs ts cleanup and compilation fix for linux (#728)
* console vs ts cleanup

* include is case-sensetive in linux
2019-04-01 23:04:49 +02:00
andreika-git c7b1bb1ff1 More portability & bootloader fix (#720)
* fix bootloader

* EFI_FSIO

* EFI_EMULATE_POSITION_SENSORS, EFI_BOARD_TEST, EFI_AUX_PID, EFI_JOYSTICK
2019-03-29 15:46:15 +01:00
rusefi 76b7554491 we need TLE8888 driver #714 2019-03-26 12:30:30 -04:00
rusefi 9873606991 more SPI speeds and TLE8888 to full pinout 2019-03-26 10:35:33 -04:00
rusefi ddb0fc6510 better error handling for invalid SPI settings 2019-03-26 09:38:23 -04:00