Split out HAPTIC_ENABLE to have separate DRIVER option (#14854)

* DRIVER -> ENABLE

* Update generic_features.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update common_features.mk

Co-authored-by: Ryan <fauxpark@gmail.com>
master
Joel Challis 2021-10-18 12:55:44 +01:00 committed by GitHub
parent e50867d52d
commit 01b702bece
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 44 additions and 36 deletions

View File

@ -495,23 +495,19 @@ ifeq ($(strip $(CRC_ENABLE)), yes)
SRC += crc.c SRC += crc.c
endif endif
HAPTIC_ENABLE ?= no ifeq ($(strip $(HAPTIC_ENABLE)),yes)
ifneq ($(strip $(HAPTIC_ENABLE)),no)
COMMON_VPATH += $(DRIVER_PATH)/haptic COMMON_VPATH += $(DRIVER_PATH)/haptic
OPT_DEFS += -DHAPTIC_ENABLE
SRC += $(QUANTUM_DIR)/haptic.c
SRC += $(QUANTUM_DIR)/process_keycode/process_haptic.c
endif
ifneq ($(filter DRV2605L, $(HAPTIC_ENABLE)), ) ifneq ($(filter DRV2605L, $(HAPTIC_DRIVER)), )
SRC += DRV2605L.c SRC += DRV2605L.c
QUANTUM_LIB_SRC += i2c_master.c QUANTUM_LIB_SRC += i2c_master.c
OPT_DEFS += -DDRV2605L OPT_DEFS += -DDRV2605L
endif endif
ifneq ($(filter SOLENOID, $(HAPTIC_ENABLE)), ) ifneq ($(filter SOLENOID, $(HAPTIC_DRIVER)), )
SRC += solenoid.c SRC += solenoid.c
OPT_DEFS += -DSOLENOID_ENABLE OPT_DEFS += -DSOLENOID_ENABLE
endif
endif endif
ifeq ($(strip $(HD44780_ENABLE)), yes) ifeq ($(strip $(HD44780_ENABLE)), yes)

View File

@ -4,9 +4,12 @@
The following options are currently available for haptic feedback in `rules.mk`: The following options are currently available for haptic feedback in `rules.mk`:
`HAPTIC_ENABLE += DRV2605L` ```
HAPTIC_ENABLE = yes
`HAPTIC_ENABLE += SOLENOID` HAPTIC_DRIVER += DRV2605L
HAPTIC_DRIVER += SOLENOID
```
## Known Supported Hardware ## Known Supported Hardware

View File

@ -9,9 +9,12 @@
現在のところ、`rules.mk` で触覚フィードバック用に以下のオプションを利用可能です: 現在のところ、`rules.mk` で触覚フィードバック用に以下のオプションを利用可能です:
`HAPTIC_ENABLE += DRV2605L` ```
HAPTIC_ENABLE = yes
`HAPTIC_ENABLE += SOLENOID` HAPTIC_DRIVER += DRV2605L
HAPTIC_DRIVER += SOLENOID
```
## サポートされる既知のハードウェア ## サポートされる既知のハードウェア

View File

@ -25,6 +25,7 @@ GENERIC_FEATURES = \
DYNAMIC_MACRO \ DYNAMIC_MACRO \
ENCODER \ ENCODER \
GRAVE_ESC \ GRAVE_ESC \
HAPTIC \
KEY_LOCK \ KEY_LOCK \
KEY_OVERRIDE \ KEY_OVERRIDE \
LEADER \ LEADER \

View File

@ -22,6 +22,7 @@ AUDIO_ENABLE = yes # Audio output
RGBLIGHT_ENABLE = no RGBLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = no RGB_MATRIX_ENABLE = no
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812
HAPTIC_ENABLE += DRV2605L HAPTIC_ENABLE = yes
HAPTIC_DRIVER = DRV2605L
OLED_ENABLE = yes OLED_ENABLE = yes
OLED_DRIVER = SSD1306 OLED_DRIVER = SSD1306

View File

@ -13,6 +13,7 @@ COMMAND_ENABLE = yes
NKRO_ENABLE = yes NKRO_ENABLE = yes
AUDIO_ENABLE = yes AUDIO_ENABLE = yes
UNICODE_ENABLE = yes UNICODE_ENABLE = yes
HAPTIC_ENABLE = SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID
RGBLIGHT_STARTUP_ANIMATION = yes RGBLIGHT_STARTUP_ANIMATION = yes

View File

@ -21,7 +21,8 @@ AUDIO_ENABLE = yes
RGBLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no # once arm_rgb is implemented RGB_MATRIX_ENABLE = no # once arm_rgb is implemented
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812
HAPTIC_ENABLE += DRV2605L HAPTIC_ENABLE = yes
HAPTIC_DRIVER = DRV2605L
OLED_ENABLE = yes OLED_ENABLE = yes
OLED_DRIVER = SSD1306 OLED_DRIVER = SSD1306
ENCODER_ENABLER = yes ENCODER_ENABLER = yes

View File

@ -22,4 +22,5 @@ ENCODER_ENABLE = no # Enable rotary encoder support
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
HAPTIC_ENABLE += SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

View File

@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
# Build Options # Build Options
# change yes to no to disable # change yes to no to disable
# #
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug CONSOLE_ENABLE = no # Console for debug
@ -22,7 +22,8 @@ AUDIO_ENABLE = yes # Audio output
ENCODER_ENABLE = yes # ENables the use of one or more encoders ENCODER_ENABLE = yes # ENables the use of one or more encoders
OLED_ENABLE = yes OLED_ENABLE = yes
OLED_DRIVER = SSD1306 # Enables the use of OLED displays OLED_DRIVER = SSD1306 # Enables the use of OLED displays
HAPTIC_ENABLE += DRV2605L # Supported but not included by defaut HAPTIC_ENABLE = yes # Supported but not included by defaut
HAPTIC_DRIVER = DRV2605L
LTO_ENABLE = yes LTO_ENABLE = yes

View File

@ -22,4 +22,5 @@ ENCODER_ENABLE = no # Enable rotary encoder support
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
HAPTIC_ENABLE += SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

View File

@ -22,5 +22,7 @@ ENCODER_ENABLE = no # Enable rotary encoder support
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
HAPTIC_ENABLE += SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID
LAYOUTS = fullsize_ansi fullsize_iso LAYOUTS = fullsize_ansi fullsize_iso

View File

@ -22,4 +22,5 @@ ENCODER_ENABLE = no # Enable rotary encoder support
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
HAPTIC_ENABLE += SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

View File

@ -22,4 +22,5 @@ ENCODER_ENABLE = no # Enable rotary encoder support
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
HAPTIC_ENABLE += SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

View File

@ -17,6 +17,7 @@ NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: ht
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
AUDIO_ENABLE = no # Audio output AUDIO_ENABLE = no # Audio output
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
HAPTIC_ENABLE += SOLENOID HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

View File

@ -28,7 +28,6 @@ ifeq ($(strip $(KEYBOARD)), planck/light)
RGBLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes
RGBLIGHT_STARTUP_ANIMATION = yes RGBLIGHT_STARTUP_ANIMATION = yes
AUDIO_ENABLE = yes AUDIO_ENABLE = yes
# HAPTIC_ENABLE += SOLENOID
endif endif
ifeq ($(strip $(KEYBOARD)), planck/ez) ifeq ($(strip $(KEYBOARD)), planck/ez)
RGBLIGHT_ENABLE = no RGBLIGHT_ENABLE = no

View File

@ -112,11 +112,6 @@ def _extract_features(info_data, rules):
if rules.get('BOOTMAGIC_ENABLE') == 'full': if rules.get('BOOTMAGIC_ENABLE') == 'full':
rules['BOOTMAGIC_ENABLE'] = 'on' rules['BOOTMAGIC_ENABLE'] = 'on'
# Skip non-boolean features we haven't implemented special handling for
for feature in ('HAPTIC_ENABLE',):
if rules.get(feature):
del rules[feature]
# Process the rest of the rules as booleans # Process the rest of the rules as booleans
for key, value in rules.items(): for key, value in rules.items():
if key.endswith('_ENABLE'): if key.endswith('_ENABLE'):