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