Commit Graph

187 Commits

Author SHA1 Message Date
Andrey G 859c4f3902 Settings ext storage (#3155)
* flash_main.cpp: reorder code for easy integration of ext storage

* Add EFI_STORAGE_INT_FLASH option

Default set to TRUE

* Add ChibiOS's Managed Flash Storage to build

* Add support for QSPI flash (SST26F064A tested)

* board: subaru: enable WSPI and NOR flash drivers

* Add option to save settings on ext flash MFS partition

* board: subaru: store settings on QSPI NOR flash
2021-08-14 09:36:08 -04:00
Matthew Kennedy f44a84b40c set up precompiled header (#2971)
* ignore

* set up precompiled header

* makefile

* fixes

* cleanup

* only depend cpp on pch

* efifeatures in pch

* f7 efifeatures

* consolidate

* simulator

* proteus build

* error handling is a good one

* bootloader pch

* don't auto include pch

* dirs

* delete on clean

* bootloader cleans

* clean.sh deletes pch

* disable in bl for now

* there was a typo so maybe it'll work now

* remove todo

* don't need that any more

* don't need these parts

* don't need this part

* undo changes

* use a different cpp as example

* s

* Revert "cleanup"

This reverts commit 8de8698490f5d09c2df753f00a89751aa898be9a.

* also unnecessary now

* buh

* comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-25 21:23:23 -04:00
rusefi 038990b288 docs 2021-07-09 13:29:03 -04:00
Andrey G d508537374 Chibios-Contrib for stm32 (#2903)
* Add Chibios-Contrib for STM32F/H too

* ports: stm32: add community hal and cmu configs for STM32

* ports: stm32: community: disable CRC driver
2021-07-05 09:53:45 -04:00
Matthew Kennedy 6bfaed64db lua pwm hooks (#2687)
* pwm hook

* dedicated pins

* write hook

* UI

* more info

* zero based, clamp

* memory

* don't compile lua in bootloader at all
2021-05-20 19:01:17 -04:00
Andrey G 0faa8a0166 Hw layer rearrangement (#2705)
* Fix simulator compilation

* HW_SENSORS_SRC -> HW_SENSORS_CPP
2021-05-16 14:11:28 +03:00
rusefillc f72db1df9d same line twice 2021-05-07 22:03:28 -04:00
Matthew Kennedy addf97ee08 prep for lua (#2589)
* thread priority

* build

* makefile prep

* call startup

* s
2021-04-27 07:57:08 -04:00
Matthew Kennedy 8edb115113 Embed ini (#2417)
* replace null device with rusefi ini

* comment

* warning

* stub ramdisk for when we don' thave an image

* maybe generate the image with a build

* install mtools

* fail on error

* install deps _before_ we need them

* embed a little readme

* oops
2021-03-03 07:50:53 -05:00
Matthew Kennedy f9536791f0 set MCU properly (#2371) 2021-02-17 15:25:57 -05:00
Matthew Kennedy e3dadd3d51 implement null block device (#2341)
* implement null device

* fix build
2021-02-13 08:53:10 -05:00
Matthew Kennedy adff68748c 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
Matthew Kennedy c0757a7d13 simplify MCU selection (#2308)
* set mcu type in hw_ports

* move f4 linker script

* move f7 linker script

* don't set default linker file in makefiles

* extra line

* prometheus actually didn't depend on anything special for f469

* dead line

* h7

* dead
2021-02-08 02:11:44 -05:00
rusefillc 1c51e06e35 let's build for h7 2021-02-05 20:58:34 -05:00
Matthew Kennedy e22a9e9d02 -g3 to -g (#2256)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-31 14:13:55 -05: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
Andrey G d134fabc51 Simplify Makefile, unify board.mk files (#2229)
* Proper way to add lis302 driver

* Proper way to add license directory to includes

* Makefile: simplify

All ChibiOS stuff is accumulated in ALLCSRC, ALLINC and so on.

* board.mk: append sources and includes to ALLSRC, ALLCPPSRC, ALLINC

* Cypress: fix CANv2 includence into build
2021-01-17 09:32:06 -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 554304dac3 switch to single precision constants (#1880)
* adjust builds

* fix test
2020-10-14 20:04:35 -04:00
rusefi 566b246efb Hellen says merge #1772 2020-09-26 04:13:02 -04:00
rusefi 7fa7ac6c37 Merge remote-tracking branch 'origin/Hellen_fork_point' into master
# Conflicts:
#	firmware/Makefile
#	firmware/hw_layer/smart_gpio.cpp
2020-09-09 17:19:41 -04:00
rusefi 2cbb1c4427 Hellen says merge #1772 smart build by default 2020-09-09 16:53:54 -04:00
rusefi 9a33e922af The Big Refactoring of 2019: folder structure #723 2020-08-02 20:46:40 -04:00
rusefi 0ccde6f937 Makefile clean-up 2020-05-25 13:42:55 -04:00
Matthew Kennedy e6e48ce66c binary logging (#1443)
* field support

* tests

* makefiles

* test data too

* missing include dir

* write correct thing

* fix one test

* fix test

* omnomnomnom ram

* format

* use defined names

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-17 15:56:37 -04:00
dron0gus d5a76b5dda 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
rusefi b6780ab9d0 wow maybe build time magic?! by DronoGus 2020-04-25 12:07:57 -04:00
rusefi b7324c9a51 proteus-f4 was requested 2020-03-18 11:37:53 -04:00
rusefi 61f7851264 progress 2020-03-13 20:36:07 -04:00
Matthew Kennedy c14381a393 default to O2 (#1155) 2020-02-24 21:49:04 -05:00
Matthew Kennedy a08946c2f5 Fix master (#1134)
* Revert "something went very wrong."

This reverts commit e0fb325d5a.

* Revert "trying to fix build broken by "Sensor reconfiguration while running (#1131)""

This reverts commit 55e8ee5052.

* Revert "partial Revert of "Stricter compile options (#1132)""

This reverts commit b0d7cc9a22.

* temp prometheus fix

* fix bootloader

* fix batch files
2020-02-08 16:34:29 -05:00
rusefi b0d7cc9a22 partial Revert of "Stricter compile options (#1132)" 2020-02-08 07:08:22 -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
rusefi 431a21943b The Big Refactoring of 2019: folder structure #723 2019-12-03 23:52:44 -05:00
rusefi 7c8cba6c5d shared GCC settings between projects 2019-12-02 10:26:16 -05:00
rusEfi f68241bc35 development into unit tests, makefile cleanup 2019-11-19 20:05:12 -05:00
rusefi acb9506510 Trying latest gcc 9 #1001 2019-11-07 11:13:32 -05:00
Matthew Kennedy ccb4c51e50 Sensors: composition >> inheritance (#953)
* functional sensors

* format

* tests

* sim makefile

* eol

* format tests
2019-09-24 21:11:41 -04:00
rusEfi 5b5bef4e3c This black magic improves hard fault debugging experience 2019-09-22 21:28:19 -04:00
Matthew Kennedy dfcc9dba04 add sensor framework, tests (#929)
* add framework, tests

* move oil pressure to new way

* add init logic

* brackets on the same line

* spaces -> tabs

* spaces -> tabs for tests

* bracket on same line

* hook up sensor mocking

* add nan check

* fix nan check

* I wrote an essay

* casing

* only init if we have a sensor to init

* style, actually call init

* format

* fix casing

* typo

* implement linear sensor

* wire up producer

* smarter limiting

* setup comments

* add reporting

* doxyfile

* oops

* add adc subscription

* clarity

* fix logic

* multiply voltage

* test styling

* test guards

* remove dependencies

* linear sensor test

* remove unused

* fix merge

* format, implicit convert op

* explicit

* format tests

* fix merge
2019-09-21 14:33:38 -04:00
rusEfi 475377dcfc DFU command & refactoring 2019-08-03 19:58:38 -04:00
rusefi bf6bbdc190 software jump to DFU #809 2019-07-28 12:33:47 -04:00
Matthew Kennedy 0e70da4ef0 enable LTO (#825) 2019-06-04 19:59:37 -04:00
rusefi 5be8a99ca0 Try ccache #769 2019-04-20 21:35:14 -04:00
rusefi eb5926e39a Try ccache #769 2019-04-20 21:31:24 -04:00
rusefi f6eb829fef cj125 and hip125 and else SPI broken with chibi18 migration #757 2019-04-14 18:09:58 -04:00
dron0gus 12e07bc3ab Some more include fixes for linux (#738)
* Some more include fixes for linux

* Pass cross-compile path through CROSS_COMPILE

* Lower-upper case conversion fixes for linux
2019-04-10 01:12:35 +02:00
rusefi e30dfaf333 reducing duplication
removing unused (?) defines
removing value space overlap between PROJECT_BOARD and PROJECT_CPU
2019-04-09 18:37:25 -04:00
rusefi f3942334f7 helping linux build a little bit 2019-04-09 18:13:11 -04:00
rusefi df62ae6a4b The Big Refactoring of 2019: folder structure #723 2019-04-05 01:41:24 -04:00
rusefi c993e1f429 The Big Refactoring of 2019: folder structure #723 2019-04-05 01:02:34 -04:00
rusefi b23f9e9cf4 we need TLE8888 driver #714 2019-04-04 19:56:03 -04:00
rusefi 0121a7bc5b The Big Refactoring of 2019: folder structure #723 2019-04-02 23:19:21 -04:00
rusefi 105d82bdf5 Firmware Update via UART and/or USB #398
default bootloader
2019-04-01 02:51:34 -04:00
andreika-git 03a8e68b2d trigger_input_icu, EFI_ENABLE_MOCK_ADC, HALINC_CONTRIB (#724)
* trigger_input_icu.cpp

* EFI_ENABLE_MOCK_ADC

* $(HALINC_CONTRIB)
2019-03-31 23:15:32 +02:00
rusefi 583d189e3b The Big Refactoring of 2019: folder structure #723 2019-03-31 16:33:16 -04:00
andreika-git a79175f6ef 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 11e60e35bf we need TLE8888 driver #714 2019-03-25 15:08:32 -04:00
rusefi 5903fc0e3d fixing legacy folder name 2019-03-20 08:45:15 -04:00
dron0gus 68884cc4ae gpiochips API, core and unit test (#703)
* Add external gpiochips driver API and core

* gpiochips: add unit test
2019-03-12 10:12:37 -04:00
rusefi a3b150a171 Migrating to chibios18 (#687)
* first step #631

* chconf #631

* no EXT driver

* #631 progress

* #631 WOW it already compiles?!

* #631 simulator progress

* #631 CAN is back

* more changes about 25MHz

* Migrate to Chibios 18 stable #631

* undoing some merge mistake?

* little mess

* Migrate to Chibios 18 stable #631

* Migrate to Chibios 18 stable #631

* Migrate to Chibios 18 stable #631
joystick works!

* Migrate to Chibios 18 stable #631
done?!
2019-02-05 18:36:25 -05:00
rusefi 583e6d0a70 docs by Matt K 2019-01-06 20:48:15 -05:00
Matthew Kennedy 7154da1f5f Improve wall wetting AE to use time constant (#650)
* impruv

* c++17

* add tests, docs
2019-01-06 20:45:51 -05:00
rusefi 4fef97fb76 #638 2018-12-31 10:17:55 -05:00
rusefi ade7fd73bd fix #375 2018-12-28 21:43:46 -05:00
rusefi e8579e7e8e reviving stm32f1 2018-12-26 22:17:51 -05:00
rusefi f9d8c37cda progess 2018-12-16 00:55:03 -05:00
rusefi 1a6e329958 reducing duplication 2018-12-16 00:22:24 -05:00
rusefi 421f378f0e progress 2018-12-16 00:21:15 -05:00
rusefi d421d358e8 no one is reading the bottom of https://github.com/rusefi/rusefi 2018-12-13 21:29:24 -05:00
andreika-git 96dfebc542 STM32 Nucleo144-F767ZI board: Initial support (#620)
* More EFI_ #ifdefs for config flexibility

* Even more config flexibility

* New firmware/config/stm32f7ems/* files

* New firmware/config/boards/NUCLEO_F767/* files

* New firmware/hw_layer/stm32f7/* files

* Fix for EFI_USB_SERIAL

* Adding #if defined(STM32F7XX)

* SPI flags changed in F7: SPI_CR1_DFF --> SPI_CR1_CRCL

* I2Cv2 config changed in F7

* More versatile CCM defines

* Makefiles

* Double #ifs cleanup

* docs
2018-11-16 07:40:06 -05:00
rusefi 573bceb84a #616 idle into simulator 2018-10-30 08:42:36 -04:00
rusefi cdf01513f0 reducing contrib dependency 2018-08-31 21:02:50 -04:00
rusefi 5f24be5233 reducing import 2018-08-31 20:50:17 -04:00
rusefi ddd8a40ed2 #517 fixed 2018-07-28 16:39:23 -04:00
rusefi 5a7b344351 proper submodule folder name 2018-01-23 23:00:10 -05:00
rusefi 0b0f9efa3a Feature 463 (#464)
* #463

* #463

* default .LD filename

* #463

* fixing start-up by disabling LSE until rusEfi patch is applied

* simulator compiles now

* latest ChibiOS 17 with FatFS 0.13
2018-01-23 21:17:30 -05:00
rusefi 96cf686608 #517 2017-12-24 22:07:47 -05:00
rusefi 71502d4244 #517 2017-12-21 22:24:01 -05:00
rusefi a6f1809a07 #517 2017-12-21 22:19:38 -05:00
rusefi 853289feaf #473 2017-08-28 20:42:27 -04:00
rusefi 81ca74bfb3 one step closer to defaults 2017-07-28 15:17:45 -04:00
rusefi 652bfffced removing unused reference 2017-07-22 22:28:14 -04:00
rusefi 0b4e699316 minor clean-up 2017-07-22 20:20:46 -04:00
rusefi f20eb14530 bootloader 2017-06-02 12:33:45 -04:00
Andrei 9c0d7cc667 BOARDSRC_CPP (and compatibility issues) pull request 2017-05-02 20:34:01 +03:00
Andrei c279910d3f custom-board-makefile pull request 2017-04-17 18:22:09 +03:00
rusefi b9eb26ac16 preparing to live new life 2017-04-02 11:50:05 -04:00
rusEfi 4d49fd0cab #375 - issues with log() 2017-04-02 01:38:52 -04:00
andrey def04123d7 safer folder name 2017-04-01 20:22:40 -04:00
rusefi bff89f30e9 moving from discovery to brain board 2017-03-29 20:19:40 -04:00
Fabien Poussin 55de3f46f5 Fixed FatFS library compilation. 2017-03-29 17:56:42 +02:00
Fabien Poussin 4a93fc550f Fixes to make the firmware run. 2017-03-29 17:55:53 +02:00
Fabien Poussin a0e5107ba2 Moving boards to config folder. 2017-03-29 17:55:53 +02:00
Fabien Poussin db8d16a47a Adding ChibiOS Contrib module for a proper mass storage driver.
Adding missing board files.
2017-03-29 17:55:53 +02:00
Fabien Poussin 2cd048495f Changing ChibiOS repo to rusefi, updating code accordingly. 2017-03-29 17:55:52 +02:00
Fabien Poussin 4e99130b22 Disabling smart build and verbose compile. 2017-03-29 17:55:52 +02:00
rusefi 81aa2c16c0 progress #380 2017-03-22 16:47:13 -04:00
rusefi 782a15de82 fixed #375 2017-03-20 23:31:49 -04:00
rusefi 1e35e063bd progress #372 2017-03-15 21:42:54 -05:00