summaryrefslogtreecommitdiffstats
path: root/tmk_core
AgeCommit message (Collapse)AuthorFilesLines
2018-07-16Adds support for Planck Rev 6 (#2666)Jack Humbert2-6/+10
* 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
2018-07-15Integrating Peter Fleury's HD44780 LCD library (#3209)Max Audron1-0/+3
* integrated Peter Fleury's LCD library for HD44780 LCDs * fixed typo * cleanup finished * add documentation * added HD44780 documentation * removed keyboard from .gitmodules * resolved merge conflict * removed edit of kira75s rules.mk made by merge * moved hd44780 to drivers/avr * Added licence info to hd44780 files * Added link to hd44780 docs.
2018-06-29Diagonal micro move fixEvgeniy Petukhov1-0/+2
2018-06-29Make sure that both RGBLIGHT_ENABLE is defined, for RGBLIGHT_SLEEPDrashna Jaelre1-3/+3
2018-06-28Disable JTAG in keyboard initDrashna Jaelre1-1/+6
So that all boards, present and future will have JTAG disabled, even if using a custom matrix
2018-06-28Make sure the timer wraps around correctly independent of the os tick frequencyFred Sundvik1-14/+28
2018-06-07Bootloader make issue (#2975)yiancar1-9/+9
* Added Modular keyboards L,R and NUM Created code modules for the 3 modules of the modular keyboard. Original idea by MechboardsUK. Uses i2c implementation similar to lets split * Remove modular from master This is to fix incorrect branching * fixed bootloader makefile - Echo -e does not behave coorectly on mac - Replaced with equivilant printf statements * quick typo fix
2018-06-03Add Suspend functions (#3112)Drashna Jaelre3-0/+71
* Add suspend functions * Disable RGB code if it's disabled * Add suspend code to ChibiOS for future compatibility * 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 keyboard init stuff for separate PR
2018-05-29Add and fix _noeeprom functions to many of the RGB Underglow functions (#3070)Drashna Jaelre1-2/+2
* And and fix _noeeprom functions to many of the RGB Underglow functions * Many functions are unnecessarily calling the eeprom write code. The toggle/enable is command is especially guilty of this, as it writes to EEPROM 3 times. But rgb mode writes twice, every time it's called. And init resets the rgb eeprom range and then writes back to it twice! * Fixed the rgblight_sethsv_noeeprom to work as expected, by moving a lot of the code to a helper function. * Added a noeeprom function for mode, enable, disable, and toggle functions. (didn't bother for increase/decrease stuff, and didn't add new keycodes) * Add to predefined colors list * Add new functions to manual/docs * Update RGB Sleep feature to use _noeeprom Because that's exactly what it should be doing, actually!
2018-05-26Fix dead link to USB keycodes doc (#3050)Leo Wzukw1-1/+2
* Fix dead link to USB keycodes doc Link was dead and the fresher version I could find on usb.org is still older than this one. Thus, WaybackMachine seems the best option. * Fix dead link to USB keycodes doc, with 2 options Give the WaybackMachine link (fresher and for reference of the content of the original link) and the usb.org one (older)
2018-05-21Fix compile issues for atmega328pDrashna Jaelre1-4/+4
2018-05-14Allow one-shot modifiers to be chainedGergely Nagy1-3/+3
Many a times one would want to use multiple modifiers with the same key, preferably without having to hold anything, like `Ctrl+Shift+C` or `Ctrl+Shift+V` to copy/paste in GNOME Terminal. To make this possible, we need to be able to chain one-shot modifiers, so that we can have multiple of them active at the same time. The easiest way to accomplish this is that whenever we activate a one-shot modifier, we apply it on top of the existing set, instead of re-setting the state. When deactivating, either due to an interrupt, or due to a timeout, we deactivate all oneshots anyway, so the clearing part is covered. When we turn the one-shot modifier into a toggle, that will also clear all one-shot modifiers first, so we covered that case too. Fixes #2796, #1580, and #856. Signed-off-by: Gergely Nagy <qmk@gergo.csillger.hu>
2018-05-09enable eeprom for rgb matrixJack Humbert1-1/+1
2018-04-16Add a custom USB driver for ARM (#2750)fredizzimo4-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
2018-04-12Tabs to spaces in usb_descriptor.hfauxpark1-17/+17
2018-04-04Update whitefox to use the K-Type teensy workaroundKaleb Elwert1-0/+3
2018-03-29Properly always copy firmwareU-LANDSRAAD\drashna1-9/+9
This finishes fixing #2314, which mostly copies the firmware when compiling. However, it misses `:teensy`, `:avrdude` and most importantly, `:production`
2018-03-28Fix RGB Sleep codeU-LANDSRAAD\drashna1-1/+1
2018-03-26Better non-Linux support (#2524)dankm2-13/+14
* grep -> $(GREP) Some UNIXy systems (FreeBSD for example) don't use GNU grep by default. Allow the user to specify which grep implementation to use so that GNU grep can be specified. * Allow using versioned avr-gcc command Don't hardcode "avr-gcc", and allow strings such as "avr-gcc8", or "avr-gcc-7.3.0" to match checks for "avr-gcc".
2018-03-25add syscalls.c if autoshift is enabled, to fix compile issue on ChibiOSU-LANDSRAAD\drashna1-0/+3
2018-03-22Generate API docs from source code comments (#2491)skullydazed25-70/+732
* 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
2018-03-20[Proposal?] Allow RGB Underglow to turn off when host is idle/asleep (#2104)Drashna Jaelre1-1/+15
* Add RGB Underglow Sleeping * Add RGBLIGHT_SLEEP to toggle/control RGB light behavior * Update rgb docs * Update for RGB disable command
2018-03-16Add CMD and WIN aliases for KC_GUI, GUI(kc), GUI_T(kc), etc.fauxpark1-0/+5
2018-03-16Fix swap-hands tapping.Joe Wasson4-9/+50
This is an inelegant hack for #2522 but makes things work. Basically we give `action.c` a chance to handle the hold event early so that we can swap the keyboard for later keys. Later, to allow the hold to happen again quickly we nuke the key record so that tapping is reset. I tried to find a cleaner way, honestly.
2018-03-16Rename ONEHAND_ENABLE to SWAP_HANDS_ENABLE for consistencyJoe Wasson3-6/+9
2018-03-16fix generate Keyboard.huplus1-9/+9
2018-03-01Fixed dead links (#2451)Brian Choromanski3-8/+8
* Fixed typo of 'confid.h' to 'config.h' * Fixed broken links in docs * Fixed a lot of dead links
2018-02-28Remap msys2 usb, fix USB port detection (#2301)Danny1-0/+4
* Add AVRDUDE to MSYS2 setup * Remap detected USB port in MSYS2 to COM port
2018-02-12Change the CDC_NOTIFICATION_EPSIZE back to 8 from 32Fred Sundvik1-1/+1
2018-02-10Fix reset for STM32 devicesFred Sundvik1-17/+17
2018-02-08add conditional to perform check-size only for supported architecturesMichael F. Lamb1-0/+5
2018-02-08make check_size work across platformsMichael F. Lamb1-1/+1
2018-02-08Switch from echo to printf for output without newlinesDanny Nguyen1-2/+2
2018-02-08Only search through newly detected devices and discard ones that disappearedDanny Nguyen1-2/+3
2018-02-08Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo18-1161/+676
* 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
2018-02-08ARM audio fixes, stack size increase (#2365)Jack Humbert1-1/+1
* fix up arm audio implementation * chibios stack size inc * get one channel working * update for chibios
2018-02-07Send usb wakeup through ChibiOSFred Sundvik3-26/+2
2018-02-07Update ChibiOS to 17.6.3Fred Sundvik1-6/+5
2018-02-02Update personal layouts, free up matrix_scan_user for JJ40 (#2319)Kenneth Aloysius1-1/+1
* Add NIU Mini keymap from Planck keymap * Remove old keymap files * Fix README, removed Planck references * Add default layout, move Planck layout to separate folder * Update README * Add my XD60 keymap * Change RShift to slash * Fix keymap: stuck on MO(1) * Move RESET to Fn+Enter * Add: RGB saturation cycle * Add numpad layer to keymap * Fix last case * Cleanup Mechmini keymap. Once the custom RGB function is defined, there is no need to manually handle RGB code. * Change default to KEYMAP_MIT, not KEYMAP_OFFSET * Add custom RGB code for JJ40 * Reset Mechmini advertised power draw to 500. Will have to test actual maximum power draw later. * RGB working on JJ40. * Fix: saturation increase/decrease flipped * Add new directory for my custom keymap with RGB keycodes * Swap LAlt and LGUI * Update JJ40 max power draw with measured value * Update: fun40 rules.mk to enable underglow; earlier failed Travis CI * Fix: init RGB LEDs on boot. Also added HHKB-like keymap for XD60. * Super rudimentary backlight test, init RGB LEDs on boot * Backlighting works - stays on for now * Toggling working * Now can override backlight.c functions. Problem was functions in backlight.c weren't called before due to a lack of matrix_scan_quantum() in matrix.c * Timers not working * Delete global.h * Cleanup * Compiles * Good sign: LEDs stop working again * Handle timer1 overflow * Progress: fix: forgot to init * Backlighting fully working now except breathing. * Revert keymap to original keycodes * Update XD60 keymap README * Update JJ40 keymap with backlight toggles * Breathing working just fine. * Update references * Add backlight_set() call * Cleanup code to disable backlight * Fix: does not compile * Fix: missing call to rgblight_task. * Testing with BACKLIGHT_BREATHING * Cleanup * Cleanup comments * More commenting cleanup. * Do not enable BACKLIGHT_BREATHING by default * Update XD60 keymap * Update: move matrix_scan_kb out from matrix.c to jj40.c (kb-level) * Cleanup for PR * Fix conflict in readme.md for NIU mini * Restore original power consumption figure * Fix: matrix_scan_user() now has to be defined in the keymaps * Add weak `matrix_scan_user` so it does not have to be defined in keymap * Add weak matrix_init_user()
2018-02-02Use perl directly instead of grep -PErin Call1-1/+1
BSD grep (the one on OSX) lacks a -P flag. The grep -P command thus fails and prints a usage message to the terminal. This fixes that.
2018-01-28Always copy the firmware file to the root qmk_firmware directory (#2314)skullydazed3-6/+6
* Always copy the firmware file to the root qmk_firmware directory * remove circular dependency
2018-01-21Revert back to normal sleeping wait behaviour for STM32Fred Sundvik1-7/+2
2018-01-21Fix compiler settings for MCUs with floating pointFred Sundvik1-9/+25
2018-01-18Backlighting for JJ40 and underglow initialisation code (#2260)Kenneth Aloysius1-1/+1
* Cleanup Mechmini keymap. Once the custom RGB function is defined, there is no need to manually handle RGB code. * Change default to KEYMAP_MIT, not KEYMAP_OFFSET * Add custom RGB code for JJ40 * Reset Mechmini advertised power draw to 500. Will have to test actual maximum power draw later. * RGB working on JJ40. * Fix: saturation increase/decrease flipped * Add new directory for my custom keymap with RGB keycodes * Swap LAlt and LGUI * Update JJ40 max power draw with measured value * Update: fun40 rules.mk to enable underglow; earlier failed Travis CI * Fix: init RGB LEDs on boot. Also added HHKB-like keymap for XD60. * Super rudimentary backlight test, init RGB LEDs on boot * Backlighting works - stays on for now * Toggling working * Now can override backlight.c functions. Problem was functions in backlight.c weren't called before due to a lack of matrix_scan_quantum() in matrix.c * Timers not working * Delete global.h * Cleanup * Compiles * Good sign: LEDs stop working again * Handle timer1 overflow * Progress: fix: forgot to init * Backlighting fully working now except breathing. * Revert keymap to original keycodes * Update XD60 keymap README * Update JJ40 keymap with backlight toggles * Breathing working just fine. * Update references * Add backlight_set() call * Cleanup code to disable backlight * Fix: does not compile * Fix: missing call to rgblight_task. * Testing with BACKLIGHT_BREATHING * Cleanup * Cleanup comments * More commenting cleanup. * Do not enable BACKLIGHT_BREATHING by default
2018-01-12Add -e to enable interpretation of escape charactersDanny Nguyen1-2/+2
2018-01-01backlight breathing overhaul (#2187)Balz Guenat3-5/+14
* add breathing to bananasplit * backlight breathing overhaul * fix the backlight_tick thing. * fix for vision_division backlight * fix a few keymaps and probably break breathing for some weirdly set-up boards. * remove BL_x keycodes because they made unreasonable assumptions * some fixes for BL keycodes * integer cie lightness scaling * use cie lightness for non-breathing backlight and make breathing able to reach true max brightness
2017-12-19Unsign key argument in add_key_to_reportfauxpark2-3/+3
2017-12-15make 'layer_state_set' visible to user codeColin T.A. Gray2-6/+13
2017-12-15fixes 'layer_state_cmp' when layer is '1' (aka layer 0, aka layer 1<<0)Colin T.A. Gray1-2/+2
2017-12-08helper to compare current layer_state to user layerColin T.A. Gray2-0/+12
Performs the same bit comparison that the layer_move functions perform