summaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary IS_COMMAND definitions from recently added keyboards (#5065)Konstantin Đorđević2019-02-061-11/+1
|
* arm_atsam ADC0 factory calibration correctionpatrickmt2019-01-281-3/+3
| | | | Factory calibration data was not being loaded properly for ADC0, which affects the accuracy of 5V readings.
* Fix Command feature: use get_mods() instead of keyboard_report->mods (#4955)Konstantin Đorđević2019-01-271-1/+1
| | | | | | | | | | | | | | * Remove unnecessary IS_COMMAND definition in clueboard/66/rev4 * Replace keyboard_report->mods with get_mods() in IS_COMMAND definitions * Update docs to use get_mods() instead of keyboard_report->mods * Replace keyboard_report->mods with get_mods() in tmk_core/protocol/usb_hid/test For some reason, this occurrence used KB_LSHIFT and KB_RSHIFT, which don't exist * Replace keyboard_report->mods with get_mods() in Massdrop keyboards (as per @patrickmt)
* Circular animation (#4796)Drashna Jaelre2019-01-252-6/+18
|\ | | | | | | | | | | | | | | * Add ability to animate arm_atsam led matrix from the center of a circle * Make arm_atsam led matrix circular animation circular rather than obloid * Fix indentation in tmk_core led_matrix.c
| * Fix indentation in tmk_core led_matrix.cIan O'Dea2019-01-071-9/+9
| |
| * Make arm_atsam led matrix circular animation circular rather than obloidIan O'Dea2019-01-072-1/+4
| |
| * Add ability to animate arm_atsam led matrix from the center of a circleIan O'Dea2019-01-072-6/+15
| |
* | Always read two bytes from the endpoint if we have two bytes to readfauxpark2019-01-221-5/+1
| | | | | | | | | | When this if statement is false, it will cause the report ID to be read as the LED state. We already know there are two bytes in the endpoint, which is a reasonably good indicator that it contains a report ID, so we should always read both.
* | Improved fix for __always_inline redefinition bugJames Churchill2019-01-111-1/+3
| | | | | | Instead of changing based on the version of GCC, check for the presence of the macro instead.
* | Fix Caps Lock LEDs once and for all (#4824)fauxpark2019-01-111-9/+12
| | | | | | | | | | | | | | | | * Check the size of the SET_REPORT packet If we have two bytes, that probably means the first is a report ID. The 6KRO interface may or may not have one, but the NKRO interface always does, so we need to check this regardless of whether KEYBOARD_SHARED_EP is defined. * Fix indentation
* | Update to arm_atsam wait and timer routinespatrickmt2019-01-078-97/+49
|/ | | | | | | | | | | | Microsecond (us) delays are now handled by a busy wait loop according to MCU frequency. This replaces the system counter method which had an overhead of around 12us. TC5 device and supporting routines removed as it was the old us delay counter. wait_ms is now properly a macro to CLK_delay_ms. wait_us is now properly a macro to CLK_delay_us. Removed CLK_get_us as it has no use. All calls to CLK_get_ms() have been replaced by timer_read64() with corrected typing. All calls to CLK_delay_ms() have been replaced by wait_ms(). All calls to CLK_delay_us() have been replaced by wait_us() and timings verified or updated as needed after review on scope. Corrected typing of variables using 64bit ms timer readings if needed.
* Final HS60v2 changes. (#4790)yiancar2019-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | * initial commit, this now mostly works - RGB controls work - Dynamic keymap still broken due to eeprom - Via works * STM32 eeprom update - Update EEPROM emulation library to handle 8bit data like AVR. - This library also allows for multiple page pairs resulting in greater EEPROM size flexibility * hs60 changes * HS60 hhkb added * Update keyboards/hs60/v2/config.h Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>
* Fix macro redefinition for GNUC compilers > 6patrickmt2018-12-141-1/+1
| | | | GNUC compilers greater than version 6 already have the macro __always_inline defined. This fix checks GNUC version before defining the macro itself.
* Bringing Massdrop keyboard hardware configuration to keyboard level (#4593)patrickmt2018-12-108-183/+278
| | | | | | | | | | MCU Pins for debugging, LED, boot tracing, and shift registers are now configurable at keyboard level. Macros led_* replaced by DBG_LED_* Macros m15_* replaced by DBG_1_* Macros m27_* replaced by DBG_2_* Macros m28_* replaced by DBG_3_* For CTRL and ALT keyboards, debug boot tracing pin default now set to pad M27 instead of M28 since although M28 is not being used, it is technically a signal for USB port detection. m15_print(...) renamed to dbg_print(...) to get away from hard coded port names. dbg_print function now follows similar pattern to debug led output.
* Vertical animation support for arm_atsam led_matrix (#4538)Ian O'Dea2018-12-062-31/+43
| | | | | | | | | | * Add initial support for vertically-oriented animations * DRY up vertical animation support * Fix animation code for arm_atsam led_matrix to work in all directions * Adjust py calculation to base off bottom rather than top
* Only try to read the report ID from SetReport when the keyboard is part of ↵fauxpark2018-12-051-1/+1
| | | | | | | the shared EP Fixes #4471 Fixes #4517
* fixed misplaced paranthesis in arm usb mouse send function (#4478)Christon DeWan2018-11-271-1/+1
| | | bug was causing lots of dropped events for me.
* Fix raw hid define for chibios (#4460)yiancar2018-11-211-2/+2
|
* Use a single endpoint for HID reports (#3951)James Laird-Wah2018-11-156-360/+307
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Unify multiple HID interfaces into one This reduces the number of USB endpoints required, which frees them up for other things. NKRO and EXTRAKEY always use the shared endpoint. By default, MOUSEKEY also uses it. This means it won't work as a Boot Procotol mouse in some BIOSes, etc. If you really think your keyboard needs to work as a mouse in your BIOS, set MOUSE_SHARED_EP = no in your rules.mk. By default, the core keyboard does not use the shared endpoint, as not all BIOSes are standards compliant and that's one place you don't want to find out your keyboard doesn't work.. If you are really confident, you can set KEYBOARD_SHARED_EP = yes to use the shared endpoint here too. * unify endpoints: ChibiOS protocol implementation * fixup: missing #ifdef EXTRAKEY_ENABLEs broke build on AVR with EXTRAKEY disabled * endpoints: restore error when too many endpoints required * lufa: wait up to 10ms to send keyboard input This avoids packets being dropped when two reports are sent in quick succession (eg. releasing a dual role key). * endpoints: fix compile on ARM_ATSAM * endpoint: ARM_ATSAM fixes No longer use wrong or unexpected endpoint IDs * endpoints: accommodate VUSB protocol V-USB has its own, understandably simple ideas about the report formats. It already blasts the mouse and extrakeys through one endpoint with report IDs. We just stay out of its way. * endpoints: document new endpoint configuration options * endpoints: respect keyboard_report->mods in NKRO The caller(s) of host_keyboard_send expect to be able to just drop modifiers in the mods field and not worry about whether NKRO is in use. This is a good thing. So we just shift it over if needs be. * endpoints: report.c: update for new keyboard_report format
* Add localized LED flash effect on keypress to Massdrop ALT (#4340)Sean Dwyer2018-11-062-4/+13
|
* USB Suspend for arm_atsam protocolpatrickmt2018-11-024-42/+57
| | | | | | Rewrote USB state tracking for implementation of suspend state. Updated suspend.c in entirety. Main subtasks (generally hardware related) are now run prior to keyboard task.
* Fix CTRL/ALT keyboard does not wake computer from sleeppatrickmt2018-11-022-12/+20
| | | | Fix for Massdrop CTRL and ALT keyboards not waking computer from sleep
* Add support for Atmega32A to pin declarations and universal matrix (#4015)Jack Humbert2018-11-021-4/+4
| | | | | | | | | | | | | | | | | | * add computed pins from mcu type * update for atmega32a * doc typo * add atmega16 chips, link to references * remove avr include from config * exclude assembler in config.h includes * consolodate options, add 646 * fix typo in pindef
* Fix mouse_send() on chibiOS so it won't lock up the firmwareDrashna Jaelre2018-10-271-3/+4
|
* Keyboard: Port of TMK XT USB Converter (#3619)markspanbroek2018-10-222-0/+244
| | | | | | | | | | | | | | | | * Converter: add XT USB converter from TMK * Converter: port TMK code for USB converter to QMK * Apply requested changes after code review by @drashna - use "pragma once" instead of include guards - use LAYOUT instead of KEYMAP - allow customisation with matrix_init_user() and matrix_scan_user() - set BOOTLOADER instead of BOOTLOADER_SIZE - Add XT_ENABLE to OPT_DEFS * Remove unnecessary lines
* stm32f1xx EEPROM emulation (#3914)Takuya Urakawa2018-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | * * Add stm32f1xx EEPROM emulation * Fix eeprom update compare bug Squashed commit of the following: commit b8f248ae08cec0cd81ecbb8854d9b39221d4d573 Author: hsgw <urkwtky@gmail.com> Date: Sat Sep 15 19:13:48 2018 +0900 fix EEPROM_update wrong compare commit d4ed4e6ea864e967a3e17f7edee4b0c3b4a25541 Author: hsgw <urkwtky@gmail.com> Date: Sat Sep 15 17:43:47 2018 +0900 eeprom fix initialization define commit b61aa7c04d70c64df3416d63e5da08b73b6053af Author: hsgw <urkwtky@gmail.com> Date: Sat Sep 15 16:33:40 2018 +0900 maybe working * Fix FLASH_KEY defines
* Massdrop keyboards console device support for hid_listenpatrickmt2018-10-1010-18/+275
| | | | | | Added hid_listen USB device for arm_atsam USB protocol. Debug printing is now done through the console device (CONSOLE_ENABLE = yes) rather than the virtser device, for viewing in hid_listen. Function dpf(...) renamed to CDC_printf(...) and should now be called directly if intending to print to the virtual serial device.
* CTRL keyboard bootloader_jump supportpatrickmt2018-09-282-0/+18
| | | | Adds support for CTRL keyboards to enter bootloader via bootloader_jump()
* Massdrop keyboard updates for SEND_STRING, syscalls, stdio, debug prints, ↵patrickmt2018-09-2810-404/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | Auto Shift (#3973) * Update for SEND_STRING usage Update for SEND_STRING usage. Sending keyboard reports (kbd, nkro) now obey the minimum polling time. While attempting to send a keyboard report and waiting for a USB poll, other functions of the keyboard, including LED effects and power management, will continue to operate at their intended intervals. * Updates for send string, syscalls, stdio, debug prints, auto shift Now properly waiting for previous keys sent over USB to complete before sending new. Added heap to linker and now compiling with syscalls support. Removed custom string functions and now using stdio. dprintf now works as intended through virtser device. * CTRL and ALT keymap updates CTRL mac keymap updated ALT default and mac keymap updated ALT rules.mk added Auto Shift with default no * Code cleanup as per discussion with vomindoraan Code cleanup as per discussion with vomindoraan
* rgblight.[ch] more configurable (#3582)Takeshi ISHII2018-09-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add temporary test code rgblight-macro-test1.[ch] * rgblight.h : mode auto numberring and auto generate mode name symbol No change in build result. * rgblight.c use RGBLIGHT_MODE_xxx symbols No change in build result. * quantum.c use RGBLIGHT_MODE_xxx symbols No change in build result. * fix build break. when RGB_MATRIX_ENABLE defined * add temporary test code rgblight-macro-test2.[ch] * modify rgblight_mode_eeprom_helper() and rgblight_sethsv_eeprom_helper() * modify rgblight_task() * configurable each effect compile on/off in config.h * update docs/feature_rgblight.md * fix conflict. docs/feature_rgblight.md * remove temporary test code rgblight-macro-test*.[ch] * fix comment typo. * remove old mode number from comment * update docs/feature_rgblight.md about effect mode * Revert "update docs/feature_rgblight.md about effect mode" This reverts commit 43890663fcc9dda1899df7a37d382fc38b1a6d6d. * some change docs/feature_rgblight.md * fix typo * docs/feature_rgblight.md update: revise mode number table
* Keyboard: ALT keymap update and LED driver brightness mismatch fix (#3890)patrickmt2018-09-131-2/+2
| | | | | | | | | | * ALT keymap update Added additional End key on layer 1 to match key cap * LED driver update addressing PR #3871 Update sync between IS31FL3733 drivers is causing varying behavior in keyboards including brightness mismatch and slight flicker at very low rgb values. Visually, disabling sync is not noticeable. Ref PR #3871 by guarnacciaa.
* CTRL and ALT updatespatrickmt2018-09-052-3/+8
| | | | | | | | Added support to enter bootloader from software (bootloader version must be newer than "v2.18Jun 22 2018 17:28:08" until workaround for older is created). Updated CTRL and ALT keymaps for entering bootloader with Fn+b held for >500ms. Added basic MacOS keymap for ALT. USB sleep LED indicator now turns off after 1 second. Slowed down debug LED code printing.
* Add the ability to disable the USB startup check for Chibiosyiancar2018-09-051-0/+7
| | | | | | - Added support for NO_USB_STARTUP_CHECK. This allows the keyboard do function and not get stuck in a SUSPENDED state loop in case of no USB connection. - Added support for WAIT_FOR_USB. In LUFA no keyboard has this flag enable therefor no keyboard waits for usb to be active. - Added documentation for both configuration flags as they were missing.
* Keyboard: Rename alt67 to alt (#3824)patrickmt2018-09-011-1/+0
| | | | | Renamed keyboard alt67 to alt and adjusted necessary files where alt67 appeared. CTRL keymap fixed enum structure name. usb2422 removed stray define no longer used.
* STM32 EEPROM Emulation (#3741)yiancar2018-08-291-0/+7
| | | | | | | | | | | | * STM32 EEPROM Emulation - Added EEPROM emulation libaries from libmaple and Arduino_STM32. https://github.com/rogerclarkmelbourne/Arduino_STM32 and https://github.com/leaflabs/libmaple. - Renamed teensy EEPROM library and added conditional selection of library. - Remapped EEPROM memory map for 16 byte blocks (as is with STM32f3xx MCUs). - Added EEPROM initialization in main.c of Chibios. - Added EEPROM format to clear the emulated pages when EEPROM is marked as invalid. * Fixed ifdef
* Massdrop keyboard support (#3780)patrickmt2018-08-2956-0/+16817
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Massdrop SAMD51 Massdrop SAMD51 keyboards initial project upload * Removing relocated files Removing files that were relocated and not deleted from previous location * LED queue fix and cleaning Cleaned some white space or comments. Fix for LED I2C command queue. Cleaned up interrupts. Added debug function for printing numbers to scope through m15 line. * Factory programmed serial usage Ability to use factory programmed serial in hub and keyboard usb descriptors * USB serial number and bugfix Added support for factory programmed serial and usage. Incorporated bootloader's conditional compiling to align project closer. Fixed issue when USB device attempted to send before enabled. General white space and comment cleanup. * Project cleanup Cleaned up project in terms of white space, commented code, and unecessary files. NKRO keyboard is now using correct setreport although KBD was fine to use. Fixed broken linkage to __xprintf for serial debug statements. * Fix for extra keys Fixed possible USB hang on extra keys report set missing * I2C cleanup I2C cleanup and file renames necessary for master branch merge * Boot tracing and clocks cleanup Added optional boot debug trace mode through debug LED codes. General clock code cleanup. * Relocate ARM/Atmel headers Moved ARM/Atmel header folder from drivers to lib and made necessary makefile changes. * Pull request changes Pull request changes * Keymap and compile flag fix Keymap fix for momentary layer. Potential compile flag fix for Travis CI failure. * va_list include fix Fix for va_list compile failure * Include file case fixes Fixes for include files with incorrect case * ctrl and alt67 keyboard readme Added ctrl and alt67 keyboard readme files
* Loop based vusb_transfer_keyboardRasmus Schults2018-07-221-11/+16
|
* VUSB fix report dropping if usbInterruptIsReady() returns falseRasmus Schults2018-07-221-0/+3
|
* Adds support for Planck Rev 6 (#2666)Jack Humbert2018-07-161-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * initial files for rev 6 with encoder * music map init, dip scan added * adds ws2812 driver for arm * flesh out dip and encoder support * adds default encoder res * adds default encoder res * start muse implementation * muse working with encoder as control * flip direction * try mouse wheel again * dont break other revs * dont break other revs * conditional autio * pwm ws driver (not working) * update build includes for chibios * update ws2812 driver/config * last commit for glasser code * working example * remove rgb for now * finish up rev6 * working encoder keycodes * add warnings to planck keymaps about the LAYOUT
* Add a custom USB driver for ARM (#2750)fredizzimo2018-04-154-42/+729
| | | | | | | | | | | | | | | | | | | | * Copy Chibios serial_usb_driver into the chibios/protocol It's renamed to usb_driver to avoid name conflicts * Make the usb driver compile * Disable ChibiOS serial usb driver for all keyboards * Change usb_main to use QMKUSBDriver * Initialize the usb driver buffers * Add support for fixed size queues * Fix USB driver initialization * Don't transfer an empty packet for fixed size streams
* Tabs to spaces in usb_descriptor.hfauxpark2018-04-111-17/+17
|
* Generate API docs from source code comments (#2491)skullydazed2018-03-222-6/+116
| | | | | | | | | | | | | | | | | | * Generate api docs from source code * Add a bunch of doxygen comments * more doxygen comments * Add the in-progress api docs * script to generate docs from travis * Add doc generation to the travis job * make travis_docs.sh commit the work it does * make sure the docs script exits cleanly
* Fixed dead links (#2451)Brian Choromanski2018-03-012-6/+6
| | | | | | | | * Fixed typo of 'confid.h' to 'config.h' * Fixed broken links in docs * Fixed a lot of dead links
* Change the CDC_NOTIFICATION_EPSIZE back to 8 from 32Fred Sundvik2018-02-121-1/+1
|
* Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo2018-02-0814-1140/+653
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move lufa descriptor to protocol/usb_descriptor * Try to compile usb_descriptor on ChibiOS * Add lufa_utils for ChibiOS Lufa USB descriptors for ChibiOS * More lufa_util compatibility fixes * First compiling version of shared USB descriptor * Send the usb descriptors * Fix the CONSOLE output on ChibiOS * Add errors for unsupported interfaces * Enable support for vitual serial port USB descriptors * Implement virtual serial port for ChibiOS * Cleanup the lufa_utils Use the default lufa header files * Add raw hid support for ChibiOS This is completely untested * Enable midi compilation on ChibiOS * Move midi functionality out of lufa.c * Don't register sysex callback when not needed * ChibiOS compilation fixes * Update ChibiOS submodule * Fix the Midi USB descriptor It didn't work properly when both Midi and Virtual serial port was enabled. * Add MIDI support for ChibiOS * Fix USB descriptor strings on ChibiOS * Use serial usb driver for raw hid * Generalize the ChibiOS stream like drivers This makes the initialization much more simple and eliminates a lot of the code duplication. * Convert console output to chibios stream driver * Fixes for ChibiOS update * Update the ChibiOS contrib submodule To include the usb data toggle synchronization fixes * Fix duplicate reset enumeration on ChibiOS * Add missing include * Add number of endpoints check for ChibiOS * Enable serial USB driver on all keyboards * Add missing includes when API is enabled withot midi * Add another missing inlcude
* Send usb wakeup through ChibiOSFred Sundvik2018-02-073-26/+2
|
* Update ChibiOS to 17.6.3Fred Sundvik2018-02-071-6/+5
|
* Update personal layouts, free up matrix_scan_user for JJ40 (#2319)Kenneth Aloysius2018-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |