Haptic feedback generalized - DRV2605 and solenoids (#4939)

* initial work to add eeprom to haptic feedback and decouple the feedback process from keyboards

* Haptic feedback enhancements: on/off toggle working, feedback order working
todo:
-work on modes switching
-get modes switching to save to eeprom

* haptic enhancement - eeprom and modes added

* Added set and get functions for haptic feedback

* initial implementation of solenoids under haptic feedback

* changed eeprom to 32 bits to reserve blocks for future features

* start documentation of haptic feedback

* change keycode per comment from reviewers

* typo fixes

* added eeprom for solenoid configs

* added solenoid and docs

* Add/fix default parameters configs, improve docs

* more doc cleanup

* add in solenoid buzz toggle, clean up doc

* some fixes for error in compiling solenoid

* fix a chibios specific i2c read function and added one for AVR controllers in DRV2605L.c

* fixes for avr side issues

* update keymap

* fix keymap compile error

* fix bugs found during solenoid testing

* set pin that is not powered during bootloader

* added warning about certain pins on the MCU may trip solenoid during DFU/bootloader
This commit is contained in:
ishtob 2019-02-16 21:39:30 -05:00 committed by MechMerlin
parent a7a647b7f6
commit 2cee371bf1
18 changed files with 750 additions and 48 deletions

View file

@ -446,25 +446,36 @@ enum quantum_keycodes {
KC_LOCK,
#endif
#ifdef TERMINAL_ENABLE
TERM_ON,
TERM_OFF,
#endif
#ifdef TERMINAL_ENABLE
TERM_ON,
TERM_OFF,
#endif
EEPROM_RESET,
EEPROM_RESET,
UNICODE_MODE_FORWARD,
UNICODE_MODE_REVERSE,
UNICODE_MODE_FORWARD,
UNICODE_MODE_REVERSE,
UNICODE_MODE_OSX,
UNICODE_MODE_LNX,
UNICODE_MODE_WIN,
UNICODE_MODE_BSD,
UNICODE_MODE_WINC,
UNICODE_MODE_OSX,
UNICODE_MODE_LNX,
UNICODE_MODE_WIN,
UNICODE_MODE_BSD,
UNICODE_MODE_WINC,
// always leave at the end
SAFE_RANGE
};
HPT_ON,
HPT_OFF,
HPT_TOG,
HPT_RST,
HPT_FBK,
HPT_BUZ,
HPT_MODI,
HPT_MODD,
HPT_DWLI,
HPT_DWLD,
// always leave at the end
SAFE_RANGE
};
// Ability to use mods in layouts
#define LCTL(kc) (QK_LCTL | (kc))