~ruther/qmk_firmware

01b702bece4de0aa17c1df39a3305a1b643fd762 — Joel Challis 3 years ago e50867d
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>
M common_features.mk => common_features.mk +10 -14
@@ 495,23 495,19 @@ ifeq ($(strip $(CRC_ENABLE)), yes)
    SRC += crc.c
endif

HAPTIC_ENABLE ?= no
ifneq ($(strip $(HAPTIC_ENABLE)),no)
ifeq ($(strip $(HAPTIC_ENABLE)),yes)
    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)), )
    SRC += DRV2605L.c
    QUANTUM_LIB_SRC += i2c_master.c
    OPT_DEFS += -DDRV2605L
endif
    ifneq ($(filter DRV2605L, $(HAPTIC_DRIVER)), )
        SRC += DRV2605L.c
        QUANTUM_LIB_SRC += i2c_master.c
        OPT_DEFS += -DDRV2605L
    endif

ifneq ($(filter SOLENOID, $(HAPTIC_ENABLE)), )
    SRC += solenoid.c
    OPT_DEFS += -DSOLENOID_ENABLE
    ifneq ($(filter SOLENOID, $(HAPTIC_DRIVER)), )
        SRC += solenoid.c
        OPT_DEFS += -DSOLENOID_ENABLE
    endif
endif

ifeq ($(strip $(HD44780_ENABLE)), yes)

M docs/feature_haptic_feedback.md => docs/feature_haptic_feedback.md +5 -2
@@ 4,9 4,12 @@

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


M docs/ja/feature_haptic_feedback.md => docs/ja/feature_haptic_feedback.md +5 -2
@@ 9,9 9,12 @@

現在のところ、`rules.mk` で触覚フィードバック用に以下のオプションを利用可能です:

`HAPTIC_ENABLE += DRV2605L`
```
HAPTIC_ENABLE = yes

`HAPTIC_ENABLE += SOLENOID`
HAPTIC_DRIVER += DRV2605L
HAPTIC_DRIVER += SOLENOID
```

## サポートされる既知のハードウェア


M generic_features.mk => generic_features.mk +1 -0
@@ 25,6 25,7 @@ GENERIC_FEATURES = \
    DYNAMIC_MACRO \
    ENCODER \
    GRAVE_ESC \
    HAPTIC \
    KEY_LOCK \
    KEY_OVERRIDE \
    LEADER \

M keyboards/boston_meetup/2019/rules.mk => keyboards/boston_meetup/2019/rules.mk +2 -1
@@ 22,6 22,7 @@ AUDIO_ENABLE = yes          # Audio output
RGBLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = no
RGB_MATRIX_DRIVER = WS2812
HAPTIC_ENABLE += DRV2605L
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = DRV2605L
OLED_ENABLE = yes
OLED_DRIVER = SSD1306

M keyboards/c39/keymaps/drashna/rules.mk => keyboards/c39/keymaps/drashna/rules.mk +2 -1
@@ 13,6 13,7 @@ COMMAND_ENABLE = yes
NKRO_ENABLE = yes
AUDIO_ENABLE = yes
UNICODE_ENABLE = yes
HAPTIC_ENABLE = SOLENOID
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

RGBLIGHT_STARTUP_ANIMATION = yes

M keyboards/hadron/ver3/rules.mk => keyboards/hadron/ver3/rules.mk +2 -1
@@ 21,7 21,8 @@ AUDIO_ENABLE = yes
RGBLIGHT_ENABLE = yes
RGB_MATRIX_ENABLE = no # once arm_rgb is implemented
RGB_MATRIX_DRIVER = WS2812
HAPTIC_ENABLE += DRV2605L
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = DRV2605L
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ENCODER_ENABLER = yes

M keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk => keyboards/ibm/model_m_4th_gen/overnumpad_1xb/rules.mk +2 -1
@@ 22,4 22,5 @@ ENCODER_ENABLE = no         # Enable rotary encoder support
AUDIO_ENABLE = no           # Audio output
KEYBOARD_SHARED_EP = yes    # Free up some extra endpoints - needed if console+mouse+extra

HAPTIC_ENABLE += SOLENOID
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

M keyboards/splitkb/zima/rules.mk => keyboards/splitkb/zima/rules.mk +4 -3
@@ 7,7 7,7 @@ BOOTLOADER = atmel-dfu
# Build Options
#   change yes to no to disable
#
BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
BOOTMAGIC_ENABLE = no      # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no       # Mouse keys
EXTRAKEY_ENABLE = yes      # Audio control and System control
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
OLED_ENABLE = yes
OLED_DRIVER = SSD1306   # Enables the use of OLED displays
HAPTIC_ENABLE += DRV2605L  # Supported but not included by defaut
OLED_DRIVER = SSD1306      # Enables the use of OLED displays
HAPTIC_ENABLE = yes        # Supported but not included by defaut
HAPTIC_DRIVER = DRV2605L

LTO_ENABLE = yes

M keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/rules.mk => keyboards/unicomp/classic_ultracl_post_2013/overnumpad_1xb/rules.mk +2 -1
@@ 22,4 22,5 @@ ENCODER_ENABLE = no         # Enable rotary encoder support
AUDIO_ENABLE = no           # Audio output
KEYBOARD_SHARED_EP = yes    # Free up some extra endpoints - needed if console+mouse+extra

HAPTIC_ENABLE += SOLENOID
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

M keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/rules.mk => keyboards/unicomp/classic_ultracl_pre_2013/overnumpad_1xb/rules.mk +3 -1
@@ 22,5 22,7 @@ ENCODER_ENABLE = no         # Enable rotary encoder support
AUDIO_ENABLE = no           # Audio output
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

M keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/rules.mk => keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/rules.mk +2 -1
@@ 22,4 22,5 @@ ENCODER_ENABLE = no         # Enable rotary encoder support
AUDIO_ENABLE = no           # Audio output
KEYBOARD_SHARED_EP = yes    # Free up some extra endpoints - needed if console+mouse+extra

HAPTIC_ENABLE += SOLENOID
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

M keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/rules.mk => keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/rules.mk +2 -1
@@ 22,4 22,5 @@ ENCODER_ENABLE = no         # Enable rotary encoder support
AUDIO_ENABLE = no           # Audio output
KEYBOARD_SHARED_EP = yes    # Free up some extra endpoints - needed if console+mouse+extra

HAPTIC_ENABLE += SOLENOID
HAPTIC_ENABLE = yes
HAPTIC_DRIVER = SOLENOID

M keyboards/xw60/rules.mk => keyboards/xw60/rules.mk +2 -1
@@ 17,6 17,7 @@ NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: ht
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
AUDIO_ENABLE = no           # Audio output
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
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

M layouts/community/ortho_4x12/drashna/rules.mk => layouts/community/ortho_4x12/drashna/rules.mk +0 -1
@@ 28,7 28,6 @@ ifeq ($(strip $(KEYBOARD)), planck/light)
    RGBLIGHT_ENABLE             = yes
    RGBLIGHT_STARTUP_ANIMATION  = yes
    AUDIO_ENABLE       			= yes
    # HAPTIC_ENABLE               += SOLENOID
endif
ifeq ($(strip $(KEYBOARD)), planck/ez)
    RGBLIGHT_ENABLE             = no

M lib/python/qmk/info.py => lib/python/qmk/info.py +0 -5
@@ 112,11 112,6 @@ def _extract_features(info_data, rules):
    if rules.get('BOOTMAGIC_ENABLE') == 'full':
        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
    for key, value in rules.items():
        if key.endswith('_ENABLE'):