Commit Graph

208 Commits

Author SHA1 Message Date
rusefillc 9ec0393d9e Catch up with Chibios 20.3 #2555 2022-01-15 21:43:01 -05:00
NMSTEC 190c895e05 F429 Working Stby, Stop & Wake PA0 (#3787) 2022-01-12 23:18:58 -05:00
rusefillc fc996ad339 Code style for methods with zero arguments #3535 2022-01-11 22:26:24 -05:00
Andrey G fc32af43bb F429 discovery ram dev (#3761)
* stm32f429-discovery: mostly copy-paste from ChibiOS-Contrib

* STM32F429-discovery has external SDRAM

* F429-Discovery: add simple memory test for SDRAM (disabled)

* Revert "random piece of https://github.com/dron0gus/rusefi/tree/f429-discovery-ram-dev"

This reverts commit 9625820272.

Co-authored-by: rusefillc <sdfsdfqsf2334234234>
2022-01-10 16:14:39 -05:00
Matthew Kennedy 4ee76aadc2 per-board pre-low-power handlers (#3752)
* per-board pre-low-power handlers

* per-chip standby options

* default implementation
2022-01-10 08:37:05 -05:00
Andrey G 8205c37da0 Sdram preparations (#3764)
* ports: stm32f4: not all stm32f4xx are stm32f407, let board decide

* Do not include mcuconf_community.h in port's mcuconf.h usign relative path

as override file can be provided in board directory.
2022-01-10 08:31:29 -05:00
rusefillc 9625820272 random piece of https://github.com/dron0gus/rusefi/tree/f429-discovery-ram-dev 2022-01-09 22:45:46 -05:00
Andrey G b37c9d546f Enable ENABLE_AUTO_DETECT_HSE only if STM32_HSECLK is not defined (#3758)
Some board (like stm32f429-disco) with SDRAM need clock to be
enabled in __early_init (before .bss and .data initialization).
So if STM32_HSECLK defined - skip clock detection.
2022-01-09 17:39:29 -05:00
Andrey G 26a9795d94 Ports: STM32F4: add optional external SDRAM (#3762) 2022-01-09 17:39:10 -05:00
Andrey G f139e76345 USB: use OTG1/OTG2 for serial over USB depending on which enabled (#3757) 2022-01-08 16:33:48 -05:00
Andrey G f4730421ed mk files random cleanup (#3759) 2022-01-08 16:33:34 -05:00
NMSTEC 1bde061b2d Stop & wakeup working on rising edge (#3747)
* Stop & wakeup working on rising edge

* Standby & Sleep mode working Using PA0 only.

* Stop & standby works with wake from PA0.
Added alternative interrupt method to STOP

* Removed hand screwery on registers
2022-01-07 16:46:28 -05:00
Matthew Kennedy a6ef26a1d5 fix dual CAN init, update UI (#3719)
* CAN init sequence

* config & UI cleanup

* ui

* simplify
2021-12-24 23:33:54 -05:00
rusefillc 604f84fe9f Second CAN #3687 2021-12-22 20:43:08 -05:00
rusefillc 8f51dad2ef Second CAN #3687 2021-12-22 20:39:07 -05:00
rusefillc 319ee90b46 Second CAN #3687 2021-12-22 20:15:22 -05:00
rusefillc 6f0e0a33f2 Second CAN #3687 2021-12-22 20:15:22 -05:00
Matthew Kennedy 0d1539f869 multi CAN plumbing (#3688)
* framing for multi CAN

* typoooooooo
2021-12-10 17:08:10 -05:00
Matthew Kennedy da28561241 testing stm32 stop/standby (#3666)
* testing stop/standby

* comments

* guard

* s

* we shall figure out f7 later

* ok maybe we do worry about f7

* comments and tweaks

* f7

* f4 maybe probably
2021-12-07 15:12:33 -05:00
rusefillc d8418f2228 trigger_adc helping cypress 2021-12-01 15:26:38 -05:00
Scott Smith 8406fafa9e Expose console over serial port for H7 proc (#3578)
This way you can use the console/TunerStudio with the ST-Link

In the process, combine TS_PRIMARY_UART and TS_PRIMARY_SERIAL into TS_PRIMARY_PORT, to make UART vs
SERIAL selection more robus.  Ditto for TS_SECONDARY_*.  Also change use of TS_NO_PRIMARY to be #if
not #ifdef, so that it can be properly set as a compile flag and not be overwritten by various
header files.
2021-11-20 00:39:08 -05:00
Matthew Kennedy 739be57ac8 fast exti interrupt handoff (#3497)
* fast exti

* test code snuck in

* full interrupt disable :(

* do it the old fashioned way

* enable interrupt

* consume stored timestamp

* dead

* h7 maybe

* guard maybe

* non-stm32

* exti 16 wrong on f4/f7

* CORTEX_MAXIMUM_PRIORITY

* safer but uglier

* s

* chibios

* no const

* initializers

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-11-19 06:37:52 -05:00
Scott Smith 80091498a6 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 c1941f3a49 (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
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
Andrey G a7b2a032d2 Linker file typo fix (#3436) 2021-10-31 15:17:56 -04:00
Andrey G be75132ebe STM32F7 linker script: ITCM flash area also needs reserve for BL (#3431) 2021-10-30 09:12:47 -04:00
Matthew Kennedy 6125d97c6c etb pwm limit (#3408)
* etb pwm limit

* missed an arg

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-25 15:35:23 -04:00
Matthew Kennedy 8ca619144d misc ethernet config parameters (#3343)
* various cfg

* this has to be 1522

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-10-11 15:35:09 -04:00
Matthew Kennedy 95ef3f30ae faster uniform adc cleanup (#3334)
* 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

* cleanup

* h7 adc speed

* adc skip

* configurable oversample
2021-10-10 22:59:25 -04:00
Matthew Kennedy 208497e6ed 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
Matthew Kennedy a4998ab7a8 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
Andrey 8b82023d6b vr threshold test configuration 2021-09-26 03:27:53 -04:00
Matthew Kennedy 29407db1a3 everybody is pulldown (#3131) 2021-08-14 09:34:13 -04:00
rusefillc 49497dec6d Hellen72: Set the default pin states to input-pulldown instead of input-pullup #2525 2021-08-05 04:53:37 -04:00
Matthew Kennedy 39388c75d8 even more pch (#3112)
* s

* more

* s

* f7
2021-08-04 19:30:52 -04:00
Matthew Kennedy 4e6b61234f 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
Andrey 73cbb388b7 boards file clean-up 2021-08-03 04:06:06 -04:00
Matthew Kennedy 0158327469 s (#3101) 2021-08-02 19:17:17 -04:00
Andrey G 54f0aeb06f Int flash fixes (#3089)
* STM32F7xx: flash write parallelism settings

Datasheed allows 32bit program operation only for 2.7..3.0
While RM defines wider range...

* Add parentheses to defines

* intFlash: show all errors to user

Currently only erase error was exported to user. Flash write error
was silent. Also define few additional error codes and show it to
user.
2021-08-01 18:26:42 -04:00
Andrey G adede96583 Remove outdated option CH_DBG_ENABLE_TRACE (#3087)
Not used since RT5
2021-07-31 07:51:13 -04:00
Matthew Kennedy 58202a97f3 flash erase cache invalidate (#3073)
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2021-07-30 16:52:55 -04:00
Matthew Kennedy d3ec2b21d1 Use pch in lots of files (#3066)
* most engine.h

* most engine_configuration

* more

* more

* more

* more

* more

* moooooore

* ok I'm done for now

* oops
2021-07-26 01:05:17 -04:00
Matthew Kennedy 098469b88c H7 ADC triggered by hardware timer (#3028)
* config

* allow changing adc speed

* timer triggered ADC

* ICU on nucleo

* turn that off too

* 10khz

* make those default for all h7

* I can't type
2021-07-23 14:50:35 -04:00
Matthew Kennedy 2255ce37b4 H7 turn off USB before reset (#2999)
* turn off USB before reset

* comment

* add link
2021-07-20 19:39:26 -04:00
Andrey fb30117acc Button to apply nDBANK #2996
still does not work
2021-07-20 15:42:57 -04:00
Andrey 8eb407627e Button to apply nDBANK #2996
it does not work, i give up for now time to install STM Cube :(
2021-07-20 14:15:58 -04:00
Andrey 668c342b34 Button to apply nDBANK #2996 2021-07-20 13:20:34 -04:00
Matthew Kennedy 7c2f20af49 osc detector on H7 (#2992)
* detect clock with TIM11 instead of TIM5

* s

* h7 has a different register name

* detect on H7

* cleanup

* comment

* use define

* f4 typo
2021-07-19 21:58:23 -04:00
Matthew Kennedy dec215f199 detect clock with TIM11 instead of TIM5 (#2989)
* detect clock with TIM11 instead of TIM5

* s

* h7 has a different register name

* s

* rename
2021-07-19 18:04:59 -04:00