Commit Graph

157 Commits

Author SHA1 Message Date
rusefillc c7aa6f3d43 console uses .hex Looks like I broke MRE and Proteus with OpenBLT #4199
steps towards proper script in HW CI
2022-05-25 10:44:34 -04:00
rusefillc 4af557d7ac promoting openblt to it's own folder 2022-05-24 15:23:55 -04:00
Matthew Kennedy 729e107474
we have other places to set these MCU values (#3875)
* we have other places to set these values

* missing parts

Co-authored-by: rusefillc <rusefillc@gmail.com>
2022-02-01 18:18:16 -05:00
rusefillc 9d2eede4ca Catch up with Chibios 20.3 #2555 2022-01-15 21:13:37 -05:00
rusefillc 04ab6a0488 mk files refactoring 2022-01-06 21:48:48 -05:00
rusefillc a63a12e9c4 mk files refactoring
saving build
2022-01-06 20:52:49 -05:00
rusefillc a13a0a2cc9 mk files refactoring 2022-01-06 20:32:39 -05:00
rusefillc 7f0357ffcb mk files refactoring 2022-01-06 20:06:31 -05:00
rusefillc 7c0fd37dfe Live Data progress 2022-01-06 19:02:35 -05:00
rusefillc d4b7882255 reducing copy-pasta - would this work? 2022-01-04 19:56:36 -05:00
rusefillc e9d38c2ef9 reducing copy-pasta - would this work? 2022-01-04 18:50:25 -05:00
Andrey G 5efb6fac1e
GCC-10 and C++ 2a: supress depricated volatile use errors (#3711) 2021-12-21 14:38:49 -05:00
Andrey G d3caabd98d
Do compiler check first (#3706) 2021-12-20 16:17:53 -05:00
Matthew Kennedy cdd27abb09
turn on c++ 20 (#3579)
* set flags

* emit initializers

* jar
2021-11-19 22:19:34 -05:00
Scott Smith 4af2722658
Print BSS and RAM4 totals at the end of make. (#3527)
If java is unable to run, don't error out the Makefile, just complain a little and move on.  Until
the gcc_map_reader actually works with RAM4, we print it manually.
2021-11-11 11:51:35 -05:00
Scott Smith 37da55c920
Compile each project's PCH to a separate file to reduce developer friction. (#3505)
Having to remove the precompiled header when switching from firmware to simulator to unit_tests and
back again is annoying.  Use a directory to store the precompiled header output.  Turn off
precompiled header warnings as GCC still complains even if it finds a valid one eventually.
2021-11-08 15:52:58 -05:00
Andrey G e3be563b27
Openblt (#3430)
* Makefile: define BOOTLOADER=1 for linker in case of OpenBLT too

This will reserve first 32K of flash for bootloader.

* OpenBLT: include into build

* board: subaru eg33: add OpenBLT board code

* board: subaru eg33: use OpenBLT

* Board: Subaru EG33: OpenBLT: reuse HAL and CMSIS from OpenBLT submodule

* Board: Subaru EG33: OpenBLT: reuse linker file from OpenBLT too

* OpenBLT for MRE

* OpenBLT: MRE: adjust LD memory map for smallest variat of MCU on MRE

* OpenBLT: enable for MRE

* OpenBLT: disable CRC check of user application

This allows us to use DFU tool to flash main application too.

* hex2dfu: fresh binary for linux

* OpenBLT: extract common part of OpenBLT makefiles to openblt.mk

* OpenBLT: enable CRC check of user application for MRE and EG33

CRC (actually just a summ) of few first vectors is stored at 0x1c
offset. This is reserved vector for Cortex-M3, M4 and M7

* common_make: append OpenBLT CRC to dfu files

This should allow to use DFU to do main application update when
when OpenBLT is used as bootloader. hex2dfu will store same
styled CRC as OpenBLT expects to see in user app.

* OpenBLT reorganization

Move common stuff to hw_layer/ports/

* OpenBLT: proteus

* Proteus: enable OpenBLT for F4 and F7

Compilation tested only
2021-11-05 19:28:55 -04:00
Andrey G 564249fa02
Prepare for openblt (#3445)
* Makefile: create and deliver srec file too

srec is used by OpenBLT tools

* Simplify common_make.sh
2021-11-02 07:41:41 -04:00
Andrey 0e6a51e5c0 export board-specific macro for stm32 pins based on board yaml #3298
meta progress
2021-10-26 10:27:10 -04:00
Matthew Kennedy e3196a7bbd
ethernet (#3342)
* checksum offload

* ethernet console

* guard flag

* flags

* reserve pins

* f4

* ip and link options

* chibios

* conditional build lwip

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-10 01:15:49 -04:00
Andrey G c23e02c582
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 3518da97a7
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 1bf3ef1cc2 docs 2021-07-09 13:29:03 -04:00
Andrey G ca4caf1df8
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 5cb659a7b0
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 8ac3de90fd
Hw layer rearrangement (#2705)
* Fix simulator compilation

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

* build

* makefile prep

* call startup

* s
2021-04-27 07:57:08 -04:00
Matthew Kennedy 496acd7fc0
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 fa894d55a3
set MCU properly (#2371) 2021-02-17 15:25:57 -05:00
Matthew Kennedy 990bfe763e
implement null block device (#2341)
* implement null device

* fix build
2021-02-13 08:53:10 -05:00
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
Matthew Kennedy 423acd384b
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 4be60dccfd let's build for h7 2021-02-05 20:58:34 -05:00
Matthew Kennedy 10c31c2955
-g3 to -g (#2256)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-01-31 14:13:55 -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 baea67eccf
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 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
Matthew Kennedy 2a0205e3c4
switch to single precision constants (#1880)
* adjust builds

* fix test
2020-10-14 20:04:35 -04:00
rusefi 074dbe501a Hellen says merge #1772 2020-09-26 04:13:02 -04:00
rusefi 3a11ea7e31 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 942bc07ae2 Hellen says merge #1772 smart build by default 2020-09-09 16:53:54 -04:00
rusefi 8f4aecf7ca The Big Refactoring of 2019: folder structure #723 2020-08-02 20:46:40 -04:00
rusefi c39d135e94 Makefile clean-up 2020-05-25 13:42:55 -04:00
Matthew Kennedy 94e63e7c43
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 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
rusefi 2a70659a28 wow maybe build time magic?! by DronoGus 2020-04-25 12:07:57 -04:00
rusefi 09c4def495 proteus-f4 was requested 2020-03-18 11:37:53 -04:00
rusefi 1c16038150 progress 2020-03-13 20:36:07 -04:00
Matthew Kennedy 836aca5426
default to O2 (#1155) 2020-02-24 21:49:04 -05:00