summaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Un-clang-format usb_descriptor.h (#7216)fauxpark2019-11-041-347/+701
| | | Preserves readability of the file, making it easier to understand and modify.
* Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258)Christopher2019-11-051-1/+1
|
* rgblight_task logic fixes (#7214)Joel Challis2019-10-302-3/+3
|
* Refactor ps2avrgb i2c ws2812 to core (#7183)Joel Challis2019-10-291-0/+9
| | | | | | | | | | | | | | | | | | | | * 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>
* Reorder Raw HID interface to match what the USB spec expects (#6801)fauxpark2019-10-082-18/+18
|
* Adafruit BLE: Set SPI2X bit only when F_CPU is 8MHz (#6671)fauxpark2019-09-071-2/+3
|
* Make USB polling rate configurable with a define (#6668)fauxpark2019-09-061-3/+7
|
* Fix battery level code in adafruit_ble.cpp (#6648)bwhelm2019-09-042-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* clang-format changesskullY2019-08-30144-13668/+11452
|
* Fix the LUFA lib to use a submodule instead of just files (#6245)Drashna Jaelre2019-08-301-11/+15
| | | | | | | | | | | | * 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
* Fix vusb compiling after clang-formatskullY2019-08-301-0/+2
|
* LUFA USB descriptor cleanup (#4871)fauxpark2019-08-302-875/+875
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Added OLED Display autoscroll during periods of OLED data inactivity (#6546)XScorpion22019-08-251-4/+3
| | | | | | | | * Added OLED Display autoscroll during periods of OLED data inactivity. * Fixing compile errors * Feedback from review
* Removed print call to resolve #6364 (#6413)Jake Grossman2019-07-311-2/+2
| | | | | | | | * Change print to dprintf to avoid buffer overflow * Add stdio header for dprintf * Fix included headers
* Fixes compile errors for massdrop keyboardsChris Dosé2019-06-031-2/+1
|
* Cleanup/rgb matrix (#5811)XScorpion22019-05-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | * 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
* rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part ↵XScorpion22019-05-071-4/+5
| | | | | | | | | | | | | | | | 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
* Updated rgb_led struct field modifier to flags (#5619)XScorpion22019-04-291-2/+2
| | | | Updated effects to test led flags Updated massdrop to use new flags field for led toggle
* Max out range for max compatibilityDrashna Jaelre2019-04-121-2/+2
|
* Fix ATSAM's USB HID descriptor to support higher heycodesDrashna Jaelre2019-04-121-2/+2
| | | | 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).
* Remove keyboard description from Adafruit BLE device namefauxpark2019-04-071-2/+1
|
* RGB Matrix support for Massdrop CTRL/ALT (#5328)Daniel Prilik2019-04-038-348/+451
| | | | | | | | | | | | | | | | | | | | | | * port Massdrop CTRL/ALT to use RGB Matrix Co-authored-by: Matt Schneeberger <helluvamatt@gmail.com> * Massdrop lighting support working This commit is to get the Massdrop lighting code working again through use of the compilation define USE_MASSDROP_CONFIGURATOR added to a keymap's rules.mk. Added keymaps for both CTRL and ALT named default_md and mac_md. These should be used if the Massdrop style lighting is desired. * Updating config based on testing results with patrickmt & compile errors * Updates for PR5328 For CTRL and ALT: Moved location of new RGB Matrix macros from config_led.h to config.h. Added RGB_MATRIX_LED_FLUSH_LIMIT (time between flushes) to config.h for correct LED driver update timing. Re-added missing breathing code for when Massdrop configurator mode is defined. * remove prilik keymap form PR
* Add new keyboard Plaid and ATMEGA328p support (#5379)Takuya Urakawa2019-03-121-1/+1
| | | | | | | | | | | | | | | * add plaid * Change usb vid/pid to free id from vusb Trivial fix for vusb core * update readme * update info.json default keymap * fix typo * Replace copyright
* Add kb and user level keyboard initialization functions (#3113)Drashna Jaelre2019-02-143-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add suspend functions * Disable RGB code if it's disabled * Add keyboard_init functions * Change where references so it will compile * Wrong command chained in wake up kb function * Fix non-feature file changes * Add documentation * Re-add matrix init docs * add rgblight code to example * Remove suspend code * Clean up docs * Fix docs * Fix suspend code * more doc fixes * change function to startup_* rather than keyboard_init_ * fix spelling error * fix up docs to finish removing keyboard_init * Use Pre and Post init functions * Update Documenation * Remove changes to my keymap and userspace code * Cleanup * Revert changes to extra files * Forgot a semicolon * Make sure all protocols call keyboard_setup * Cleanup functions * Unset startup_user * Remove changes from division keyboard * Readd startup_user function * Remove all to startup_user * Update docs/custom_quantum_functions.md Co-Authored-By: drashna <drashna@live.com> * Update docs/custom_quantum_functions.md Co-Authored-By: drashna <drashna@live.com> * Add suggestion line * Rebase fixes * Update documentation to be more useful/accurate * Cleanup of documentation * Fix spacing inconsistency * Revert unexpected change to keymap
* 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