Commit Graph

36 Commits

Author SHA1 Message Date
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
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 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 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
rusefi 33eef982d1 reorder ADC channel index #1763
we forgot about something
2020-09-20 14:20:08 -04:00
rusefi e1be439682 Hellen says merge #1772 helping merge - Kinetis?! 2020-09-09 16:38:18 -04:00
dron0gus 182747e907
Adc cleanups (#1743)
* ADC: remove ADC_TwoSamplingDelay*

1. it is related to double or triple interlived mode only
2. it should be writen to CCR register, not CR1

* ADC: use designated initializers
2020-09-01 07:38:35 -04:00
dron0gus 6992a541f3
stm32/kinetis_pins.cpp: remove PORTS array - duplicates ports array (#1527) 2020-06-21 15:59:18 -04:00
Matthew Kennedy 3a7c6f242b
Hardware pwm (#1283)
* hard pwm

* fix, comments

* PC6-9 and PD12-15

* PB6-9

* dynamic frequency

* f7 mcuconf

* format

* relocate to common, support variable frequency

* error handling

* oops

* fix test build

* noop kinetis

* better guards

* guard for bl

* guards don't work if they have typos

* more mapping

* oops

* don't use for slow pwm

* enable pwm

* guard properly

* save a little memory

* use less mem

* correct timers

* all your ram are belong to us

* update limit & comment

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-05-28 16:02:41 -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
Matthew Kennedy bb9c851a07
Deduplicate mpu_util headers (#1187)
* this flag did nothing

* header dedupe

* mre fix again

* get all dependencies in mpu_util.h

* guard can/spi

* more dedupe

* pragma once

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2020-03-13 18:48:22 -04:00
Matthew Kennedy 52c710bb62
move flash addr in to mpu_util (#1123)
* move flash addr in to mpu_util

* this _may_ work

* don't use offsetof

* proper header + defines
2020-02-05 08:06:38 +05:30
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
dron0gus 1b42748e60 Spi fixes (#1083)
* spi: add support for SPI4

* mpu_util: spi: add 8BIT mode definitions for F4, F7 and kineris (?)
2020-01-06 08:44:23 -05:00
rusefi af4f20551b getting rid of boardConfiguration / binary compatible change 2019-12-11 17:48:55 -05:00
andreika-git 97884dc677 Kinetis: fix ENABLE_PERF_TRACE and trigger_input_comp (#1031)
* Kinetis: fix ENABLE_PERF_TRACE

* Kinetis: fix trigger_input_comp
2019-11-25 00:22:26 -05:00
rusefi 4305b4ce2f not needed since included in common_headers.h 2019-11-23 18:16:41 -05:00
andreika-git e8fa6135f4 Kinetis: smarter SPI_CS control (#993) 2019-11-01 10:50:22 -04:00
andreika-git ee5ee1942c Kinetis & TLE8888 compatibility & fixes... (#991)
* TLE8888: More compatibility & postTunerStudioState

* activeConfiguration & EFI_ACTIVE_CONFIGURATION_IN_FLASH fix

* Kinetis: jump_to_bootloader() impl.

* Kinetis: UART baudrate safety check

* Kinetis: OMG!..
2019-10-31 16:06:34 -04:00
rusefi 36a8cf8ad4 CI instability: FATAL error: warn stream not initialized for 6039
also some refactoring
fix #798
2019-08-04 13:48:10 -04:00
andreika-git 1e73b830ac Kinetis files (pre-alpha) (#890) 2019-07-27 09:52:01 -04:00