Commit Graph

293 Commits

Author SHA1 Message Date
Matthew Kennedy dade25ef34
move chconf/mcuconf/halconf in to hw_ports (#2321)
* move f4 config files

* don't need this

* f7

* f7

* h7

* this was duplicated

* turn off smart build

* loader too

* update prometheus paths

* bootloader should include confdir

* fix the flash size while we're at it

* move chconf_common

* use wait

* normalize board.mk

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-10 19:38:24 -05:00
rusefillc d80ed37040 reducing code duplication 2021-02-05 23:56:22 -05:00
rusefillc 6a2473ccc1 reducing code duplication 2021-02-05 23:45:47 -05:00
rusefillc 6915852a7a reducing code duplication 2021-02-05 23:41:26 -05:00
rusefillc 92625913d2 code reuse good, code duplication bad 2021-02-05 22:19:24 -05:00
rusefillc 5d1c248e4d No hablo inglés 2021-01-28 20:43:23 -05:00
Andrey G 777979c3ca
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
Andrey G f96ae7525f
Gpio cleanup #2 (#1530)
* pin repository: PIN_USED size in now equal to brain_pin_e enum size

expect special values...

* smart gpios: register gpio chip to given base (no auto-allocation)

* drivers: gpio: core: add gpiochip_unregister()

* drivers: gpio: MC33810 intergation

* smart_gpio.cpp: cleanup ifdef mess, minor cleanups

* gpio: core: additional check for gpio ranges overlaps

* unit test: gpio chip: fixed and extended
2021-01-06 18:29:47 -05:00
Matthew Kennedy 55ebe223a7
Partition configs by board type (#2106)
* remove old flag

* flags

* reorder switch

* oops
2020-12-22 21:54:40 -05:00
rusefillc 8f2116921c trigger and start button pins not displayed by "pins" command fix #2084 2020-12-16 22:24:19 -05:00
Matthew Kennedy d62618c5f8
prototype wideband firmware update (#2074)
* add submodule for firmware

* ts

* add updater

* add bench_test

* don't collide idx

* feature flag

* send acks

* fix timeout logic

* ui

* do it on the bench thread

* guard

* guard

* only do twice

* guard

* bump version

* update

* file name

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-16 08:28:53 -05:00
Matthew Kennedy 8ad2080df7
switch stm32 scheduling to use PWM driver (#1983)
* move to folder

* extract hardware part of microsecond_timer

* dead ST forum link

* de-volatile

* simulator build

* guard

* switch stm32 to pwm timer

* comments

* f7 mcuconf

* simulator

* guard

* warning

* header, cleanup

* constant

* less magic

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-12-11 00:44:40 -05:00
shadowm60 864bd7fa73
Dyno view proposal (#1999)
* DynoView creation

module implementation and unit_tests

* update acc algo

we only calcualte new acceleration value if speed has changed, not on every callback.

* added acceleration ts_channel

* fixed broken unit tests

* fixed accel sign

* review updates

* Update test_dynoview.cpp

fix unit_tests

* Update engine_controller.cpp

Fix .ram4 unused size

* Update test_dynoview.cpp
2020-12-04 20:28:48 -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
Matthew Kennedy bb8650179c
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
rusefillc 896a55d78e GDI Epic #1448 2020-11-09 22:53:23 -05:00
Matthew Kennedy e0bb7ad581
disable i2c, other unused features (#1891)
* dead

* more
2020-10-20 22:24:32 -04:00
Matthew Kennedy 3aa4f2bd97
trigger decode cleanup and perf (#1853)
* trigger decode cleanup

* test config ptr patchup

* disable CDM by default
2020-10-04 19:29:26 -04:00
shadowm60 8d8e8ec260
Launch control - experimental (#1816)
* Update tachometer.cpp

Initial implementation of E30 M3 Tach output solution #907, unit_test plus debugging next

* tacho unit tests

First successfull unit test for tachometer

* RAM adjustment so it would link

* refactoring tacho, broken!

* starting to make some progress...still fails after a few seconds

* Rework with SW PWM

* Update after code review

* unit_test update

* First working unit_test

* Update .gitignore

* Update engine_controller.cpp

* Update engine_controller.cpp

* Update tachometer.h

* Update test_tacho.cpp

* Switched UART DMA on

* Revert "Switched UART DMA on"

This reverts commit 4a23974c431e0e7fd760595d2161e74e6854897e.

* enable launch control

make use of already existent code + integration

* Delete compile_frankenso_all.sh

remove it since it is not part of the project

* Update main_trigger_callback.cpp

broke unit_Tests

Co-authored-by: rusefi <rusefi@users.noreply.github.com>
2020-09-22 16:25:27 -04:00
rusefi 31befbb7d8 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/config/boards/common_make.bat
#	firmware/controllers/algo/engine.cpp
#	firmware/controllers/system_fsio.txt
2020-09-11 03:59:06 -04:00
rusefi 24d91947a6 Hellen says merge #1772 fast ADC 2020-09-11 03:54:07 -04:00
rusefi e9c273d925 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/config/boards/kinetis/efifeatures.h
#	firmware/config/boards/prometheus/efifeatures.h
#	firmware/config/boards/skeleton/efifeatures.h
#	firmware/config/boards/subaru-ej20gn/efifeatures.h
#	firmware/config/stm32f4ems/efifeatures.h
#	firmware/config/stm32f7ems/efifeatures.h
2020-09-07 15:32:15 -04:00
rusefi d424720ceb Hellen says merge #1772 efifeatures 2020-09-07 15:27:29 -04:00
rusefi 41b5d5de06 Revert "Hellen says efifeatures"
This reverts commit 63eb179d
2020-09-07 12:24:50 -04:00
rusefi 63eb179ddf Hellen says efifeatures 2020-09-07 12:08:36 -04:00
rusefi 72290df894 a bit of flexibility 2020-08-26 23:08:48 -04:00
Matthew Kennedy 4e81b67ca3
harmonize blocking factor (#1709)
* harmonize blocking factor

* static assert
2020-08-21 14:12:28 -04:00
Andrei 068f21c616 vss_exti untested 2020-08-13 18:27:31 +03:00
rusefi 0748e57ad9 EFI_IDLE_INCREMENTAL_PID_CIC should be a runtime parameter fix #806 2020-07-12 21:53:55 -04:00
rusefi cbc3d5045b UART DMA for "primary" connector #1528 2020-06-22 00:46:17 -04:00
rusefi 38c3f119b1 UART DMA for "primary" connector #1528 2020-06-21 23:22:45 -04:00
rusefi 63e936a5e8 UART DMA for "primary" connector #1528 2020-06-21 23:12:08 -04:00
rusefi 50d25f9ad0 UART DMA for "primary" connector #1528 2020-06-21 21:50:41 -04:00
rusefi 7d4f3f73f5 UART DMA for "primary" connector #1528 2020-06-21 21:47:51 -04:00
rusefi 294ee55525 refactoring connectivity 2020-06-21 20:47:46 -04:00
rusefi 2a64b6eb1a refactoring connectivity 2020-06-21 16:37:33 -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
Matthew Kennedy 125701f514
free up timers for hardware PWM (#1459)
* free up timers

* put that back
2020-05-20 19:14:42 -04:00
rusefi af8de4c84f Revert "Minor fixes (#1442)"
This reverts commit 0c095ddd
2020-05-16 19:28:49 -04:00
dron0gus 0c095ddd15
Minor fixes (#1442)
* exti trigger: mark pins used, handle errors

* MC33810 add to smart gpios
2020-05-16 19:15:49 -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
kon 8d35c35035
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
rusefi 75b3db09f1 reducing confusion? 2020-05-04 19:26:13 -04:00
rusefi b9733c5901 refactoring: using brain_pin like the rest of the code 2020-05-02 23:47:10 -04:00
rusefi bd14bd7248 what could possibly go wrong 2020-05-02 22:34:31 -04:00
Matthew Kennedy 1f16228bdb
Perf Trace Improvements (#1383)
* add tid field to thread

* change perf trace format

* trace consumers

* Update java parsing

* guard for test + kinetis

* stubs

* ram

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-29 10:53:35 -04:00
Matthew Kennedy 6ce9ae4481
move hooks in to common chconf.h (#1376)
* move hooks in to common

* but not for kinetis

* don't use c style void arg

* kinetis needed more, not less

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-27 16:07:05 -04:00
Matthew Kennedy 28d0cfa91e
reclaim (#1377)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-04-27 14:36:26 -04:00
dron0gus 474d5e64cf
Update chibios (#1364)
* Update ChibiOS

* Fix coexistance of ChibiOS and our flash drivers

* Add 'int' = internal prefix for all on-chip flash functions

This avoid conflict with ChibiOS functions available after
enabling HAL_USE_EFL

* Exclude ChibiOS flash driver from bootloader

* Makefile magic?

* Kinetis: fix build after ChibiOS update and switching to SMART_BUILD

* Bootloader now use SMART_BUILD too
2020-04-25 16:32:32 -04:00
Matthew Kennedy b6ee79327d
switch ADC to gpt (#1343)
* switch to gpt

* halconf

* fix kinetis

* fix kinetis

* fix guards

* comment cleanup
2020-04-23 22:50:18 -04:00
rusefi 66570a0f28 smart gpio clean-up 2020-04-06 14:28:08 -04:00
rusefi d3745c0f9e smart gpio clean-up 2020-04-06 14:13:29 -04:00
rusefi 5c2794c2e0 critical error usability improvements 2020-03-28 21:28:32 -04:00
rusefi 43440afade launch control #203 2020-03-23 20:44:34 -04:00
Matthew Kennedy 6c747ebbbe
this flag did nothing (#1161) 2020-02-26 17:30:02 -05:00
Matthew Kennedy 6307a446d3
Omit canned configs from Proteus (#1159)
* omit presets from proteus

* ifdef guard
2020-02-25 19:46:22 -05:00
Matthew Kennedy 8647abd22b
Add single flag for omitting PnP configs (#1157)
* switch to single enable flag

* engine_configuration.cpp
2020-02-24 19:08:02 -05:00
rusefi 9decb79a5e migrate slow ADC to software timer so that TIM8 is also available for input capture #630 2020-02-24 00:12:51 -05:00
rusefi 7c714e5727 opening the door to boost controller! 2020-01-31 14:29:52 -05:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
rusefi d575ffe5c1 enabling TIM8 ICU 2019-12-25 09:28:51 -05:00
Matthew Kennedy ae55eaad67 Re-shrink stacks (#1060)
* small stacks

* giant servo stack

* reclaim ram
2019-12-14 09:31:13 -05:00
rusefi ff9383eea1 fixing build is my most favourite time! 2019-12-13 20:51:04 -05:00
rusefi 6f2cb66d9a fixing build is my most favourite time! 2019-12-13 20:06:45 -05:00
Matthew Kennedy 003c1c17f0 Make stacks smaller (#1055)
* remove factually incorrect comment

* shrinky stacky

* shuffle comments
2019-12-13 16:47:26 -05:00
Matthew Kennedy 37473bd26e 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 813b6aa6ce The Big Refactoring of 2019: folder structure #723 2019-12-04 01:11:10 -05:00
andreika-git 2a39c69f51 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
Matthew Kennedy e5c2273d13 Harmonize chconf (#1034)
* turn off f4 kernel features we don't use

* make f7 match f4

* make mcuconf look right
2019-11-30 09:32:14 -05:00
Matthew Kennedy 928805dcc1 works on f4 (#1021) 2019-11-21 15:45:17 -05:00
rusefi 9249a1fd95 would this fix CI? 2019-11-19 22:54:36 -05:00
Matthew Kennedy 93d24dfc0b Merge remote-tracking branch 'origin/master' into perf-tracing 2019-11-19 16:28:58 -08:00
Matthew Kennedy 7e1cf570b2 fix (#1006) 2019-11-13 18:35:21 -05:00
rusefi 5c46ad25a7 review feedback 2019-11-03 10:36:35 -05: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 f23eee6492 why was RTC disabled? 2019-09-20 18:22:39 -04:00
rusefi 86e421e0ee fatalErrorPin setting is not used #926
reducing configuration fragility
2019-09-09 21:44:48 -04:00
rusEfi a6881aa0ab tiny progress 2019-09-02 11:48:49 -04:00
rusefi dece505dec fixing build? 2019-08-06 22:33:27 -04:00
rusefi 91f9a50b3f F7 nucleo does not work?
funny, it was about some very unused feature
2019-08-02 01:36:02 -04:00
rusefi d0d546e500 EFI_TOOTH_LOGGER 2019-07-07 15:22:46 -04:00
rusefi 550ba208eb Refactoring: OS access should be explicit #867
explicit value for doc mostly
2019-07-06 19:30:56 -04:00
rusefi 7548a5da6d turning whatever off 2019-07-05 20:40:21 -04:00
rusefi f9f1e748dc Missing ADC Pins for ADC3, PF port #785 2019-05-14 16:38:14 -04:00
rusefi b455732112 docs 2019-05-07 10:10:15 -04:00
andreika-git b80d95578d 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 28b6efa003 #787 2019-05-05 10:26:16 -04:00
rusefi d4c49fd8fa fixing F7 build 2019-05-03 22:12:57 -04:00
rusEfi 8afee0fd90 MC33816 integraion #784
bare bones skeleton
2019-05-03 21:13:25 -04:00
rusefi 14831e1da8 electrical noise during tuning ETB causes full tune reset #775
this fix did not seem to work :(
2019-04-25 00:10:39 -04:00
rusefi bed7dd5684 refactoring - reducing duplication 2019-04-21 00:04:46 -04:00
rusefi 537b0963dc USB and TLE8888 not working for F4 or F767 #764 2019-04-20 22:38:56 -04:00
rusefi 723a54021e USB and TLE8888 not working for F4 or F767 #764
changing order of compilation in order to change which version is hw_tested
2019-04-20 22:13:50 -04:00
rusefi bb04ec40f9 USB and TLE8888 not working for F4 or F767 #764
starting not to like smart chips
2019-04-20 16:50:03 -04:00
rusefi fff7ec8a01 USB and TLE8888 not working for F4 or F767 #764
continuing the guessing game
2019-04-20 14:58:01 -04:00
rusefi 5a522cf81e USB and TLE8888 not working for F4 or F767 #764
nope, still fails :(
2019-04-20 12:48:01 -04:00
rusefi 18493a54f3 USB and TLE8888 not working for F4 or F767 #764
interesting?!
2019-04-20 12:23:16 -04:00
rusefi dcff861918 USB and TLE8888 not working for F4 or F767 #764 2019-04-19 13:57:40 -04:00
rusefi f7ea6c8cbe USB and TLE8888 not working for F4 or F767 #764 2019-04-19 06:33:49 -04:00