summaryrefslogtreecommitdiff
path: root/tmk_core/protocol
AgeCommit message (Collapse)Author
2020-06-12Add support for hardware and board initialisation overrides. (#8330)Nick Brassel
* Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <git@zvecr.com> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <git@zvecr.com>
2020-06-12Add PS2_MOUSE_ROTATE to compensate for device orientation (#8650)Manna Harbour
* Add PS2_MOUSE_ROTATE to compensate for device orientation * fixup! Add PS2_MOUSE_ROTATE to compensate for device orientation * Reformat with IndentPPDirectives: AfterHash as per #6316
2020-06-12spi_master for AVR (#8299)Ryan
* Change _delay_ms/us() to wait_ms/us() * Switch to platform-agnostic GPIO macros * Add AVR spi_master and migrate Adafruit BLE code * Set verbose back to false * Add clock divisor, bit order and SPI mode configuration for init * Add start and stop functions * Move configuration of mode, endianness and speed to `spi_start()` * Some breaks here would be good * Default Adafruit BLE clock divisor to 4 (2MHz on the Feather 32U4) * Remove mode and divisor enums * Add some docs * No hr at EOF * Add links in sidebar
2020-06-12V-USB: Remove some stuff from usbconfig.h that should not be configurable ↵Ryan
(#8656) * V-USB: Remove some stuff from usbconfig.h that should not be configurable * Clean up some ifdefs * And some more * Even more
2020-06-12V-USB remote wakeup (#7627)Drashna Jaelre
* V-USB remote wakeup Backport from tmk/tmk_keyboard@391c979be751eaf113c8f53c36644a6bb6ff12f6 * Change vusb.c remote wake config as per fauxpark's suggestion
2020-06-12Strip out features to allow minimum firmware sizes (#8645)Joel Challis
2020-06-12Updated V-USB template to allow usbFunctionWriteOut (#8634)yiancar
2020-06-12Miscellaneous cleanups (#8639)Ryan
* Miscellaneous cleanups * Cast NO_PIN
2020-06-12add hid_raw feature to VUSB (#8380)Takuya Urakawa
* rewrite usbhid feature on vusb * Apply suggestions from code review Co-Authored-By: Ryan <fauxpark@gmail.com> * fix typo * fix typo again * Update tmk_core/protocol/vusb/vusb.c Co-Authored-By: Ryan <fauxpark@gmail.com> * clean up defines Co-authored-by: Ryan <fauxpark@gmail.com>
2020-06-12V-USB: Use structs for USB descriptors (#8572)Ryan
* V-USB: Use structs for USB descriptors * Update usbconfigs * cformat pass
2020-06-12Enable SLEEP_LED on ATmega32A (#8531)Joel Challis
* Port over some AVR backlight logic to SLEEP_LED * Port over some AVR backlight logic to SLEEP_LED - add timer 3 * Port over some AVR backlight logic to SLEEP_LED - clang format * Enable SLEEP_LED within vusb protocol
2020-06-12V-USB: Use manufacturer and product strings from config.h (#7797)Ryan
* V-USB: Use manufacturer and product strings from config.h * Update board configs
2020-06-12Add RawHID support to ATSAM (Massdrop boards) (#8530)foxx1337
* Add support for RAW endpoint for arm_atsam This the excellent work from helluvamatt/qmk_firmware in bb6eeb93b. * Reformat arm_atsam RAW endpoint code Co-authored-by: Matt Schneeberger <helluvamatt@gmail.com>
2020-06-12Remove unnecessary import of rgblight.h in tmk_core/protocol/*/*.c (#8432)Takeshi ISHII
* Remove unnecessary import of rgblight.h in tmk_core/protocol/*/*.c * tmk_core/protocol/chibios/main.c * tmk_core/protocol/lufa/lufa.c see #8380 for tmk_core/protocol/vusb/main.c. * Remove '#include "rgblight.h"' from tmk_core/protocol/vusb/main.c.
2020-06-12Refactor rgblight_reconfig.h (#7773)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-06-122020 February 29 Breaking Changes Update (#8064)James Young
2020-06-12Align ATSAM HID descriptors with LUFA/ChibiOS (#7651)fauxpark
* Align ATSAM HID descriptors with LUFA/ChibiOS * Don't hardcode raw endpoint size format code according to conventions [skip ci]
2020-03-26Improvements to extrakey HID descriptors (#8156)Ryan
2020-03-26Update main.c (#8198)yiancar
2020-03-26Align VUSB HID descriptors with LUFA/ChibiOS (#7675)fauxpark
* Align VUSB HID descriptors with LUFA/ChibiOS * Wrap send_system and send_consumer in ifdefs too * Offset system usages to match LUFA/ChibiOS format code according to conventions [skip ci]
2020-02-26Remove PJRC USB stackfauxpark
2020-02-26format code according to conventions [skip ci]QMK Bot
2020-02-26Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)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-26Improve VIRTSER performance (#7528)xyzz
2020-02-26Un-clang-format usb_descriptor.h (#7216)fauxpark
Preserves readability of the file, making it easier to understand and modify.
2020-02-26Move rgblight and backlight task to common location (#7733)Joel Challis
2020-02-26chibios/usb_main: re-check USB status in send_keyboard after sleeping the ↵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-02-26Add Midi Endpoint task to ChibiOS main (#8071)Drashna Jaelre
2020-02-26format code according to conventions [skip ci]QMK Bot
2020-02-26Fix unaligned access with LTO (#7801)George Harris
Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
2020-02-26format code according to conventions [skip ci]QMK Bot
2020-02-26Fix lock LEDs for ChibiOS when using shared endpoints (#7877)fauxpark
* Fix lock LEDs for ChibiOS when using shared endpoints * Tweak comments * Doesn't need to be uint16 anymore
2020-02-26Fix KEYBOARD_SHARED_EP on ChibiOS (#7860)Joel Challis
2020-02-26feat: disable webusb popup by defaultFlorian
2020-02-26fix type in usb_main for chibiOSDrashna Jael're
2020-02-26Start moving code out of webusb and to Oryx featureDrashna Jael're
2020-01-09remove SERIAL_SOFT_DEBUG macro (#7625)Drashna Jaelre
SERIAL_SOFT_DEBUG can be defined in the `config.h` Backported from tmk/tmk_keyboard@c74eee6327c5995456ba004d70b9663cf485d9f8 x
2020-01-09Fix ChibiOS USB config for chips which support OTGv1 (#7564)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>
2020-01-09Remove mbed files (#7605)Joel Challis
* Remove mbed files * Remove mbed files - fix comment * Remove mbed logic blocks
2020-01-09Use `clock_prescale_set()` from avr-libc (#7540)fauxpark
* Use `clock_prescale_set()` from avr-libc * Remove outdated FAQ info
2020-01-09Add support for configurable polling interval and power usage o… (#7336)fauxpark
* Add support for custom polling interval and power usage on V-USB boards * Use 1ms as default for now
2020-01-09Fix chibios when mouse and nkro disabled (#7312)Joel Challis
2020-01-09WS2812 Overhaul (#210)Drashna Jaelre
* ARM - ws2812 bitbang (#7173) * 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 * Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280) Copypasta from the AVR suspend implementation with a Teensy-specific hack removed * Unify RGB and RGBW commands (#7297) * Fix unicode in comments Co-Authored-By: fauxpark <fauxpark@gmail.com> * Remove separate RGBW implementation for a unified function * Set White to 0 in RGBW LEDs This is just to get this working, later, proper brightness can be handled elsewhere. * Use us instead of nanoseconds(?) since it renders correctly on web * Remove RGBW function from arm/ws2812.h * Remove RGBW function from arm/ws2812.c * Formatting changes * Add doc info * Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330) * Move Ergodox EZ RGB Light code to custom driver (#7309) * Move Ergodox EZ RGB code to custom driver Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs Co-authored-by: Seebs <seebs@seebs.net> * Make Clipping range accessible for custom drivers * Remove RGBW_BB_TWI from driver and docs * Revert changes to clipping range support * Use just rgblight_set instead of full custom driver * Convert to i2c_master commands * Rename rgblight driver and clean up includes * Use White channel on RGBW LEDs * SPI DMA based RGB Underglow for STM32 (#7674) * Initial stash of ws2812 spi driver * Update comment, add sync backup plan * Add testing notes to spi ws2812 driver * Align RGBW error messages Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Jonathan Rascher <jon@bcat.name> Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258)Christopher
2020-01-09rgblight_task logic fixes (#7214)Joel Challis
2019-12-06fix: chibios handle disconnections gracefullyFlorian Didron
2019-12-06fix: only change usb vesion spec if webusb is enabledFlorian Didron
2019-12-06fix: lufa handle disconnections gracefullyFlorian Didron
2019-12-06feat: update examples + pairing processFlorian Didron
2019-12-06feat: adds pairing keyFlorian Didron