Commit Graph

190 Commits

Author SHA1 Message Date
Matthew Kennedy ff5e47c95d
Engine modules participate in the build system (#452)
* infrastructure for engine modules in the build

* fully move fuel pump

* fan

* gear detector

* gear detect

* fan control cleanup

* trip odometer

* shuffle makefiles around a little

* minor format
2024-07-23 18:05:43 -07:00
Matthew Kennedy 96eaeaa370 makefile doc header 2024-03-20 02:04:53 -07:00
Matthew Kennedy a9d47da54e make clean deletes generated 2024-03-15 01:06:00 -07:00
Matthew Kennedy 2436e7c105
implement TS console over ATWINC1500 WiFi (#373)
* experimenting with atwinc1500

* rename to cpp

* if/else without curly braces

* nullptr

* static asserts

* unused params

* stub basic bsp and wifi console

* misc c++ fixes

* it appears to compile?

* enable/disable ISR

* idk why this needs to get commented

* dead code

* more wifi plumbing

* move wifi init after hardware init

* wifi bsp

* bsp handles empty SPI read/write, pin init

* build spi_flash.cpp

* don't double-enable interrupts

* maybe no need for extern "C"

* faster SPI

* socket kinda connects?

* wifi updater tool?

* log wifi stuff to efiPrintf

* I'm not sure why you have to skip the reboot it says you have to do

* working tcp implementation

* use lock instead of actually cycling interrupts

* improve socket receive performance

* add firmware info

* avoid locking for spi select/unselect

* allow larger SPI ops

* wifi thread priority

* hooks for pins and SPI device

* guard

* build atlas with wifi

* don't unconditionally define EFI_WIFI, oops

* only build wifi if wifi

* typo

* H7 SPI

* typo
2024-03-01 12:37:55 -08:00
Matthew Kennedy e5fb7f7f3f
gen config with make (#363) 2024-02-22 10:58:03 -08:00
Matthew Kennedy 1a0ef4fbff
put compilers in a submodule (#360)
* add compiler submodule

* use compiler from git if not found on path

* add todo

* select darwin vs. linux properly

* update submodule for darwin compiler

* match formatting

* hide stray ramdisk images

* lfs: true

* lfs in the right spot?

* console doesn't need lfs

* all builds that touch self hosted server can use lfs

* don't ever bother trying to use the installed compiler

* simplify and print a little more info

* remove old submodule

* add build tools submodule

* fix path

* we don't need lfs

* no need to test compiler

* set a branch

* allow passing compiler, auto-submodule if missing

* missing endif
2024-02-13 14:44:15 -08:00
Matthew Kennedy f3b335fe8d
all generated files in one dir (#348)
* delete existing generated source files

* ignore new generated dir

* move all the generated files

* cleanup

* jars

* makefile

* bootloader

* simulator+tests
2024-01-17 14:25:00 -08:00
Matthew Kennedy bb1b4bff31 move SHORT_BOARD_NAME in to a makefile variable #300 2023-11-07 12:47:24 -08:00
Matthew Kennedy e5a751e3b1
remove ccache (#288) 2023-11-02 11:28:14 -07:00
Matthew Kennedy fc308d400a prep adding Werror=shadow 2023-11-01 15:37:00 -07:00
Matthew Kennedy 5813c20a32
OpenBLT-based USB serial bootloader (#228)
* flash layout

* bootloader builds

* output name

* hard fp

* strip out dfu

* bootloader gets hardfault

* loader gets USB but not MSD

* kinda usb?

* USB enumerates!

* cleanup

* shared params

* nonfunctional openblt

* stub flash

* flash.h

* openblt responds over USB!

* implement flash driver

* blt conf, linker

* boards no longer need specific openblt files

* no ccache

* common_make.sh

* cleanup

* delete bootloader crust

* simplifying linker logic

* script tweaks

* flash layout is handled entirely by FOME flash driver

* simplify memcpy

* format

* comment

* dead

* makefiles cleanup

* cleanup

* h7 linker script for bootloader

* h7 bootloader build

* build script
2023-08-27 10:30:02 -07:00
Matthew Kennedy 05086ed73f rename 2023-08-26 23:23:41 -07:00
Matthew Kennedy c312dd8fea gcc_map_reader 2023-04-13 00:18:12 -07:00
Matthew Kennedy f278c22bb1 makefile cleaning 2023-04-10 11:22:49 -07:00
Matthew Kennedy aa48077d58 dead stuff 2023-03-02 02:21:53 -08:00
Matthew Kennedy 07b2f1b783 include after main rules so that deps exist 2023-02-22 15:58:15 -08:00
Matthew Kennedy 4c0707e751 include for all builds 2023-02-22 15:43:10 -08:00
Matthew Kennedy 83791354af gitversion 2023-02-22 15:26:44 -08:00
Matthew Kennedy 72acb81682 fome-ify 2023-02-21 02:29:22 -08:00
Matthew Kennedy 61c17791b8 joystick, lcd 2023-02-20 21:54:10 -08:00
Matthew Kennedy cc6cadfdd6 deduplicate $(BOARD_DIR) in makefiles (#5024)
* calculate BOARD_DIR exactly once

* deduplicate board scripts

* unit tests

* make passes variables to openblt build properly

* was this an intentional omission?

* s

* prometheus

* prometheus
2023-02-01 14:41:27 -05:00
Andrey G 8f713918d6 S105: initial support (#4925)
* Makefile: show CPU_HWLAYER directory

* s105: support
2023-01-01 13:42:17 -04:00
Nathan Schulte 7d80e2c84f Tweak firmware Makefile, scripting (#4796)
* firmware: Makefile uses spaces ...

* firmware: use CC and CPPC for LD

* firmware: clean_compile_two_versions.sh passes arguments to make
2022-11-18 21:53:02 -05:00
Matthew Kennedy de9ab76a31 gcc 10 (#4641)
* scripts

* change check version

* disable inlining

* all the spots

* it's funny that this works with the wrong file extension

* bootloader

* hardware ci runs gcc 10
2022-10-18 22:30:16 -04:00
Matthew Kennedy 7116670fd0 build tweaks for size (#4661)
* don't align on non-cached mcu

* lua decimal point

* no snprintf

* sort sections by alignment

* unit tests
2022-10-13 20:30:30 -04:00
rusefillc cac7b7a82e gcc10 preparation (#4643)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-10-06 13:58:02 -04:00
rusefi a2c1e74f56 refactoring: explicit folder for FatFS
Windows :(
2022-08-24 14:48:42 -04:00
rusefi c32e826fea refactoring: explicit folder for FatFS 2022-08-24 13:55:21 -04:00
Matthew Kennedy 5fc7000834 Pt2001 module (#4396)
* pt2001 uses module

* read flag0

* c

* libfirmware

* makefiles

* are unit tests happy?

* bootloader
2022-08-08 08:53:08 -04:00
rusefillc 38cc34acf8 https://rusefi.com/forum/viewtopic.php?p=45952#p45952 (#4400)
Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-07-29 17:35:05 +03:00
Andrey G 4a4443a27d Add "Reset to OpenBLT" button (#4364)
Similar to "Reset to DFU", but uses different seed
2022-07-22 08:21:11 +03:00
Matthew Kennedy cd98ad35c2 use libfirmware for a few things (#4351)
* use libfirmware

* unit tests

* crc

* missed one

* bootloader
2022-07-16 02:22:51 -04:00
Matthew Kennedy cbdfb7ac5c Write hard faults to backup ram, print on next boot (#4324)
* use backup ram, hard fault handler improvement

* wire it up

* upload elf

* s

* I guess I'll just use strncpy

* s

* what is it even complaining about?

* neat, we don't need a cast

* cypress and kinetis

* cleanup

* ci

* guard for tests
2022-07-07 15:14:31 -04:00
rusefillc 6a077a632a 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 1ade9c4394 promoting openblt to it's own folder 2022-05-24 15:23:55 -04:00
Matthew Kennedy 56240cb668 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 31095454c4 Catch up with Chibios 20.3 #2555 2022-01-15 21:13:37 -05:00
rusefillc d447e34344 mk files refactoring 2022-01-06 21:48:48 -05:00
rusefillc 4250d330d0 mk files refactoring
saving build
2022-01-06 20:52:49 -05:00
rusefillc 47f0423b73 mk files refactoring 2022-01-06 20:32:39 -05:00
rusefillc 1955c5a3c2 mk files refactoring 2022-01-06 20:06:31 -05:00
rusefillc 433ff5c62e Live Data progress 2022-01-06 19:02:35 -05:00
rusefillc c596aa2b78 reducing copy-pasta - would this work? 2022-01-04 19:56:36 -05:00
rusefillc 18cd02a1d6 reducing copy-pasta - would this work? 2022-01-04 18:50:25 -05:00
Andrey G 72d53082bb GCC-10 and C++ 2a: supress depricated volatile use errors (#3711) 2021-12-21 14:38:49 -05:00
Andrey G 3a2dbdc1a8 Do compiler check first (#3706) 2021-12-20 16:17:53 -05:00
Matthew Kennedy a79b0c424c turn on c++ 20 (#3579)
* set flags

* emit initializers

* jar
2021-11-19 22:19:34 -05:00
Scott Smith 7843b5a28d 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 7367aa5b8a 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 51f53aa3fc 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