Commit Graph

45 Commits

Author SHA1 Message Date
andreika-git 04779c374f move causeHardFault() to arm_common.cpp 2023-11-14 15:28:07 -06:00
andreika-git aa7265a5bf causeHardFault() function for different ports 2023-11-14 15:28:07 -06:00
Andrey G ed8af771ac
at_start_f435: enable MFS for internal flash (#5687)
* Rename EFI_INTERNAL_FLASH to EFI_STORAGE_INT_FLASH

This define enables use of RE custom flash driver for storing
settings to internal flash.

* at_start_f435: enable MFS for settings storing in internal flash

* MRE: fix special build

* kinetis: fix flash_int.cpp vs flash_int.c mess

* at32: allow allowFlashWhileRunning()

* flash_main: supress warning
2023-11-03 13:08:35 -04:00
Andrey 4eefedcec2 unused-variable is a nice error message to have #5683 2023-11-02 20:48:57 -04:00
Andrey b70f8f0b92 unused-variable is a nice error message to have #5683 2023-11-02 18:31:03 -04:00
rusefillc d709afe21b
global_port.h (#5388)
* global_port.h

* global_port.h

---------

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2023-07-04 23:45:10 -04:00
rusefillc 9e838f1d12
HW_LAYER_EMS* renamed to HW_LAYER_PORT* (#5387)
* HW_LAYER_EMS_CPP renamed to HW_LAYER_PORT_CPP

* HW_LAYER_EMS renamed to HW_LAYER_PORT

---------

Co-authored-by: Andrey Gusakov <dron0gus@gmail.com>
2023-07-04 22:30:20 -04:00
rusefillc 5812210afa helping C&K 2023-06-25 11:02:22 -04:00
rusefillc fa57f32a37 reducing GPIO code duplication 2023-05-24 10:37:02 -04:00
rusefillc 458d8982aa reducing GPIO code duplication 2023-05-24 10:34:11 -04:00
rusefillc cdf5447afb reducing GPIO code duplication 2023-05-24 10:24:44 -04:00
rusefillc 9b2a134950 docs 2023-05-24 10:15:31 -04:00
rusefillc 91a25bad96 conditional EFI_DFU_JUMP 2023-05-24 09:58:22 -04:00
rusefillc f5d4e29661 helping cypress & kinetis 2023-05-24 09:52:07 -04:00
rusefillc 61f840fcc3 reducing GPIO code duplication 2023-05-24 09:30:19 -04:00
rusefillc c1cdf77f3a conditional compilation around getBackupSram 2023-05-24 09:01:22 -04:00
rusefillc cc4175f428 reducing GPIO code duplication 2023-05-24 08:51:24 -04:00
rusefillc f317d298af code style 2023-05-24 01:38:56 -04:00
Matthew Kennedy 61e5b4b1ad change ObdCode to enum class builds firmware 2023-04-29 00:44:00 -04:00
rusefillc 0be6559ced
does gcc11 know something? (#4738)
* does gcc11 know something?

* fix BACKUP_FLASH_ADDR assertion semantic (#4750)

* fix BACKUP_FLASH_ADDR assertion semantic

* cast BACKUP_FLASH_ADDR as flashaddr_t

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
Co-authored-by: Nathan Schulte <8540239+nmschulte@users.noreply.github.com>
2022-11-07 19:22:58 -05:00
rusefillc 38639e8877 nicer (?) parameter names 2022-10-19 10:25:02 -04:00
Matthew Kennedy 0cc1f729c4
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
Matthew Kennedy e4a0979dc2
Brain pin is enum class (#4108)
* change most usages to Gpio::

* board configs

* engine configs etc

* isBrainPinValid, smart gpio

* generator

* generator

* generator

* connector yamls

* kinetis enums

* cypress txt

* kinetis config

* frankenso

* config generator

* actually do it for the others

* disable skips for pr ci

* fix tle8888

* misc

* weird cast from int

* needs this operator too

* this can be an unsigned subtract

* happy tests

* s

* kinetis isConfigurationChanged weirdness

* missed J/K

* cypress efifeatures

* build script mistake (!)

* mistake in smart gpio

* debounce

* eg33

* kinetis, so needy

* it's pretty green, we can skip these again
2022-04-28 17:32:39 -04:00
Matthew Kennedy bc6a87cadc
allow enum_class in rusefi_hw_enums.h (#4104)
* make things c++ friendly

* install various canaries in coal mines

* using is much clearer than typedef

* fixing builds

* lps25

* trigger includes were a mess

* c -> c++ cleanup

* os util

* why did so many include os_util.h?

* fwd declare

* cypress/kinetis

* s

* eg33 happy

* happy sim

* cypress usb

* pch

* cypress

* doesn't need to include all that

* h7
2022-04-25 20:38:16 -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
Matthew Kennedy 6b6fd5e6e8
fix dual CAN init, update UI (#3719)
* CAN init sequence

* config & UI cleanup

* ui

* simplify
2021-12-24 23:33:54 -05:00
Matthew Kennedy 408d4c6ebf
multi CAN plumbing (#3688)
* framing for multi CAN

* typoooooooo
2021-12-10 17:08:10 -05:00
rusefillc 7db1bb87f5 trigger_adc helping cypress 2021-12-01 15:26:38 -05:00
Scott Smith 823d9a07e0
Programmatically replace ENGINE() and CONFIG() with engine-> etc (#3565)
git grep -l -w ENGINE | xargs sed -i -r "s/ENGINE\(([]a-zA-Z_0-9.[]+)\)/engine->\1/g"

git grep -l -w CONFIG | xargs sed -i -r "s/([^a-zA-Z_])CONFIG\(([]a-zA-Z_0-9.[]+)\)/\1engineConfiguration->\2/g"
2021-11-17 03:54:21 -05:00
Matthew Kennedy cb032fb1ea
(void) -> () (#3550)
* static functions with (void)

* more

* Revert "more"

This reverts commit 246e53441f935451437df186ac92d7df26b62fb6.

* s

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-15 13:02:34 +01:00
Matthew Kennedy 31ffb0add4
Fast adc API (#3327)
* dead fast tps

* oooooh map avg on hh7

* adc v4 fast support

* new fast API

* hardware.cpp

* adc v2

* warning

* guard

* no check required

* stub cypress/kinetis

* kinetis and cypress stubs
2021-10-07 08:29:01 -04:00
Matthew Kennedy 25414ebdad
yet more pch (#3068)
* big pch energy

* put back ramdisk stub

* tests are happy

* h743 nucleo

* kinetis

* I love deleting code!

* make stepper happy

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-08-03 22:05:01 -04:00
Matthew Kennedy 2ce7777865
don't require EXTERN_ENGINE in every file (#2969)
* move enginePins

* no more extern engine

* uses

* more

* extern config too

* put this where it belongs

* include correct header

* merge
2021-07-16 18:13:33 -04:00
rusefillc b65c4b5612 trigger signal debug pins - logic level output #2959 2021-07-15 00:03:31 -04:00
Matthew Kennedy 080d901222
non blocking flash on f7 dual bank 2MB (#2749)
* f7 dual bank flash

* only start thread if necessary
2021-05-29 08:05:29 +03:00
Matthew Kennedy 96a14fd649
ADC cleanup, enable oversampling on H7 (#2437)
* cleanup v2 adc

* simplify

* oversample on h7

* output 16b result

* port-ify ADC_MAX_VALUE

* simplify include

* guard for cypress

* make sim/tests happy

* 16x oversample + comment

* this check is uesless

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-08 14:50:50 -05:00
Matthew Kennedy f22f318bdb
Extract slow adc (#2402)
* extract

* guard

* put some back

* put back

* slow is actually 500hz so slow is fine here

* no magic

* fix printFullAdcReport

* cast

* if we turn those off is it happy

* stub cypress/kinetis

* guard fast stuff better

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-03-04 19:55:09 -05:00
Matthew Kennedy 85fab40d21
get mcu temperature within port (#2326)
* remove EFI_ADC_TEMP_SENSOR

* implement

* comment

* s

* switch adc_inputs over

* header

* s

* I think aligned-on-stack should work ok

* num channels

* cache safety

* move adc init too

* don't compile that file for the h7

* cypress & kinetis

* ports

* guard against bootloader

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-02-09 22:04:36 -05:00
Andrey G 2af32084f4
gpio helper (#2195)
* gpios: isBrainPinValid helper

* LCD HD44780: do not touch pins if DM_NONE or invalid gpio

* Fix isEnabled checks for GPS and Joystick

* LCD HD44780: writePad use this method wider
2021-01-08 20:01:26 -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 6334e5011f
Port-ify microsecond_timer hardware implementation (#1964)
* move to folder

* extract hardware part of microsecond_timer

* dead ST forum link

* de-volatile

* simulator build

* guard
2020-11-22 20:39:32 -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 5d3d85d644
put getTimeNowLowerNt in to mpu_util (#1950)
* put getTimeNowLowerNt in to mpu_util

* move GPTDEVICE to port_mpu_util

* and remove from efifeatures
2020-11-18 14:17:00 -05:00
andreika-git 6e5a3fbbe9
Hellen says fix cypress build (#1818)
* fix compilation

* fresh generated files

* more files

Co-authored-by: Andrei <andreikagit@users.noreply.github.com>
2020-09-23 14:06:22 -04:00
rusefi 4acea75cc8 Hellen says ports 2020-09-07 11:57:20 -04:00