summaryrefslogtreecommitdiffstats
path: root/quantum/quantum.c
Commit message (Collapse)AuthorAgeFilesLines
* Make sure 'shutdown_user' is calledDrashna Jaelre2018-08-041-0/+1
|
* Fix Audio code when resetting keyboardDrashna Jaelre2018-08-041-3/+5
| | | | I incorrectly disabled a bunch of code that shouldn't have been disabled. This should only disable music mode stuff, not general audio.
* Lets split eh (#3120)That-Canadian2018-07-161-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Line ending stuff again * Added Let's Split Eh? Files and updated #USE_IC2 checks to also include th EH revision (can only be used in I2C) * Added personal keymap, updated some of the EH files * Created new keyboard file for testing "lets_split_eh" will merge into lets_split once fully functional * Added split code from lets_split, removed pro micro imports and LED code THIS IS WORKING CODE, WITHOUT RGB AND BACKLIGHT * Took back original Lets Slit files for the lets_split keyboard, working in the lets_split_eh folder for now * Updated eh.c * More rework of the I2C code, added global flags for split boards. * Introduced RGB over I2C, having weird edge case issues at the moment though * Fixed weird I2C edgecase with RGB, although still would like to track down route cause.. * Changed RGB keycodes (static ones) to activate on key-up instead of key-down to elimate weird ghosting issue over I2C * Lots of changes, mainly externalized the Split keyboard code and added logic for only including when needed. - Added makefile option "SPLIT_KEYBOARD" that when = yes will include the split keyboard files and custom matrix - Split keyboard files placed into quantum/split_common/ - Added define option for config files "SPLIT_HAND_PIN" FOr using high/low pin to determine handedness, low = right hand, high = left hand - Cleaned up split logic for RGB and Backlight so it is only exectuted / included when needed * Updated documentation for the new makefile options and #defines specific to split keyboards * Added a bit more info to docs, so people aren't confused * Modifed Let's Split to use externalized code, also added left and right hand eeprom files to the split_common folder * Removed some debugging from eh.c * Small changes to keyboard configs. Also added a default keymap (just a copy of my that_canadian keymap). * Added a README file to the Let's Split Eh? * Changed it so RGB static updates are done on key-up ONLY for split boards rather than all boards. Also fixed leftover un-used variable in rgblight.c * Updated default keymap and my keymap for Let's Split Eh? Updated the comments so it reflects RGB control, and removed audio functions. * Fixed lets_split_eh not having a default version * Removed "eh" references from lets_split folder for now * Took lets_split folder from master to fix travis build errors, weird my local was overriding. * Changed LAYOUT_ortho_4x12_kc -> LAYOUT_kc_ortho_4x12 to match bakingpy and others * Removed rules.mk from my lets_split keymap, not needed * Updated the config_options doc to better explain the usage of "#define SPLIT_HAND_PIN"
* Integrating Peter Fleury's HD44780 LCD library (#3209)Max Audron2018-07-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Added pin C6 to hardware PWM backlightWilba65822018-07-151-13/+27
|
* adds timeout to avr i2cJack Humbert2018-06-121-1/+1
|
* Add rgblight mode 35 (R,G,B test mode) (#3114)Takeshi ISHII2018-06-041-1/+6
| | | | | | | | * add rgblight mode 35 (RGB cyclic mode) into quantum/rgblight.c * Update docs, add rgblight mode 35(RGB cyclic) * rename RGBCYCLIC to RGBTEST
* Add effect speed support for RGB Matrix *No EEPROM yet* (#2922)yiancar2018-05-081-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 * Add effect speed support for RGB Matrix *No eeprom yet* Keycodes RGB_SPI and RGB_SPD have been added to increase and decrease effect speed. Speed is not saved in EEPROM yet as per Jack's request. * Update rgb_matrix.c * RGB Matrix speed fix rgblight.h * More fixes for rgb speed. Speed functions declared but not used in rgblight * More travis fixes.. * Another one for travis..
* Adds IS31FL3731 RGB Matrix Implementation (#2910)Jack Humbert2018-05-081-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * adds is31fl3731 rgb matrix implementation * fix build script for force pushes * allow bootloader size to be overwritten * adds planck light implementation * split led config into 2 arrays * idk * betterize register handling * update planck implementation * update planck * refine rgb interface * cleanup names, rgb matrix * start documentation * finish up docs * add effects list * clean-up merge * add RGB_MATRIX_SKIP_FRAMES * add support for at90usb1286 to bootloader options
* Change handling of adjust layer to make it more LT(...) friendly. (#1625)Martin Sandiford2018-04-261-5/+7
| | | | | | | | * Change handling of adjust layer to make it more LT(...) friendly. * Update based on feedback from drashna. * Change handling of adjust layer to make it more LT(...) friendly. This reworks handling to make it a little more friendly to include in keymaps.
* Fix Audio Clicky sub-feature (#2784)Drashna Jaelre2018-04-211-1/+4
| | | | | | * Fix Audio Clicky feature * Add to features
* Add the ability to disable Music Mode completely (#2339)Drashna Jaelre2018-02-081-3/+3
| | | | | | | | | | | | * Skip process_music in NO_MUSIC_MODE is defined * Skip matrix_scan_music if NO_MUSIC_MODE is defined * Skip music_all_notes_off if NO_MUSIC_MODE is defined * Leave matrix_scan_music in, because it reduces firmware size by 150b.... * Add docs for NO_MUSIC_MODE
* Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo2018-02-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fixes to get tap dance to fire at proper places (#2272)scauligi2018-02-041-0/+4
| | | | | | | | * tap dance fixes: fire immediately upon completion and also get properly interrupted before macros * bugfix for tapdance improvement * fix build
* Add missing parenthesis back to backlight_tickMichael Kaylan2018-02-011-1/+1
|
* Backlighting for JJ40 and underglow initialisation code (#2260)Kenneth Aloysius2018-01-181-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* backlight breathing overhaul (#2187)Balz Guenat2018-01-011-237/+169
| | | | | | | | | | | | | | | | | | | | * 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
* new planck keymap, new feature - hybrid shift/enter action key (great for ↵Zach Richard2017-12-141-0/+23
| | | | | | | | small keyboards!) (#2100) * new planck keymap, new feature - hybrid shift/enter action key (great for small keyboards!) * corrected documentation to specify rules.mk file instead of Makefile
* fixes audio/midi combinationsJack Humbert2017-12-101-1/+4
|
* fix up midi stuff w/music modeJack Humbert2017-12-101-1/+1
|
* fixes case where BACKLIGHT_BREATHING is enabled, but pin doesn't support PWMColin T.A. Gray2017-12-071-0/+6
|
* adds 'RGB_RMOD' to go through RGB modes in reverseColin T.A. Gray2017-12-041-6/+11
|
* Flesh out the grave escape overridesskullY2017-12-031-2/+25
|
* Updates bootloader settings, adds file size check (#2029)Jack Humbert2017-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * pull fuse settings for bootloader jump * fix 32a chips * make automatic bootloader selection optional * quantify bootloaders * fixs #164, speeds up dfu reset * fix for chips w/o usb * missing an n * fix bootloader sizes, use words for addresses * fix bmini, pearl, and [[ issue, make things quiet * ignore avr errors on arm for now * update settings for the light * document bootloader stuff * add bootloader title
* adds planck light keyboardJack Humbert2017-11-201-2/+1
|
* Added a new keycode for cycling through RBG modes which reverses directions ↵Sebastian Kaim2017-10-241-0/+12
| | | | | | | when shift is hold. This commit adds a new keycode `RGB_SMOD` which is the same as `RGB_MOD` (cycle through all modes), but when it is used in combination with shift it will reverse the direction.
* Added Auto Shift, tap key = normal, hold key = shifted state.Jeremy Cowgar2017-09-181-0/+3
|
* Updates send_string functionality, adds terminal feature (#1657)Jack Humbert2017-09-121-11/+62
| | | | | | | | | | | | | | | | | | | | | | * implement basic terminal stuff * modify send_string to read normal strings too * add files bc yeah. working pgm detected * pgm detection apparently not working * adds send string keycodes, additional keycode support in send string * implement arguments * [terminal] add help command * [terminal] adds keycode and keymap functions * [terminal] adds nop.h, documentation * update macro docs
* RGB improvements (#1684)skullydazed2017-09-061-56/+102
| | | | | | | | | | | | * Allow the knight animation to be restricted to a portion of the LED strip * Add keys for jumping directly to particular animation modes * Remove orphaned break statements * Tweak the `RGB_MODE` buttons so they cycle through the same mode. * small indentation fix
* update planck stuffJack Humbert2017-09-061-1/+1
|
* fix for issue #1568Balz Guenat2017-08-121-4/+15
|
* add short comment to grave_esc_ctrl_overrideBalz Guenat2017-08-111-0/+2
|
* add option to let ctrl override shift/gui for the GRAVE_ESC.Balz Guenat2017-08-111-0/+5
| | | | This enables the ctrl+shift+esc shortcut to task manager on windows.
* fix default layer songsJack Humbert2017-08-101-5/+4
|
* Added support for locking One Shot modifiers.Fredric Silberberg2017-08-081-1/+1
|
* Initial implementation of the key_lock feature.Fredric Silberberg2017-08-081-0/+4
|
* Add TX Bolt protocol support for StenographyJoe Wasson2017-07-271-3/+6
| | | | Requires virtser; Allows QMK to speak the TX BOlt protocol used by stenography machines and software (such as Plover). The upside is that Plover can be configured to listen only to TX Bolt allow the keyboard to switch layers without need to enable/disable the Plover software, or to have a second non-Steno keyboard work concurrently.
* start updating audio docsJack Humbert2017-07-231-4/+1
|
* clean-up planck and preonic keymaps, move audio stuff aroundJack Humbert2017-07-231-1/+46
|
* Pull out sendstring variations to their own files.Shayne Holmes2017-07-051-88/+2
| | | | | | | | | | | Instead of having all sendstring keycode mappings in the main quantum.c file, give each one its own file in keymap_extras that can be #included in a user's keymap. If one is included, it will define the appropriate lookup tables and overwrite the weak definitions in quantum.c. (Including more than one sendstring definition will fail at compile time.) Update @rai-suta's test keymap to match, as well as the documentation.
* Allow broader send_string layout customizability via compile flagShayne Holmes2017-07-051-142/+94
| | | | | | | | | | Refactor new-ish JIS_KEYCODE send_string implementation with existing send_string Reshuffle JIS in line with other alternative keycodes for sendstring, and make them all accessible via compile-time options Add a separate function to allow sending a string with a delay.
* Fix bug.rai-suta2017-06-261-1/+1
|
* Add JIS_KEYCODE layout for send_string()rai-suta2017-06-241-22/+120
|
* Added Grave Escape (#1391)jamesofarrell2017-06-161-0/+8
| | | | | | | | | | * added QK_GRAVE_ESC and KC_GESC * fixed name * Fixed keycode emnu * Removed layer check, added left and right GUI mod detection for OSX GUI+~
* quick fix for space cadet shiftJack Humbert2017-04-031-5/+5
|
* Clarify the quantum license (#1042)skullydazed2017-03-281-0/+16
| | | | | | | | | | * Clarify the license for files we have signoff on * Update against the currently signed off files * Remove unused and not clearly licensed headers * Replace an #endif I accidentally removed while resolving merge conflicts
* Merge pull request #1112 from newsboytko/newsboytko/midi-keycodesJack Humbert2017-03-281-3/+6
|\ | | | | Flesh out MIDI support
| * Update existing keymapsGabriel Young2017-02-251-2/+2
| | | | | | | | | | | | Update existing keymaps to enable MIDI_BASIC functionality. Also added an option MIDI_ENABLE_STRICT to be strict about keycode use (which also reduces memory footprint at runtime)
| * Factor basic note processing into respective processorsGabriel Young2017-02-251-0/+3
| |
| * Split MIDI functionality into MIDI_BASIC and MIDI_ADVANCEDGabriel Young2017-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MIDI_ENABLE = no text data bss dec hex filename 0 17080 0 17080 42b8 satan_midi.hex MIDI_ENABLE = yes MIDI_BASIC undefined MIDI_ADVANCED undefined text data bss dec hex filename 0 19494 0 19494 4c26 satan_midi.hex MIDI_ENABLE = yes #define MIDI_BASIC MIDI_ADVANCED undefined text data bss dec hex filename 0 19788 0 19788 4d4c satan_midi.hex MIDI_ENABLE = yes MIDI_BASIC undefined #define MIDI_ADVANCED text data bss dec hex filename 0 20846 0 20846 516e satan_midi.hex MIDI_ENABLE = yes #define MIDI_BASIC #define MIDI_ADVANCED text data bss dec hex filename 0 21140 0 21140 5294 satan_midi.hex