aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol
AgeCommit message (Collapse)Author
2020-03-10Refactor rgblight_reconfig.h (#7773)Gravatar Takeshi ISHII
* Moved contents of rgblight_reconfig.h to rgblight_post_config.h. In #3582, rgblight_reconfig.h had to be newly created. Now, the build system of qmk_firmware has a post_cofig feature, so that what was done in rgblight_reconfig.h can now be realized in rgblight_post_config.h. **This commit does not change the build result.** Testing script ```shell # build on master git checkout master echo master > /tmp/master_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/master_md5.txt # build on refactor_rgblight_reconfig.h git checkout refactor_rgblight_reconfig.h echo refactor_rgblight_reconfig.h > /tmp/branch_md5.txt # RGBLIGHT_ENABLE = no make HELIX=verbose helix/rev2:default:clean make HELIX=verbose helix/rev2:default md5 helix_rev2_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, with animations make HELIX=verbose helix/rev2/back:default:clean make HELIX=verbose helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt # RGBLIGHT_ENABLE = yes, without animations make HELIX=verbose,no_ani helix/rev2/back:default:clean make HELIX=verbose,no_ani helix/rev2/back:default md5 helix_rev2_back_default.hex >> /tmp/branch_md5.txt diff -u /tmp/master_md5.txt /tmp/branch_md5.txt ``` Test result: ``` --- /tmp/master_md5.txt 2020-01-03 15:42:22.000000000 +0900 +++ /tmp/branch_md5.txt 2020-01-03 15:42:42.000000000 +0900 @@ -1,4 +1,4 @@ -master +refactor_rgblight_reconfig.h MD5 (helix_rev2_default.hex) = f360032edd522448366d471d8f4f8181 MD5 (helix_rev2_back_default.hex) = 0c663acc6cccc44476b3b969ad22a48f MD5 (helix_rev2_back_default.hex) = e66b1195ff6d38e6e22c975b8ae42fd3 ``` * Expressions that are too long are difficult to read, so wrap them. * Edit the expression again * remove `defined(RGBLIGHT_ANIMATIONS)` in `tmk_core/common/*/suspend.c`, `tmk_core/protocol/*/main.c` move contents of rgblight_reconfig.h to rgblight.h. The following changes were made to rgblight.h. ```diff +#ifdef RGBLIGHT_USE_TIMER void rgblight_task(void); void rgblight_timer_init(void); void rgblight_timer_enable(void); void rgblight_timer_disable(void); void rgblight_timer_toggle(void); +#else +#define rgblight_task() +#define rgblight_timer_init() +#define rgblight_timer_enable() +#define rgblight_timer_disable() +#define rgblight_timer_toggle() +#endif ``` The following changes were made to tmk_core/common/avr/suspend.c, tmk_core/common/chibios/suspend.c, tmk_core/protocol/chibios/main.c, tmk_core/protocol/lufa/lufa.c, tmk_core/protocol/vusb/main.c. ```diff -# ifdef RGBLIGHT_ANIMATIONS rgblight_timer_enable(); -# endif ``` ```diff -#if defined(RGBLIGHT_ANIMATIONS) && defined(RGBLIGHT_ENABLE) +#if defined(RGBLIGHT_ENABLE) rgblight_task(); #endif ``` * remove 'defined(RGBLIGHT_ANIMATIONS)' in tmk_core/common/keyboard.c Co-authored-by: Joel Challis <git@zvecr.com>
2020-02-292020 February 29 Breaking Changes Update (#8064)Gravatar James Young
2020-02-25Improvements to extrakey HID descriptors (#8156)Gravatar Ryan
2020-02-22Update main.c (#8198)Gravatar yiancar
2020-02-12format code according to conventions [skip ci]Gravatar QMK Bot
2020-02-12Align VUSB HID descriptors with LUFA/ChibiOS (#7675)Gravatar fauxpark
* Align VUSB HID descriptors with LUFA/ChibiOS * Wrap send_system and send_consumer in ifdefs too * Offset system usages to match LUFA/ChibiOS
2020-02-08Remove PJRC USB stackGravatar fauxpark
2020-02-04Add Midi Endpoint task to ChibiOS main (#8071)Gravatar Drashna Jaelre
2020-02-02format code according to conventions [skip ci]Gravatar QMK Bot
2020-02-02Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)Gravatar fauxpark
* Dedupe extrakey report struct, and send functions in V-USB & LUFA * Doc comment for consistency * Wrap it in ifdef to prevent unused function error * Do the same for ATSAM
2020-02-02format code according to conventions [skip ci]Gravatar QMK Bot
2020-02-02Align ATSAM HID descriptors with LUFA/ChibiOS (#7651)Gravatar fauxpark
* Align ATSAM HID descriptors with LUFA/ChibiOS * Don't hardcode raw endpoint size
2020-01-31Improve VIRTSER performance (#7528)Gravatar xyzz
2020-01-25format code according to conventions [skip ci]Gravatar QMK Bot
2020-01-25Fix unaligned access with LTO (#7801)Gravatar George Harris
Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
2020-01-21format code according to conventions [skip ci]Gravatar QMK Bot
2020-01-21Fix lock LEDs for ChibiOS when using shared endpoints (#7877)Gravatar fauxpark
* Fix lock LEDs for ChibiOS when using shared endpoints * Tweak comments * Doesn't need to be uint16 anymore
2020-01-19Move rgblight and backlight task to common location (#7733)Gravatar Joel Challis
2020-01-13chibios/usb_main: re-check USB status in send_keyboard after sleeping the ↵Gravatar xyzz
thread (#7784) * chibios/usb_main: re-check USB status in send_keyboard after sleeping the thread * change send_keyboard to only have 1 exit point
2020-01-13Fix KEYBOARD_SHARED_EP on ChibiOS (#7860)Gravatar Joel Challis
2019-12-13remove SERIAL_SOFT_DEBUG macro (#7625)Gravatar Drashna Jaelre
SERIAL_SOFT_DEBUG can be defined in the `config.h` Backported from tmk/tmk_keyboard@c74eee6327c5995456ba004d70b9663cf485d9f8 x
2019-12-14Fix ChibiOS USB config for chips which support OTGv1 (#7564)Gravatar Joel Challis
* Align endpoint config as per rest of file (fixes #4783) * Add comments about explicit order use * Update tmk_core/protocol/chibios/usb_main.c Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-12-11Remove mbed files (#7605)Gravatar Joel Challis
* Remove mbed files * Remove mbed files - fix comment * Remove mbed logic blocks
2019-12-11Use `clock_prescale_set()` from avr-libc (#7540)Gravatar fauxpark
* Use `clock_prescale_set()` from avr-libc * Remove outdated FAQ info
2019-12-08Set proper ASCII character for KC_NUHS in iWRAP code (#7434)Gravatar fauxpark
2019-11-25Remove vusb 'reset to bootloader' hid message due to security implications ↵Gravatar Joel Challis
(#7456)
2019-11-17Run clang-format manually to fix recently changed filesGravatar zvecr
2019-11-15Add support for configurable polling interval and power usage o… (#7336)Gravatar fauxpark
* Add support for custom polling interval and power usage on V-USB boards * Use 1ms as default for now
2019-11-10Fix chibios when mouse and nkro disabled (#7312)Gravatar Joel Challis
2019-11-07ARM - ws2812 bitbang (#7173)Gravatar Joel Challis
* Initial ARM bitbang ws2812 driver * Unify chibios platform to run rgblight_task * Remove 'avr only' comments from ws2812 docs * Remove 'avr only' comments from ws2812 docs * Unify chibios platform to run rgblight_task - review comments * Remove debug flags from keymap * Add comments from review * Add defines for STM32L0XX * Attempt to get arm ws2812 working on multiple gcc versions
2019-11-04Un-clang-format usb_descriptor.h (#7216)Gravatar fauxpark
Preserves readability of the file, making it easier to understand and modify.
2019-11-05Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258)Gravatar Christopher
2019-10-30rgblight_task logic fixes (#7214)Gravatar Joel Challis
2019-10-29 Refactor ps2avrgb i2c ws2812 to core (#7183)Gravatar Joel Challis
* Refactor ps2avrgb i2c ws2812 to core * Refactor jj40 to use ws2812 i2c driver * Refactor ps2avrgb template to use ws2812 i2c driver * Add ws2812 stub files * clang-format and driver config * Add ws2812 driver docs * Fix default config values * Update tmk_core/protocol/vusb/main.c Co-Authored-By: Drashna Jaelre <drashna@live.com>
2019-10-08Reorder Raw HID interface to match what the USB spec expects (#6801)Gravatar fauxpark
2019-09-07Adafruit BLE: Set SPI2X bit only when F_CPU is 8MHz (#6671)Gravatar fauxpark
2019-09-06Make USB polling rate configurable with a define (#6668)Gravatar fauxpark
2019-09-04Fix battery level code in adafruit_ble.cpp (#6648)Gravatar bwhelm
* Fix battery level code in adafruit_ble.cpp The code in tsk_core/protocol/lufa/adafluit_ble.cpp that polls the battery level for the Adafruit feather BLE controller reads the regulated voltage, not the raw voltage coming from the battery. To do that, the Adafruit Feather docs say you should read from pin A9: https://learn.adafruit.com/adafruit-feather-32u4-basic-proto/power-management#measuring-battery-4-9. (See also https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/pinouts#logic-pins-2-9.) I'm not sure why, but analogRead(9); doesn't read the correct pin. Checking all available analog pins experimentally, it turns out that analogRead(7); returns the correct value. So the code above should read: state.vbat = analogRead(7); * Update tmk_core/protocol/lufa/adafruit_ble.cpp Co-Authored-By: Drashna Jaelre <drashna@live.com> * Remove old comment * Fix linking error * Remove `#ifdef` around `#include analog.h`. * Really fix linking error
2019-08-30clang-format changesGravatar skullY
2019-08-30Fix the LUFA lib to use a submodule instead of just files (#6245)Gravatar Drashna Jaelre
* Remove LUFA files * Update descriptions for newer version of LUFA * Create PR6245.md * Fix CDC(Serial) type errors * Fix missed merge conflict for AUDIO_DTYPE_CSInterface
2019-08-30Fix vusb compiling after clang-formatGravatar skullY
2019-08-30LUFA USB descriptor cleanup (#4871)Gravatar fauxpark
* Fix indentation * Fix braces * Expand descriptor headers * Align descriptor elements * Nicer formatting * Tidy up preprocessor statements * Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418 * Tidy up comments * Tweak ordering of HID report elements (no functional changes) * We don't need all of these newlines * Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense * Ask nicely * Add some more comments * Change indentation back to 4 spaces * Add changelog entry
2019-08-25Added OLED Display autoscroll during periods of OLED data inactivity (#6546)Gravatar XScorpion2
* Added OLED Display autoscroll during periods of OLED data inactivity. * Fixing compile errors * Feedback from review
2019-07-31Removed print call to resolve #6364 (#6413)Gravatar Jake Grossman
* Change print to dprintf to avoid buffer overflow * Add stdio header for dprintf * Fix included headers
2019-06-03Fixes compile errors for massdrop keyboardsGravatar Chris Dosé
2019-05-10Cleanup/rgb matrix (#5811)Gravatar XScorpion2
* clean up rgb matrix extern usage Moved rgb matrix boiler plate into macros Rebased onto typing heatmap pr * Fixing the reversed frame buffer access in digital rain * Fixing digital rain & typing heatmap if keyreactive effects are not enabled * Apply suggestions from code review Co-Authored-By: Drashna Jaelre <drashna@live.com> * Adding parenthesizes to DRIVER_LED_TOTAL where necessary * Updated docs * added notes about parentheses
2019-05-07rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part ↵Gravatar XScorpion2
2) (#5783) * Initial conversion of the rgb_led struct * Converting last keyboard & updating effects to take advantage of the new structure * New struct should not be const * Updated docs * Changing define ___ for no led to NO_LED * Missed converting some keymap usages of the old struct layout
2019-04-29Updated rgb_led struct field modifier to flags (#5619)Gravatar XScorpion2
Updated effects to test led flags Updated massdrop to use new flags field for led toggle
2019-04-12Max out range for max compatibilityGravatar Drashna Jaelre
2019-04-12Fix ATSAM's USB HID descriptor to support higher heycodesGravatar Drashna Jaelre
Assuming I understand this correctly, this should set the max scancode to E7 (RGUI), which is the last listed code in the main list (everything else use for internal QMK/TMK stuff).