Commit Graph

251 Commits

Author SHA1 Message Date
rusEfi cd9c291e3e WdDiag 2020-02-10 21:28:55 -05:00
rusEfi 41253b88b8 TLE8888 watchdog #917
time to start working?!
2020-02-10 18:32:32 -05:00
rusEfi a29d6fc241 TLE8888 watchdog #917
maybe better start-up sequence
2020-02-10 17:08:37 -05:00
rusEfi 0b8c1e69dc TLE8888 watchdog #917 2020-02-10 14:37:52 -05:00
rusEfi 59eb424ba0 TLE8888 watchdog #917
window watchdog progress
2020-02-10 13:24:09 -05:00
rusefi b3bc3325b9 TLE8888 watchdog #917
first steps
2020-02-10 11:11:00 -05:00
rusefi cb8612a15c code style 2020-02-10 09:29:11 -05:00
rusEfi 551273a336 FATAL error running MRE blinking test fix #1137 2020-02-09 21:16:31 -05:00
rusEfi 51cfc6bcf1 tle8888 start-up clean-up 2020-02-09 20:41:25 -05:00
rusefi 8a88c90f3b code style: trying to get used to this syntax 2020-01-22 00:45:09 -05:00
rusefi bb217b01dd happy new year unification 2020-01-13 21:57:43 -05:00
dron0gus 618d6f5a5e Gpio diagnostic (#1100)
* enums: add brain_pin_diag_e enum for pin diagnostic

* gpio core: add pin diagnostic call

* gpio: mc33810: add diagnostic support

* gpio: mc33972: add diagnostic support

* gpio: tle6240: add diagnostic

* pin_repository: output diagnostic data for gpio chips

* enums: kinetis: add brain_pin_diag_e enum for pin diagnostic
2020-01-12 10:20:10 -05:00
dron0gus 85a460f2ba hw: gpio: use unsigned int as pin number inside gpiochip drives (#1097)
Not brain_pin_e. Drivers like to see pin number within current
chip.
2020-01-11 10:29:41 -05:00
rusefi b83a5310be happy new year 2020-01-08 00:02:40 -05:00
dron0gus 9f0d84f338 Gpio fixes (#1086)
* drivers: gpio: add MC33810 driver (skeleton)

* pin_repository: debug: do not show absent chips
2020-01-07 07:55:50 -05:00
Matthew Kennedy 9645130527 Shrink output channels, now with passing CI (#1077)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order

* fix output size

* comments

* reorder fields, no sizes yet

* should've been signed

* simplify constructor mess, hook up scaling

* notes

* typo

* if -> switch

* rev signature

* correct map offset

* handle unsigned properly

* RPM is unsigned

* vss isn't scaled

* extract magic

* required generated for build

* de-scale rpm

* field type cases
2019-12-22 08:12:45 -05:00
rusefi 871f86967f Revert "DRAFT Shrink output channels, again (#1074)"
This reverts commit 562ce6cc
2019-12-21 15:02:49 -05:00
Matthew Kennedy 562ce6ccaf DRAFT Shrink output channels, again (#1074)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order

* fix output size

* comments

* reorder fields, no sizes yet

* should've been signed

* simplify constructor mess, hook up scaling

* notes

* typo

* if -> switch
2019-12-21 08:55:19 -05:00
rusefi 22f2739764 Revert "Shrink output channels, use scaling (#1069)"
This reverts commit 89405014
2019-12-19 22:35:06 -05:00
Matthew Kennedy 89405014cf Shrink output channels, use scaling (#1069)
* reorder fields

* temporary tle8888 fix

* comment, simplify

* hand tweak generated

* oops, those are reciprocal

* fix engineLoadAccelExtra

* aggressive priority order
2019-12-19 20:37:42 -05:00
rusefi 7dfdfc6378 docs & code formatting 2019-11-19 18:17:03 -05:00
andreika-git 63702dbeeb TLE6240 outputs fix (#994) 2019-11-01 15:49:55 -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
Matthew Kennedy 29804cbc8a move tsOutputChannels to header (#970) 2019-10-08 21:02:51 -04:00
rusefi 5d8e1f6c73 tle8888 reinit command 2019-09-05 10:30:27 -04:00
rusefi e4566ba6aa TLE8888: NB2 solution + reset counter 2019-09-05 10:01:59 -04:00
dron0gus 51db88de18 TLE8888: track reset event by cleared OE bit in status register (#918)
As tle8888 suposed to be reset master and reset MCU there is no
flag showing POR reset. So try to poll OE bit.
2019-09-05 08:55:17 -04:00
rusefi c9241b89da Hall mode for TLE88888 - VRSConfig1 VRSM #915 2019-09-04 20:02:32 -04:00
rusefi 6262a5e84e Hall mode for TLE88888 - VRSConfig1 VRSM #915 2019-09-04 09:24:01 -04:00
rusefi 07cc3cffff Hall mode for TLE88888 - VRSConfig1 VRSM #915 2019-09-04 00:27:19 -04:00
rusefi b09ab8a57f TLE8888 should be re-initialized every time we get +12 volts fix #901
fuel pump test passed, also longer start-up timeout is needed for reliable start
2019-08-16 23:21:03 -04:00
rusefi 51902c12c5 TLE8888 should be re-initialized every time we get +12 volts #901
moving SPI initialization to thread - still works on real hardware
2019-08-16 22:56:06 -04:00
rusefi 7eb3c7122f TLE8888 should be re-initialized every time we get +12 volts #901
refactoring: extracting method
2019-08-16 22:41:19 -04:00
rusefi ed854a3828 refactoring 2019-08-16 22:01:32 -04:00
rusefi 9d32f2c40a refactoring: ChibiOS now offers native 'lockAnyContext' pattern 2019-08-11 15:23:15 -04:00
rusefi ee41d37c08 code style/type safety/docs/typos 2019-08-10 11:13:41 -04:00
rusefi c29a6bb323 MRE hangs up on bench fix #899 2019-08-10 00:53:16 -04:00
rusefi cdac02429c refactoring: better file name 2019-07-06 20:15:49 -04:00
rusefi 7280d65cf8 we need TLE8888 driver #714 2019-06-08 21:58:23 -04:00
rusefi 787af95050 tle8888 driver bug #803
undoing since this breaks start-up
2019-06-08 20:28:13 -04:00
rusefi d6be89d9b0 we need TLE8888 driver #714
trying a sleep before first command
2019-06-08 18:31:56 -04:00
rusefi bd4c5a017e we need TLE8888 driver #714
saving exact TLE8888 reponses
2019-06-08 16:13:24 -04:00
rusefi 061e7c6bf0 https://github.com/rusefi/rusefi/issues/803 2019-06-08 00:44:18 -04:00
rusefi 0fb89c4f7b better status code 2019-06-07 19:14:55 -04:00
rusefi 7dff7a08c9 reviving tle8888 configuration 2019-06-05 22:32:30 -04:00
rusefi c7c613a7fa code style 2019-06-05 21:44:58 -04:00
rusefi 0b5572d229 docs 2019-05-30 17:43:40 -04:00
dron0gus 04ee37548b Smart gpios fixes 3 (#795)
* pin_repository: provide readable pin names in error cases

* io_pins: remove getBrain_pin_eExt

We have getBrain_pin_eExt in io_pins.cpp and hwPortname in
pin_repository.cpp.
First uses auto-generated enums, second one uses runtime data to
provide name of hw pin.
Removing first saves us about 2K of flash couse big auto-generated
switch with pin names no more used by anyone and gets optimized out.

* gpios: mc33972: CS pin is now requested at smart_gpios.pcc

* getSpiDevice: support SPI4

* smart_gpios.cpp: startSmartCsPins set CSs to inactive state

OutputPin:initPin initializes pin with false value. This is active
state for SPI Chip Selects. Set to 1 to deselect all chips.
2019-05-09 18:09:24 -04:00
andreika-git b80d95578d EFI_CONSOLE_UART_DEVICE, flash->hw_ports, Fix TLE6240 and misc.fixes (#793)
* rename EFI_CONSOLE_UART_DEVICE -> EFI_CONSOLE_SERIAL_DEVICE

* Impl. EFI_CONSOLE_UART_DEVICE

* Move flash source files to ports/stm32/ & hw_ports.mk

* Fix TLE6240

* Fix EFI_NO_CONFIG_WORKING_COPY

* EFI_PRINT_MESSAGES_TO_TERMINAL
2019-05-05 11:06:27 -04:00
dron0gus ba118e61f2 tle8888: fix pin names array (#771) 2019-04-21 08:50:07 -04:00
rusefi f62731cc99 USB and TLE8888 not working for F4 or F767 #764 2019-04-20 23:39:06 -04:00
dron0gus 71cc657f10 Smart gpio fixes 2 (#765)
* gpio chips: relax error checking on _add

Do not halt whole system if wrong or nulled config is passed.
In current smart-gpio implementation this can happen and it is not
as error. Let smart-gpio handle this, kust reurn negative.

* tle8888: return back includes needed for debug

* smar-gpio: -Werror=missing-field-initializers fix
2019-04-19 01:42:24 -04:00
dron0gus ec75c47b73 Smart gpios fixes - now without cleanup of smart_gpio.cpp (#758)
* smart_gpio.cpp: check _add return values

And occupy gpiochip's pin range if disabled of failed. So base will
align with enum.

* TLE8888: cleanup, move high level code to smart_gpio.cpp

* smart_gpio.cpp: fix compilation when BOARD_EXT_GPIOCHIPS == 0

* board-subaru: fix compilation after latest smart_gpio updates

* tle8888: now we have all 28 pins supported
2019-04-16 09:23:24 -04:00
andreika-git 21346c0063 Add more portability to smart_gpio & SPI (#754) 2019-04-14 13:35:30 -04:00
rusefi f8afa29a0f we need TLE8888 driver #714 2019-04-14 08:20:25 -04:00
dron0gus c1593ea31e TLE8888: remove hacks (#753) 2019-04-14 08:15:01 -04:00
rusefi 623c07a1e4 last part of this typo 2019-04-14 07:45:28 -04:00
rusefi e2e44f923f typo 2019-04-13 22:56:33 -04:00
rusEfi f8fec2e2fb thank you Dron_gus fot the idea! 2019-04-13 19:55:18 -04:00
dron0gus 76cc822b1e Smart gpios (#752)
* efi_gpio: update cached pin value for ext gpios to

* tle6240: update and fix

* gpiochips_init should be called after all gpio chips are added

or we can lost calls to _init of chips

* smart_gpio.c: fix for tle6240 and mc33972

now config structs are not const. waste of ram...
2019-04-14 01:32:46 +02:00
rusEfi b04b1ce5c4 my hope is gone 2019-04-13 19:09:39 -04:00
rusEfi 519299ecc3 talk to me? 2019-04-13 18:47:32 -04:00
rusEfi 265b70433e reducing risks 2019-04-13 18:26:29 -04:00
rusEfi 41a56b0d85 I am in macro hell :( 2019-04-13 17:34:26 -04:00
rusefi 75ea5cd812 we need TLE8888 driver #714 2019-04-13 12:43:19 -04:00
rusefi fb0bbc075c steps towards smarter gpio 2019-04-13 12:02:34 -04:00
rusefi 00e848c243 steps towards smarter gpio 2019-04-13 11:22:40 -04:00
rusefi db9456902f steps towards smarter gpio 2019-04-13 10:58:52 -04:00
rusefi ea87042798 steps towards smarter gpio 2019-04-13 10:11:28 -04:00
rusefi 508e9d74e7 defined(__DOXYGEN__) ? #748 2019-04-12 20:52:51 -04:00
dron0gus 6d1ca92dac gpio-chips: TLE8888 add initial support of spi-driven outputs (#750) 2019-04-13 01:22:16 +02:00
dron0gus 2447f5ea1a gpio chips (#744)
* tle8888: fix building for stm32f765

* gpio-chips: add mc33972 driver
2019-04-12 22:14:25 +02:00
dron0gus 1b39480e64 Gpiochips integration (#740)
* gpio-chips core function renames

* efi_gpio, pin_repository: add support for external gpios

* gpio-chips update

* gpio-chips: add api to name each pin of gpiochip

* tle6240: provide individual names for each pin
2019-04-10 14:43:54 +02:00
dron0gus c6a1d0cbe0 gpios rework (#739)
* Some more include fixes for linux

* Pass cross-compile path through CROSS_COMPILE

* Lower-upper case conversion fixes for linux

* Rename unmarkPin to brain_pin_markUnused

This is part of external gpiochip integration

* Add gpio_pin prefix to markUsed and markUnused

To distinguish from similar functions using brain_pin

* pin_repository: add helpers

this is part of gpio chips integration

* efi_gpio: simplify getHwPin using brain_pin_is_onchip
2019-04-10 01:31:10 +02:00
rusefi bbcb86ec1f we need TLE8888 driver #714 2019-04-07 08:35:04 -04:00
rusefi d8f8d10369 we need TLE8888 driver #714
F7 support
2019-04-06 22:04:35 -04:00
rusefi 9bf052c000 we need TLE8888 driver #714 2019-04-06 13:11:46 -04:00
rusefi 8ae8d3d58f we need TLE8888 driver #714 2019-04-06 12:26:37 -04:00
rusefi 35b0b2c211 we need TLE8888 driver #714
it works now! all SPI/CS pins in 'default' mode
2019-04-06 10:30:20 -04:00
rusefi 17f073a439 we need TLE8888 driver #714 2019-04-06 07:38:02 -04:00
dron0gus 8cf20976f6 tle8888: fix spi confog for STM32F4 (#735)
* tle8888: fix spi confog for STM32F4

* TLE8888: fix array out of bounds access due to incorrect define used in loop
2019-04-06 00:37:00 +02:00
rusefi 0aac3c8f41 we need TLE8888 driver #714 2019-04-04 23:03:32 -04:00
rusefi a8442d5f32 we need TLE8888 driver #714 2019-04-04 20:57:51 -04:00
rusefi 41fa8bdcec we need TLE8888 driver #714 2019-04-04 20:03:31 -04:00
rusefi 334af50f3f we need TLE8888 driver #714 2019-04-04 19:56:03 -04:00
rusefi 5b11926fea we need TLE8888 driver #714 2019-04-04 19:29:33 -04:00
rusefi d30009af16 fixing build 2019-04-04 18:52:00 -04:00
rusefi 43f289e4c2 fixing unit tests 2019-04-04 10:08:50 -04:00
dron0gus bb0fcf3f87 TLE8888: initial support (#733) 2019-04-04 15:55:18 +02:00
andreika-git b80806182f More portability & small fixes (#719)
* Use hw_stm32.mk

* Fix bootloader

* Use more common hw_ports.mk filename instead of hw_stm32.mk

* More CPU compatibility for Makefile

* TS_UART_MODE & rename TS_SERIAL_UART_DEVICE->TS_SERIAL_DEVICE

* Move lockAnyContext()/unlockAnyContext() to rfiutil.c

* USE_FATFS

* EFI_LCD

* Less compilation errors

* STATUS_LOGGING_BUFFER_SIZE & SETTINGS_LOGGING_BUFFER_SIZE

* EFI_ALTERNATOR_CONTROL, EFI_SERVO, EFI_DISABLE_CONSOLE_ACTIONS

* #ifndef PWM_PHASE_MAX_COUNT & more flexible GPIO inside portname()

* merge

* EFI_ALTERNATOR_CONTROL, EFI_ELECTRONIC_THROTTLE_BODY
2019-03-29 15:29:01 +01:00
andreika-git c34d7cac48 More compatibility for ADC_inputs, etc. (#716)
* Move STM32-specific ADC pinouts to ports/stm32/stm32_common.cpp

* Move STM32-specific files to ports/*

* setAdcChannelOverrides()

* Add #ifdefs for adc_inputs (PWM_FREQ_*, PWM_PERIOD_*, ADC_*_DEVICE)

* addChannel(), removeChannel()

* fix tle6240 compilation

* Add stm32_common.cpp to Makefile

* More ports/stm32/* paths

* More ports/stm32/* paths

* More flexible GPIO ports

* Add #ifdef for GPTDEVICE

* EFI_BOARD_TEST and EFI_JOYSTICK

* EFI_TLE8888

* Fix HIP9011_logic compilation

* ADC_CHANNEL_SENSOR

* Move ioportid_t PORTS[] to ports/*

* Fix simulator
2019-03-28 22:46:10 -04:00
rusefi 6104a831c1 we need TLE8888 driver #714 2019-03-27 04:02:34 -04:00
rusefi 0dadb6de68 we need TLE8888 driver #714 2019-03-26 12:30:30 -04:00
rusefi 7e58e54976 better error handling for invalid SPI settings 2019-03-26 09:38:23 -04:00
rusefi cf740411f2 SPI prescaler refactoring 2019-03-25 22:41:31 -04:00
rusefi fc590524c2 we need TLE8888 driver #714 2019-03-25 20:30:36 -04:00
rusefi b823a00f8e we need TLE8888 driver #714 2019-03-25 15:50:14 -04:00
rusefi c9b022d562 we need TLE8888 driver #714 2019-03-25 15:08:32 -04:00
rusefi 8f2a385b58 typos and better parameter name 2019-03-25 14:29:34 -04:00
dron0gus 47950dcf5e tle6240 gpio driver implementation (#704)
* TLE6240: move to gpio drivers directory

* TLE6240: add gpiochip driver code
2019-03-13 08:03:22 -04:00
dron0gus 70ebc06517 gpiochips API, core and unit test (#703)
* Add external gpiochips driver API and core

* gpiochips: add unit test
2019-03-12 10:12:37 -04:00