summaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol
Commit message (Collapse)AuthorAgeFilesLines
* Fix AVR SPI parameter configuration, remove timeouts due to sync protocol. ↵Nick Brassel2020-04-131-5/+5
| | | | (#8775)
* Add support for hardware and board initialisation overrides. (#8330)Nick Brassel2020-04-132-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Add PS2_MOUSE_ROTATE to compensate for device orientation (#8650)Manna Harbour2020-04-091-0/+15
| | | | | | | | * 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
* spi_master for AVR (#8299)Ryan2020-04-082-124/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* format code according to conventions [skip ci]QMK Bot2020-04-051-4/+4
|
* V-USB: Remove some stuff from usbconfig.h that should not be configurable ↵Ryan2020-04-053-53/+11
| | | | | | | | | | | (#8656) * V-USB: Remove some stuff from usbconfig.h that should not be configurable * Clean up some ifdefs * And some more * Even more
* V-USB remote wakeup (#7627)Drashna Jaelre2020-04-052-5/+21
| | | | | | | | | * V-USB remote wakeup Backport from tmk/tmk_keyboard@391c979be751eaf113c8f53c36644a6bb6ff12f6 * Change vusb.c remote wake config as per fauxpark's suggestion
* Strip out features to allow minimum firmware sizes (#8645)Joel Challis2020-04-011-0/+2
|
* Updated V-USB template to allow usbFunctionWriteOut (#8634)yiancar2020-04-012-3/+1
|
* Miscellaneous cleanups (#8639)Ryan2020-04-011-6/+0
| | | | | * Miscellaneous cleanups * Cast NO_PIN
* V-USB: Consolidate usbconfig.h's into a single file (#8584)Ryan2020-03-311-0/+352
|
* add hid_raw feature to VUSB (#8380)Takuya Urakawa2020-03-303-1/+174
| | | | | | | | | | | | | | | | | | | * 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>
* V-USB: Use structs for USB descriptors (#8572)Ryan2020-03-282-104/+218
| | | | | | | * V-USB: Use structs for USB descriptors * Update usbconfigs * cformat pass
* Enable SLEEP_LED on ATmega32A (#8531)Joel Challis2020-03-261-0/+12
| | | | | | | | | * 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
* V-USB: Use manufacturer and product strings from config.h (#7797)Ryan2020-03-262-0/+70
| | | | | * V-USB: Use manufacturer and product strings from config.h * Update board configs
* format code according to conventions [skip ci]QMK Bot2020-03-262-7/+3
|
* Add RawHID support to ATSAM (Massdrop boards) (#8530)foxx13372020-03-266-1/+47
| | | | | | | | | * 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>
* Run clang-format manually to fix recently changed files (#8552)Joel Challis2020-03-251-14/+14
|
* format code according to conventions [skip ci]QMK Bot2020-03-161-1/+0
|
* Remove unnecessary import of rgblight.h in tmk_core/protocol/*/*.c (#8432)Takeshi ISHII2020-03-163-10/+0
| | | | | | | | | | * 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.
* Refactor rgblight_reconfig.h (#7773)Takeshi ISHII2020-03-103-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 February 29 Breaking Changes Update (#8064)James Young2020-02-293-9/+10
|
* Improvements to extrakey HID descriptors (#8156)Ryan2020-02-257-62/+78
|
* Update main.c (#8198)yiancar2020-02-221-2/+2
|
* format code according to conventions [skip ci]QMK Bot2020-02-121-58/+58
|
* Align VUSB HID descriptors with LUFA/ChibiOS (#7675)fauxpark2020-02-121-120/+127
| | | | | | | | * Align VUSB HID descriptors with LUFA/ChibiOS * Wrap send_system and send_consumer in ifdefs too * Offset system usages to match LUFA/ChibiOS
* Remove PJRC USB stackfauxpark2020-02-0817-1905/+1
|
* Add Midi Endpoint task to ChibiOS main (#8071)Drashna Jaelre2020-02-042-1/+17
|
* format code according to conventions [skip ci]QMK Bot2020-02-023-10/+6
|
* Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)fauxpark2020-02-025-65/+34
| | | | | | | | | | * 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
* format code according to conventions [skip ci]QMK Bot2020-02-021-19/+27
|
* Align ATSAM HID descriptors with LUFA/ChibiOS (#7651)fauxpark2020-02-021-147/+154
| | | | | | * Align ATSAM HID descriptors with LUFA/ChibiOS * Don't hardcode raw endpoint size
* Improve VIRTSER performance (#7528)xyzz2020-01-311-1/+1
|
* format code according to conventions [skip ci]QMK Bot2020-01-251-53/+53
|
* Fix unaligned access with LTO (#7801)George Harris2020-01-251-2/+2
| | | Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
* format code according to conventions [skip ci]QMK Bot2020-01-211-4/+4
|
* Fix lock LEDs for ChibiOS when using shared endpoints (#7877)fauxpark2020-01-211-15/+12
| | | | | | | | * Fix lock LEDs for ChibiOS when using shared endpoints * Tweak comments * Doesn't need to be uint16 anymore
* Move rgblight and backlight task to common location (#7733)Joel Challis2020-01-193-11/+0
|
* chibios/usb_main: re-check USB status in send_keyboard after sleeping the ↵xyzz2020-01-131-7/+14
| | | | | | | | 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
* Fix KEYBOARD_SHARED_EP on ChibiOS (#7860)Joel Challis2020-01-131-1/+1
|
* remove SERIAL_SOFT_DEBUG macro (#7625)Drashna Jaelre2019-12-131-2/+1
| | | | | | SERIAL_SOFT_DEBUG can be defined in the `config.h` Backported from tmk/tmk_keyboard@c74eee6327c5995456ba004d70b9663cf485d9f8 x
* Fix ChibiOS USB config for chips which support OTGv1 (#7564)Joel Challis2019-12-141-55/+69
| | | | | | | | | | * 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>
* Remove mbed files (#7605)Joel Challis2019-12-115-367/+0
| | | | | | | | * Remove mbed files * Remove mbed files - fix comment * Remove mbed logic blocks
* Use `clock_prescale_set()` from avr-libc (#7540)fauxpark2019-12-111-5/+2
| | | | | | * Use `clock_prescale_set()` from avr-libc * Remove outdated FAQ info
* Set proper ASCII character for KC_NUHS in iWRAP code (#7434)fauxpark2019-12-081-1/+1
|
* Remove vusb 'reset to bootloader' hid message due to security implications ↵Joel Challis2019-11-251-12/+1
| | | | (#7456)
* Run clang-format manually to fix recently changed fileszvecr2019-11-174-10/+12
|
* Add support for configurable polling interval and power usage o… (#7336)fauxpark2019-11-151-3/+12
| | | | | | * Add support for custom polling interval and power usage on V-USB boards * Use 1ms as default for now
* Fix chibios when mouse and nkro disabled (#7312)Joel Challis2019-11-101-16/+6
|
* ARM - ws2812 bitbang (#7173)Joel Challis2019-11-071-0/+8
| | | | | | | | | | | | | | | | | | | | * 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