Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updating #9

Merged
merged 3 commits into from
Mar 21, 2015
Merged

updating #9

merged 3 commits into from
Mar 21, 2015

Conversation

jackhumbert
Copy link
Member

No description provided.

jackhumbert added a commit that referenced this pull request Mar 21, 2015
@jackhumbert jackhumbert merged commit 2e0fd30 into qmk:master Mar 21, 2015
jackhumbert pushed a commit that referenced this pull request Sep 19, 2016
* Added keyboard help macros

* Fixing Atomic PVC keymap / adding print help
jackhumbert pushed a commit that referenced this pull request Oct 26, 2016
utrrrongeeb added a commit to utrrrongeeb/qmk_firmware that referenced this pull request Jun 26, 2017
The TWI interconnect ("i2c" in directories and build config) is now
working for the Orthodox, including the slave half's column qmk#9.
This is intended as an interim solution, as it's a kludge, not a fix.

Rather than a working multi-byte implementation, the two col9 keys'
bits are packed-into and unpacked-from the two unused bits in row1.
Furthermore, the TWI clock constant has been reduced to 100000 from
400000, as testing revealed the higher value just didn't work.
Testing also found that (with this kludge) increasing the TWI buffer
was not necessary.

This commit leaves many commented-out lines in matrix.c from previous
testing, which will be removed in a future commit once the
interconnects' multi-byte problems have been debugged more thoroughly.
utrrrongeeb added a commit to utrrrongeeb/qmk_firmware that referenced this pull request Jun 26, 2017
The TWI interconnect ("i2c" in directories and build config) is now
working for the Orthodox, including the slave half's column qmk#9.
This is intended as an interim solution, as it's a kludge, not a fix.

Rather than a working multi-byte implementation, the two col9 keys'
bits are packed-into and unpacked-from the two unused bits in row1.
Furthermore, the TWI clock constant has been reduced to 100000 from
400000, as testing revealed the higher value just didn't work.
Testing also found that (with this kludge) increasing the TWI buffer
was not necessary.

This commit leaves many commented-out lines in matrix.c from previous
testing, which will be removed in a future commit once the
interconnects' multi-byte problems have been debugged more thoroughly.
jackhumbert pushed a commit that referenced this pull request Jun 26, 2017
* Added orthodox

* Modified readme

* Modified readme

* Modified readme

* Updated makefile

* Fixed keymap issues

* Modified serial communications to allow for over 8 columns

* Fixed sizeof command

* Fixed some typing issues

* Testing issue #1191 (n-column split i2c slave)

Based on initial OrthoDox (serial) config by @reddragond and others,
this attempts to add TWI (I2C) support.
Relevant: <#1191>

- per @ahtn recommendation, using memcpy for moving slave matrix
  into slave sending buffer
- slave buffer has been enlarged using sizeof(matrix_row_t)
- note: i2c.h now includes matrix.h
- note: matrix.c includes <string.h>

* Added i2c keymap - right col still not working

* orthodox: re-added i2c keymap, based on serial

* orthodox / issue #1191: trying 9-bit serial

- orthodox serial protocol now sends 9 bits per row, instead of 16.
  Technically it's using MATRIX_COLS, so it might work generically.
- ROW_MASK is #defined in serial.c to truncate the checksums to prevent
  overflows causing false errors. This macro should be renamed if it's
  kept.

* Revert "Fixed sizeof command"

This reverts commit f62a5b9.

Changes had been made to the lets_split serial driver for testing which
mirrored the multi-byte-row changes made to support the orthodox. As the
lets_split does not require these changes, and new improvements had
been added to the orthodox port only, this commit reverts them.

Because the new code could potentially reduce latency over the serial
transport, it may be desirable to re-add in the future, by backporting
the current working orthodox code.

* orthodox: default serial keymap improvements

- formatting has been improved
- a few keys have been shifted, mainly in Raise and Lower layers,
  to be more like the default Planck layout
- Now available: F12, Home, End, PgUp, PgDn, Media-Next, Media-Play

Still To Do:
- duplicate for TWI
- Alt modifier
- GUI modifier

* orthodox: failed attempt at 16b/row TWI

- duplicated updated serial keymap for "i2c"
- removed string.h/memcpy, instead
- hardcoded copying of six bytes per update
- still doesn't work; master reports interconnect errors on txled

* orthodox: adjusted default keymap

- this is applied to both 'serial' and 'i2c' keymaps
- Alt and GUI have been added, as they were missing
- comma and period persist across more layers; Home/PgUp and End/PgDn
  have been moved slightly to accommodate

* orthodox: revert TWI support to minimum to debug

- disabled ssd1306 and hardware locking in build configuration
- increased TWI buffer from 0x10 to 0x20 bytes
- decreased TWI clock from 400000 to 100000
- removed hardcoded TWI multi-byte sending/receiving

An 'i2c' build of this was found to work on a rev1 Orthodox, although
slave-side col9 was understandably not working. When testing-time
permits, features will be gradually re-enabled towards getting the full
matrix supported over TWI.

* orthodox: TWI (i2c) is working, kludge for col9

The TWI interconnect ("i2c" in directories and build config) is now
working for the Orthodox, including the slave half's column #9.
This is intended as an interim solution, as it's a kludge, not a fix.

Rather than a working multi-byte implementation, the two col9 keys'
bits are packed-into and unpacked-from the two unused bits in row1.
Furthermore, the TWI clock constant has been reduced to 100000 from
400000, as testing revealed the higher value just didn't work.
Testing also found that (with this kludge) increasing the TWI buffer
was not necessary.

This commit leaves many commented-out lines in matrix.c from previous
testing, which will be removed in a future commit once the
interconnects' multi-byte problems have been debugged more thoroughly.

* orthodox: updated readme.md

The readme for the Orthodox now includes a description of the keyboard,
allusions to its author and availability, a linked photo, and links to
the evolving build guide and the current keymap on KLE.
This update has been prepared with /u/Deductivemonkee's assistance.
mtei pushed a commit to mtei/qmk_firmware that referenced this pull request Jun 3, 2018
Add iPhone/iPad LED support to Helix default keymap
Talljoe pushed a commit to Talljoe/qmk_firmware that referenced this pull request Sep 10, 2018
Keymap speed effect; keymap improvements/fixes
alexey-danilov pushed a commit to alexey-danilov/qmk_firmware that referenced this pull request Sep 21, 2018
# This is the 1st commit message:

Easier switching between mac and win layers; logic for defining os-specific keys

# This is the commit message qmk#2:

sleep and power keys for win; added control-backspace instead of control-escape

# This is the commit message qmk#3:

adding wait in windows power/sleep macros

# This is the commit message qmk#4:

Adding switch to last window tap functinality; tweaked "mo_layer_tap"

# This is the commit message qmk#5:

An attempt to fix volume buttons in win

# This is the commit message qmk#6:

Fixed repeat function; changed win volume keys to f20-f22

# This is the commit message qmk#7:

Added macros for vim save/quit

# This is the commit message qmk#8:

Fixes for single tap of palm keys on non-palm layers

# This is the commit message qmk#9:

Moved volume and home/end keys, changed double tap for left and right brackets, replaced = and -

# This is the commit message qmk#10:

Added minimize/maximize shortcuts for mac

# This is the commit message qmk#11:

Removed unnecessary maximize shortcut for mac

# This is the commit message qmk#12:

An attempt to fix volume buttons in win

# This is the commit message qmk#13:

added find next/previous (f3/shift-f3) keys

# This is the commit message qmk#14:

Remapped alt+tab/space; mo alt layer tap for win

# This is the commit message qmk#15:

Code refactoring; changing lang on mac via alt-space

# This is the commit message qmk#16:

Added dedicated keys for undo and f3; moved brackets

# This is the commit message qmk#17:

Moved exchanged GRV and Insert keys

# This is the commit message qmk#18:

Adjusted repeat timers

# This is the commit message qmk#19:

Added dedicated keys for curly braces

# This is the commit message qmk#20:

Added hold functionality to arrow keys in alt layer

# This is the commit message qmk#21:

Added macros for terminal

# This is the commit message qmk#22:

Added macro to clear terminal output in iterm2 (mac) and console (win)

# This is the commit message qmk#23:

Fixed save macro for vim,

# This is the commit message qmk#24:

Fixed clear command for conemu on win; changed location of volume keys

# This is the commit message qmk#25:

Replaced double tap k and comma macros with escape+key functionality

# This is the commit message qmk#26:

Re-added K-tap for lang change, added redo as a hold functionality for undo key,

# This is the commit message qmk#27:

Removed f3 and undo as a separate keys, removed k-tap combo; caps and change lang

# This is the commit message qmk#28:

Combination to close window; removed esc + 3

# This is the commit message qmk#29:

Custom keycode for lang/caps, macro for closing app

# This is the commit message qmk#30:

Holding keys for esc layer,
manolodeinternet added a commit to manolodeinternet/qmk_firmware that referenced this pull request Apr 11, 2019
  BULLETPROOF ACCENTED ACUTE FOR ALL   5   VOWELS AND N TILDE !!!

* modified files:  keyboards/40percentclub/gdherkin/keymaps/30_layout/keymap.c

    * IMPLEMENTING 150 ms keypress time for shift key(space),

    * A, I, O, U vowels implemented with implicit acute accent included,

        * As I need having tap_dance functions over KC_A, KC_U, KC_I and
                tap_dance doesn’t get acute modifying character when shift is pressed,
                I have implemented acute modifying character with action_function,
                but over a new [ACUT] layer for not to overlapping previous tap_dance over A, U, I.
                And I access this new layer by pressing acute accent trigger (KC_V, KC_M),

        * It appeared a new problem when once in [ACUT] layer, I need KC_A for two
                functions again: ( á  |  Á ) and ( LSHIFT while acute accent trigger is pressed ).
                I have solved this issue, by implementing a new tap_dance for KC_A called
                A_AC_ON, who calls action_function directly with a NULL keyrecord_t parameter.
                And there I switch on or off LSHIFT with add_mods & add_weak_mods, del_mods & del_weak_mods.
           NOTE:MAYBE THIS 4 MODS FUNCTIONS TOGETHER WORK WELL INTO A TAP_DANCE_FUNCTION. I HAVE TO TRY IT !

                This way, I can activate LSHIFT when hold, or call action_function directly
                from the code (not from KEYMAP, as I believed that was the only way to call it).
                It’s a solution, not too much elegant, but a solution.
                A better solution it should be to rewrite tap_dance_function at process_tap_dance
                files at ‘qmk_firmware/quantum/process_keycode/process_tap_dance.h & .c’

* added files:  QMK POWER tricks,
    * where I’m going to collect all new power discoveries of C, QMK, algorithms, or whatever it brights by itself !
        * The first annotation is about how to manage what layer I am at present time, whenever I want to know it.
gebner pushed a commit to gebner/qmk_firmware that referenced this pull request May 19, 2019
[Add keyboard] Add Naked60BMP
drashna pushed a commit that referenced this pull request Jul 9, 2019
ykeara pushed a commit to ykeara/qmk_firmware that referenced this pull request Aug 24, 2019
* Clean-up for merge to main QMK repo

* Update info.json/readme.md

* More fixes, clean-up

* Spacing for readme.md
manolodeinternet added a commit to manolodeinternet/qmk_firmware that referenced this pull request Oct 29, 2019
[#000_MINIDACTYL], [#001_MINIDACTYL] about my brand new hardwired/mini_dactyl/rev2/manolodeinternet.
[qmk#9]…[qmk#14], [#04ALPHA]…[#08ALPHA] about Gherkin/30_layout/manolodeinternet and
I’m committing all of these changes together because I didn’t committed them before.  I’m sorry !!!

================================================================================================

[#001_MINIDACTYL]
* [_ACCN] (accents layer) is now 'One Shot Layer' for allowing a faster typing.
    * For accessing diaeresis, grave and circumflex, we still can hold down the its trigger and select them.
* Keyboards/handwired/dactyl_mini_or_rental_car renamed to keyboards/handwired/mini_dactyl
* Original 'rgblight' qmk files are restored as brand new:
    * quantum/rgblight.c,
    * quantum/rgblight.h,
    * quantum/rgblight_list.h
* Modifications about rgblight are taken apart into 'rgblight_mini_dactyl.c' in my user layouts folder:
    * keyboards/handwired/mini_dactyl/RentalCar/keymaps/manolodeinternet/rgblight_mini_dactyl.c (added ‘#include "rgblight_mini_dactyl.c”’ in keymap.c)
    * keyboards/handwired/mini_dactyl/RentalCar/keymaps/manolodeinternet/rgblight_mini_dactyl.h

[#000_MINIDACTYL]
* 'Mini Dactyl' is a keyboard created (hardware & firmware creator) by u/crystalhand under my request as a customer.
* u/crystalhand named this keyboard: 'Rental Car'.
* u/crystalhand created it by making modifications after 'Dactyl Lightcycle' keyboard (original invention by u/adereth) (https://github.com/adereth/dactyl-keyboard).
* Firmware shared through Google_Drive folder by u/crystalhand (https://drive.google.com/drive/folders/1fYzKXbg66T41S4b8151zNmbXuUXvELtY). After modifying it, it has been merged with...
* ...the firmware forked from 'qmk/qmk_firmware'(https://github.com/qmk/qmk_firmware) on GitHub to manolodeinternet(me) (https://github.com/manolodeinternet/qmk_firmware).

================================================================================================

[#08ALPHA]

* WE IMPLEMENT 'LSHIFT' IN 'KC_Z' AND 'KC_ENTER' BECAUSE WHEN WE ARE TYPING FAST,
AND WE TYPE 'KC_SPACE' FOLLOWED BY A CAPITAL WORD, WE GET TWO SPACES INSTEAD OF
A SPACE FOLLOWED BY A CAPITAL WORD.
THIS IMPLEMENTATION IS IN THREE STEPS:

1. [_DIAE] layer moved
    * from 'KC_R'
    *   to 'KC_E'

2. [_DALY] layer moved
    * from 'KC_Z' and 'KC_ENTER'
    *   to 'KC_R' and 'KC_U'

3. ’[_DALY] / KC_Z’ and '[_DALY] / KC_ENTER' changed
    *   to 'LShift / KC_Z' and 'LShift / KC_ENTER'

* Include a file in 'qmk_firmware/QMK-my_files’ folder:
    * '/WHERE CERTAINS KEYCODES ARE/qmk_firmware_quantum/quantum_keycodes.h.txt’ with info about what important keycodes implements the file:
    * '~/qmk_firmware/quantum/quantum_keycodes.h'; as 'LT(_layer, kc_keycode), RGB keycodes, etc…

* MINOR AESTHETIC CHANGES

[#07ALPHA]
* 'FORMATED FOR PRINTING' CODE VERSION
(MAXIMUM LINE WIDTH FOR RIGHT PRINTING: 105  CHARACTERS USING 'SUBLIMEPRINT' PACKAGE PLUGIN FOR 'SUBLIME TEXT' EDITOR
* THIS VERSION IS GOING TO BE MERGED WITH MINI DACTYL KEYMAPS NOW !!!

[#MERGE intermediate commit]
Merge branch 'master' of https://github.com/manolodeinternet/qmk_firmware

This merge is necessary after change commit message on local repo.
That is because in [#06ALPHA] commit I wrote:

'* THIS VERSION NOW IS GOING TO BE MERGED WITH MINI DACTYL KEYMAPS !!!'

and that's wrong. (I removed this sentence later).

Next commit [#07ALPHA] is a new version of the code for fine printing,
before merging with MINI DACTYL keymaps.

That's all folks !!!

[#06ALPHA]
* STABLE AND ROBUST QMK VERSION
* CLEANED CODE VERSION
* FINAL VERSION FOR 'COMPREHENSIVE_30_LAYOUT'

[#05ALPHA]
* READY !!!
* QMK work FINISHED !!!

* CHANGED ALL TAP_DANCE FROM DEFAULT LAYER TO LT(layer_name, kc_key)
    * LT(layer, kc) - momentarily activates layer when held, and sends kc when tapped. Only supports layers 0-15.

* ACCESING [SYMB] LAYER NOW ONLY FROM `N` KEY.
    * But `T` key is enabled as well for make easier accessing to symbols on the right side.
* ACCESING [NUMB] LAYER NOW ONLY FROM `B` KEY.
    * And setting this layer on by pressing `N` key and releasing `B` key before releasing `N` key.

* ACCENT TRIGGER KEYS ARE NOW: `G` AND `H` KEYS.
    * While pressing these triggers: vowel keys are acuted accented vowels and `N` key is for `Ñ` consonant.
    * While pressing these triggers: we can access new triggers for …
    * asd `F`  gh `J` klSP: diaeresis triggers,
    * as `D` f gh  j `K` lSP: grave      triggers,
    * a `S` df gh jk `L` SP: circumflex triggers,
    * when diaeresis, grave or circumflex triggers are hold, we can access to these kind of accented vowels.
    * Diaeresis triggers (for being pretty frequent in Spanish) are also implemented on `R` key who is the …
* trigger for [RSET] layer  (RESET & DIAERESIS layer)
* … where RESET lives.  We have a RESET on [SUSR] layer but this one to, over Default layer.
    * … (R…e s e…T) When we hold `R` key, we must to hold `T` key to, for resetting the keyboard.

* LEFT    MODIFIERS KEYS (⇧⌃⌥⌘) ARE ALL IN A ROW IN HOME ROW, TO THE LEFT (ASDF) AND TO THE RIGHT (JKL ).
* RIGHT MODIFIERS KEYS (⇧⌃⌥⌘) ARE NOW IN [SUSR] LAYER, ON BOOTH SIDES OF THE HOME ROW AS WELL.

* LEFT SIDE AND RIGHT SIDE EXTENDED DEFAULT LAYER ARE NOW CONCENTRATED ON A SINGLE SIDE (LEFT).
    * TAB IS MOVED TO `P` KEY.
    * CAPSLOCK IS MOVED TO `SPACE` KEY.
    * Maybe in the future a layer over `ENTER` (right bottom corner) key is created for hosting Tab & Capslock.

* [APPS] LAYER IS ACCESSIBLE FROM `Q` & `P` KEYS IN MULTIAPPS WAY.
* IF YOU WANT TO LAUNCH OR CHANGE TO AN APPLICATION IN AN ISOLATED MODE (HIDING THE REST OF THE APPLICATIONS),
    * … YOU MUST HOLD ⌘ COMMAND KEY BEFORE PRESS [APPS] TRIGGER.

* ALL THAT REMAINS IS TO CLEAN THE CODE.

[#04ALPHA]
 * FIXED an issue where BLIT only works during the first keystroke and then BLIT exits suddenly.

================================================================================================

[qmk#14]
* Tap_dance delay for Shift incremented from 160 to 180.
* Tap_dance delay for accents trigger lowered from defaut(200) until 170.
* Tap_dance delay for Symbols layer lowered from default(200) until 170 as well.
* [APPS] & [MAPS] has a new app now: `Simple Note`, `Keynote`, `Pages` and `Numbers`.
        * But it’s not completed yet.
        * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |@@@@@@| EVER |      | TERMI|| TYPI |      | TEXT |@@@@@@|SYSTEM|
 * |      |@@@@@@|-NOTE |      |-NAL  ||-NATOR|      |-EDIT |@@@@@@|PREFE-|
 * |      |TWITTR|      |      |      ||      |      |      |OMNIFO|RENCES|
 * |------+------+------+------+------||------+------+------+------+------|
 * |SIMPLE|      |  DAY |      |GOOGLE||      | SUBLI|KARBNR| CALEN|      |
 * | NOTE |SAFARI|  ONE |FINDER|CHROME||SKETCH|-ME   | EVENT|-DAR  |      |
 * |      |      |      |      |      ||      | TEXT |VIEWER|      |      |
 * |------+------+------+------+------||------+------+------+------+------|
 * | STU  |      | CALCU|      |      ||      |      | KEY- |      | NUM- |
 * |-DIES |      |-LATOR|      |      || NOTES| MAIL | NOTE | PAGES| BERS |
 * |      |      |      |      |      ||      |      |      |      |      |
 * `----------------------------------'`----------------------------------'

[qmk#13]
* [APPS] & [MAPS] active now.  But not completed yet.
        * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |@@@@@@| EVER |      | TERMI|| TYPI |      | TEXT |@@@@@@|SYSTEM|
 * |      |@@@@@@|-NOTE |      |-NAL  ||-NATOR|      |-EDIT |@@@@@@|PREFE-|
 * |      |TWITTR|      |      |      ||      |      |      |OMNIFO|RENCES|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |  DAY |      |GOOGLE||      | SUBLI|KARBNR| CALEN|      |
 * |      |SAFARI|  ONE |FINDER|CHROME||SKETCH|-ME   | EVENT|-DAR  |      |
 * |      |      |      |      |      ||      | TEXT |VIEWER|      |      |
 * |------+------+------+------+------||------+------+------+------+------|
 * | STU  |      | CALCU|      |      ||      |      |      |      |      |
 * |-DIES |      |-LATOR|      |      || NOTES| MAIL |      |      |      |
 * |      |      |      |      |      ||      |      |      |      |      |
 * `----------------------------------'`----------------------------------'

[qmk#12]
* Fixed N_TILDE, letter `n` now only can show tilde (enie) in case of single_tap (acute_requested) and the rest of the accents are ignored

[qmk#11]
* FIXED ALL KIND OF ACCENTS (NOT ONLY ACUTE)
        * ( MANAGED AS KEY RELEASES, NOT AS KEY PRESSES INTO “action_function()” ),

* DefaultKeyBinding.dict file copied into `qmk_firmware/keyboards/40percentclub/gherkin/keymaps/30_layout/` as a reference, …
* … because all ?VIM layers use keybindings from the system customised by me, for collecting all possible editor movements
* ALL EXTRA FILES ARE MOVED FROM ITS ORIGINAL FOLDER TO “QMK-my_files”,
* COPIES OF KEYMAPS ARE NOW STORED IN `keymap_c-copies`,

* IMPLEMENTED THE REST OF THE LAYERS (APART FROM GHKN, NMBR, SYMB):
    * 3 [FNCT]   FuNCTion keys layer,
    * 4 [L_XTND] (Left side),
    * 5 [R_XTND] (Right side) for making an eXTeNDed Gherkin(default) layer with frequent functions,
            * this two counterparts layers collect most frequent combos
                * left side:
 * ,-----------------------------------.,----------------------------------.
 * |      |      | Vol. | Vol. |      ||      |      |      |      | •Spot|
 * |      | Mute |      |      |      || Close| Prev | Next |Launch| Light|
 * |      |      | Down |  Up  |      ||  APP | APP  | APP  |  Pad |••SIRI|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||      |      |      |      |      |
 * |      |Rewind|  UP  |Forwrd| Play || Close| Prev | Next | Dash | SPACE|
 * |      |      |      |      |      ||Window|Window|Window| Board|      |
 * |------+------+------+------+------||------+------+------+------+------|
 * |@@@@@@|      |      |      |      ||      |      |      |      |      |
 * |@@@@@@| LEFT | DOWN | RIGHT|Reopen|| Close| Prev | Next |DELETE| ENTER|
 * |@@@@@@|      |      |      |  tab ||  tab | tab  | tab  |      |      |
 * '------+------+------+------+------'`------+------+------+------+------'
                * right side:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      ||      | Vol. | Vol. |      |      |
 * |  Tab | Desk |Windws|Mision|Float.||      |      |      | Mute |      |
 * |      |      | Apps |Contrl|Window||      |  Up  | Down |      |      |
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |Sublim|      |      ||      |      |      |      |      |
 * | Caps |Dictat|Text 3| Speak|Active||      |      |  UP  |      |      |
 * |      |      |Histry|      |Window||      |      |      |      |      |
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      | PASTE||      |      |      |      |@@@@@@|
 * |      |      |      |      |   &  ||      | LEFT | DOWN | RIGHT|@@@@@@|
 * | UNDO |  CUT | COPY | PASTE| MATCH|| REDO |      |      |      |@@@@@@|
 * '------+------+------+------+------'`------+------+------+------+------'
    * 6 [APPS] & [MAPS] APPlicationS & Multiple APplicationS layer implemented,
            * … layer not complete yet, neither active,
            * … APPS & MAPS activate the same apps, but with
            * … with APPS the apps are open alone,
            * … with MAPS the apps are open on top of all current apps.
    * 7 [SUSR] Super USeR layer allow us access system functions
            * i.e.:
* ,-----------------------------------.,---------------------------------.
* |@@@@@@|      |      |      |      ||      |      |      |      |@@@@@@|
* |@@@@@@|      |      |onHold|      ||      |      |      |      |@@@@@@|
* | BLIT |LOGOUT|LCKSCR| RESET| REDO ||      |      |      |      | BLIT |
* |------+------+------+------+------||------+------+------+------+------|
* | Menu | Dock | Tool |Status|Float.||      |      |      |      |      |
* | _bar | _bar | _bar | _bar |Window||      |      |      |      |      |
* |      |      |      |      |      ||      |      |      |      |      |
* |onHold|onHold|onHold|onHold|onHold||      | LGui | LAlt | LCtl | LSft |
* | SLEEP|K_MENU|KILL_A|SHUT_D|RSTART||      |      |      |      |      |
* |------+------+------+------+------||------+------+------+------+------|
* |      |      |      |      |      ||      |      |      |      |      |
* |      |      |      |      |      ||      |      |      |      |      |
* | RSft | RCtl | RAlt | RGui |      ||      | RGui | RAlt | RCtl | RSft |
* '------+------+------+------+------'`------+------+------+------+------'

    * 8 [PVIM] Personal VIM layer,
            * this name is provisional,
            * this layer makes a kinda of a customised right side keyboard for reflecting natural movements,
            * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      || Move | Move | Move | Move | Move |
 * |      |      |      |      |      ||Prgrph| Begin| Word | Word |End Of|
 * |      |      |      |      |      ||  Up  |Ln/Prg|Bckwrd|Forwrd|Ln/Prg|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||Center| Move | Move | Move | Move |
 * |      |      |      |      |      ||LineIn|      |      |      |      |
 * |      |      |      |      |      || View | LEFT |  UP  | DOWN | RIGHT|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |@@@@@@|      || Move | Move | Move | Move | Move |
 * |      |      |      |@@@@@@|      ||Prgrph|      | Page | Page |      |
 * |      |      |      |@@@@@@|      || Down | HOME |  UP  | DOWN |  END |
 * `----------------------------------'`----------------------------------'
    * 9 [DVIM] Delete   VIM layer,
            * this name is provisional too,
            * this layer makes a kinda of a customised right side keyboard for reflecting natural movements for deleting,
            * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      ||      |Delete|Delete|Delete|Delete|
 * |      |      |      |      |      ||      | Begin| Word | Word |End Of|
 * |      |      |      |      |      ||      |Ln/Prg|Bckwrd|Forwrd|Ln/Prg|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||      |Delete|Delete|Delete|Delete|
 * |      |      |      |      |      || Yank | Char | Line | Line | Char |
 * |      |      |      |      |      ||      | LEFT |  UP  | DOWN | RIGHT|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |@@@@@@|      |@@@@@@|      ||      |Delete|Delete|Delete|Delete|
 * |      |      |      |@@@@@@|      ||      |      | Page | Page |      |
 * |      |      |      |@@@@@@|      ||      | HOME |  UP  | DOWN |  END |
 * `----------------------------------'`----------------------------------'
    * 10 [SVIM] Selecting VIM layer,
            * this name is provisional as well,
            * this layer reflect natural movements for select parts of our text,
            * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      ||Select|Select|Select|Select|Select|
 * |      |      |      |      |      ||Prgrph| Begin| Word | Word |End Of|
 * |      |      |      |      |      || Above|Ln/Prg|Bckwrd|Forwrd|Ln/Prg|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||      |Select|Select|Select|Select|
 * |      |      |      |      |      ||      | Char | Line | Line | Char |
 * |      |      |      |      |      ||      | LEFT |  UP  | DOWN | RIGHT|
 * |------+------+------+------+------||------+------+------+------+------|
 * |@@@@@@|      |      |@@@@@@|      ||Select|Select|Select|Select|Select|
 * |      |      |      |@@@@@@|      ||Prgrph|      | Page | Page |      |
 * |      |      |      |@@@@@@|      || Below| HOME |  UP  | DOWN |  END |
 * `----------------------------------'`----------------------------------'
* 11 [XVIM] eXtended VIM layer,
        * this name is provisional too,
        * this layer reflect natural movements for extended functions over our text,
        * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      || Copy |Upper |Capita|      |Lower |
 * |      |      |      |      |      || prev.|case  |lize  |      |case  |
 * |      |      |      |      |      ||prgrph| Word | Word |      | Word |
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||Duplct|  25  |  50  |  50  |  25  |
 * |      |      |      |      |      ||prgrph| lines| lines| lines| lines|
 * |      |      |      |      |      || Below|  UP  |  UP  | DOWN | DOWN |
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |@@@@@@|      || Copy |Scroll|Scroll|Scroll|Scroll|
 * |@@@@@@|      |      |@@@@@@|      || next |      | Page | Page |      |
 * |@@@@@@|      |      |@@@@@@|      ||prgrph| HOME |  UP  | DOWN |  END |
 * `----------------------------------'`----------------------------------'
* 12 [ZVIM] `eZtended` VIM layer,
        * this name is provisional as well,
        * this layer reflect MORE natural movements for `eZtended` functions over our text,
        * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      ||Insert|Trans |      |      |Trans |
 * |      |      |      |      |      ||LnAbve|pose  |      |      |pose  |
 * |      |      |      |      |      ||prgrph| Words|      |      |Chrctr|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||Select|Select|Select|Select|Select|
 * |      |      |      |      |      ||& Copy|& Copy|& Copy|& Copy|& Copy|
 * |      |      |      |      |      ||Chrctr| Word | Line |prgrph|  All |
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |@@@@@@|      ||Insert|      |      |      |      |
 * |      |      |@@@@@@|@@@@@@|      ||LnBlow|      |      |      |      |
 * |      |      |@@@@@@|@@@@@@|      ||prgrph|      |      |      |      |
 * `----------------------------------'`----------------------------------'
* 13 [AVIM] Alignment VIM layer,
        * this name is provisional too,
        * this layer reflect natural movements for alignment elements into our text,
        * i.e.:
 * ,----------------------------------.,----------------------------------.
 * |      |      |      |      |      || Super|Align |Align |Align |Align |
 * |      |      |      |      |      ||script|      |      | Justi|      |
 * |      |      |      |      |      ||      | Left |Center|-fied | Right|
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |      |      ||  Un  |  Out |      |      |  In  |
 * |      |      |      |      |      ||script|-dent |      |      |-dent |
 * |      |      |      |      |      ||      |      |      |      |      |
 * |------+------+------+------+------||------+------+------+------+------|
 * |      |      |      |@@@@@@|      || Subs | Check|Ignore|      |      |
 * |      |@@@@@@|      |@@@@@@|      ||script| spell| spell|      |      |
 * |      |@@@@@@|      |@@@@@@|      ||      |      |      |      |      |
 * `----------------------------------'`----------------------------------'
* 14 [MOUS] Mouse layer,
        * this layer allows us to move the pointer and the wheel mouse, and click buttons 1…5 as well,
* ,----------------------------------.,----------------------------------.
* |      |      |      |      |      ||      |      |      |      |      |
* |Accel0|      |      |      |      ||      | wLeft|  wUp | wDown|wRight|
* |      |      |      |      |      ||      |      |      |      |      |
* |------+------+------+------+------||------+------+------+------+------|
* |      |      |      |      |      ||      |      |      |      |      |
* | LSft | LCtl | LAlt | LGui |      ||      | mLeft|  mUp | mDown|mRight|
* |      |      |      |      |      ||      |      |      |      |      |
* |------+------+------+------+------||------+------+------+------+------|
* |      |      |@@@@@@|@@@@@@|      ||      |      |      |      |      |
* |Accel1|Accel2|      | mBtn1|Accel0|| mBtn1| mBtn2| mBtn3| mBtn4| mBtn5|
* |      |      |      |@@@@@@|      ||      |      |      |      |      |
* '------+------+------+------+------'`------+------+------+------+------'
* 15 [BLIT] Backlight layer,
        * this layer controls LED diodes (level of brightness and `breathing mode,
        * i.e.:
* .-----------------------------------------------------------------------------------------.
* |  BL_1  |  BL_2  |  BL_3  |  BL_4  |  BL_5  |BREATH_1|BREATH_2|BREATH_3|BREATH_4|BREATH_T|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* |  BL_6  |  BL_7  |  BL_8  |  BL_9  |  BL_10 |BREATH_5|BREATH_6|BREATH_7|BREATH12|BL_TOGGL|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|F
* |  BL_11 |  BL_12 |  BL_13 |  BL_14 |  BL_15 |BREATH15| BL_ON | BL_INC | BL_DEC | BL_OFF |
* '-----------------------------------------------------------------------------------------'
    * 31 [TEST] debugging or testing layer,
            * this layer is for implementing new or experimental features, before update the consolidated firmware,
            * be careful: you must call layers from code when it comes to layers between 16 and 31,
            * … if you invoke them from keycap, it doesn’t work !!!  And layers over 31 are not allowed on QMK.

[qmk#10]
  .gitignore modified to include old copies saved into “keymap_c-copies/“ folder into “keyboards/40percentclub/gherkin/keymaps/30_layout/“

git rebase --interactive HEAD~2

[qmk#9]
  BULLETPROOF ACCENTED ACUTE FOR ALL   5   VOWELS AND N TILDE !!!

* modified files:  keyboards/40percentclub/gdherkin/keymaps/30_layout/keymap.c

    * IMPLEMENTING 150 ms keypress time for shift key(space),

    * A, I, O, U vowels implemented with implicit acute accent included,

        * As I need having tap_dance functions over KC_A, KC_U, KC_I and
                tap_dance doesn’t get acute modifying character when shift is pressed,
                I have implemented acute modifying character with action_function,
                but over a new [ACUT] layer for not to overlapping previous tap_dance over A, U, I.
                And I access this new layer by pressing acute accent trigger (KC_V, KC_M),

        * It appeared a new problem when once in [ACUT] layer, I need KC_A for two
                functions again: ( á  |  Á ) and ( LSHIFT while acute accent trigger is pressed ).
                I have solved this issue, by implementing a new tap_dance for KC_A called
                A_AC_ON, who calls action_function directly with a NULL keyrecord_t parameter.
                This way, I can activate LSHIFT when hold, or call action_function directly
                 from the code (not from KEYMAP, as I believed that was the only way to call it).
                 It’s a solution, not too much elegant, but a solution.
                 A better solution it should be to rewrite tap_dance_function at process_tap_dance
                 files at ‘qmk_firmware/quantum/process_keycode/process_tap_dance.h & .c’

* added files:  QMK POWER tricks,
    * where I’m going to collect all new power discoveries of C, QMK, algorithms, or whatever it brights by itself !
        * The first annotation is about how to manage what layer I am at present time, whenever I want to know it.
cjuniet pushed a commit to cjuniet/qmk_firmware that referenced this pull request Sep 3, 2020
* adding HT32 support to chibios SPI master driver

* add support for W25X20CL SPI eeprom

* add makefile flag for eeprom feature

* add spi support to keyboard startup and config

* example keymap using eeprom profile loading
finlaybob pushed a commit to finlaybob/qmk_firmware that referenced this pull request Jun 8, 2021
rizalfr referenced this pull request in rizalfr/qmk_firmware Jun 11, 2021
Add support for GMMK Pro
keyaki-namiki pushed a commit to keyaki-namiki/qmk_firmware that referenced this pull request Jul 3, 2021
tzarc pushed a commit that referenced this pull request Oct 18, 2021
* tmk_core: temporary fix to allow HT32 based keyboards to work without patched ChibiOS-contrib (AnnePro2)

* HT32: add spi support

Add persistent led support with eeprom (#9)

* adding HT32 support to chibios SPI master driver

update spi driver, fix bad merging with master

* HT32: fix formatting

HT32: Fix formatting: tmk_core/protocol/chibios/usb_main.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* HT32: Apply suggestions from fauxpark's code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* HT32: update spi driver

* ht32: apply code review suggestions, remove old workaround

Co-authored-by: tech2077 <tech2077@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
shearn89 pushed a commit to shearn89/qmk_firmware that referenced this pull request Feb 16, 2022
* adding HT32 support to chibios SPI master driver

* add support for W25X20CL SPI eeprom

* add makefile flag for eeprom feature

* add spi support to keyboard startup and config

* example keymap using eeprom profile loading
tzarc added a commit that referenced this pull request Mar 8, 2022
* [keyboard] Initial support for Anne Pro 2

* [keyboard][AnnePro2] Keymap:update to a reasonable keymap with caps+hjkl => arrow

* :(

* changed to use HSI

* support for annepro2 c18

* keyboard/annepro2: Very stupid matrix scan bug fix.

* typo

* swap COL14/13

* keyboard/annepro2: startup secondary LED MCU

* keyboard/annepro2: typo fix

* Add IO Values

* Disable Combo feature

* Update default keymap to Anne Pro 2 Official Keymap

* keyboard/annepro2: keymap layer name changes

* keyboard/annepro2 BLE Support

* Fix keymap comment

FN1 ESC was listed as ~ instead of `

* keyboard/annepro2: Bluetooth path

* Keyboard annepro2 bidir led comms (#5)

* Added bidirectional shine comms and moved led functionality to new file

* Added bidirectional shine comms and moved led functionality to new file

* Restore original functionality to existing keymaps using new shine commands

* Fix dangling bracketless if statements

* PR cleanup

* add custom keycodes to switch led profiles

* Optimize code

* switch to prev profile before turning leds off

* Add persistent led support with eeprom (#9)

* adding HT32 support to chibios SPI master driver

* add support for W25X20CL SPI eeprom

* add makefile flag for eeprom feature

* add spi support to keyboard startup and config

* example keymap using eeprom profile loading

* Cleanup to fix C15 eeprom/spi build errors (#11)

* Cleanup to fix C15 eeprom/spi build errors

* add newline at eof

* LED Masking support for Shine

Introduce companion update to ledSetMask and ledClearMask.
In keymap `codetector` there is example of how to map caps_lock
to the caps_lock key light on the keyboard.

* [AnnePro2]: update bluetooth connection

* Merge the custom keys enums on annepro2.h (#13)

* Keyboard annepro2 ble caps lock (#12)

* Move matrix_scan_kb out of board.c to annepro2.c

* add buffer clear after init and caplock polling

* Add support for LED intensity (#15)

* Improve logic for switching off and on of LEDs (#16)

* Implement animation speed (#17)

* Include logic to send solid colors as foreground to shine and add sample profiles (#14)

Include the logic to send a solid color from qmk to shine. That solid color will act as a foreground (will override the current profile) until reset (witch will reactivate the current profile).
This functionality depends on changes made for shine as well.

Include 3 new profiles:

    default-full-caps -> same as default, but with the logic of using the red foreground color on caps lock.
    default-layer-indicators -> same as default, but with the logic of red foreground on caps lock, green foreground on FN1 and blue foreground on FN2.
    thomazmoura -> my own profile as a sample of an over-engineered advanced case scenario.

* Implement reactive lighting effects (#18)

* Added multiarrow keymap (#19)

* Add LED documentation (#26)

* add LED documentation

* add LED documentation to other default profiles

* Implement QMK's IAP default keybind (#29)

* Add keymap for going into IAP

* switch to default QMK keybind for IAP mode

* implement bluetooth IAP mode

* Make default config more like Obins stock default (#30)

* Add new message type for resetting foreground color (#31)

* annepro2(bluetooth): add media keys support (#41)

* Asynchronous, robust serial protocol. (#39)

* bla personal ap2-c18 keymap.

* Bidirectional, asynchronous message-based communication with Shine.

- Requires a matching Shine version.
- Protocol is resiliant to loosing bytes during communication, chips won't lock
  waiting for bytes that aren't coming.
- Chips resynchronize in event of loosing a byte using a AA0D header.

Regressions:
- Key masking/locking doesn't work right now. (did it work before?)
- Not all user keymaps build against it.

* Clang-format + code to ease reducing speed of LED UART.

- Did clang-format --style=file -i on multiple files according to
  coding_conventions_c.md

- Added separate serial speed for IAP boot and Led communication, it's possible
  that reducing this to 9600 helped someone with faulty HW. With this code they
  can do it with simple replacing of a value.

* Main chip can set/clear foreground using a mask mechanism.

- Some preparations for selective colouring.

* Selective mask works - tested on capslock.

- Migrated personal keymaps to new status API.

* Clear the foreground colors to show profile when it's modified.

- Show example of achieving selective caps-lock painting + foreground painting
  for layers.
- annepro2LedMaskSetRow is implemented, but still requires testing.

* Implement the QMK side of led blinking to indicate the command was received.

- This stupidly blinks the key when user presses one of the bluetooth commands
to let the user know that the command was received and forwarded to the BT chip.

- TODO: Row/col key positions are hardcoded and not taken from the keymap.

* Reduce memory footprint.

Applying code review suggestions. Moved msgId to globals - preparing for
transmission without copying payload when no retries are necessary.

Added empty readme.md files - required by QMK lint.

Co-authored-by: Tomasz bla Fortuna <bla@thera.be>

* Let the LED chip settle a bit before waking it from the bootloader. (#42)

At least for one person that helps to reliably get the LEDs working without
disconnecting/reconnecting the power to the board multiple times.

Co-authored-by: Tomasz bla Fortuna <bla@thera.be>

* annepro2: rename KEYMAP to LAYOUT, as required by new version of QMK

* annepro2: update ChibiOS configuration files

* annepro2: fix undefined reference to dprint and timer_read32

* annepro2: update ChibiOS MCU name

* update spi driver, fix bad merging with master

* annepro2: add readme and info.json

* annepro2: make code compatible with QMK coding conventions

* tmk_core: temporary fix to allow HT32 based keyboards to work without patched ChibiOS-contrib (AnnePro2)

* AnnePro2: removed core changes

* AnnePro2: Leave only default keymaps

Missing keymaps will be restored in another PR

* annepro2: add licence information

* annepro2: satisfy qmk lint

* annepro2: fix drashna's suggestions

* annepro2: fix matrix

* annepro2: apply code review suggestions

* annepro2: apply remaining code review suggestions

* annepro2: update info.json

* annepro2: remove include

* annepro2: rename keymap to layout

* annepro2: fix typing

* annepro2: apply suggestions from tzarc's code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

* annepro2: more fixes

* annepro2: apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* annepro2: rename file

* more fixes

* Apply suggestions from @tzarc code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/annepro2/protocol.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/annepro2/chconf.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* apply CR suggestions

* upgrade readme

* IAP

* update IAP comments, defines

* led fix

* init fix

* annepro2: GPIO cleanup

* annepro2: ioline

* change waiting time

* Start develop for 2022q2

* [Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (#16269)

* Rework generate-api CLI command to use .build directory (#16441)

* Remove `send_unicode_hex_string()` (#16518)

* Change data driven "str" type to represent a quoted string literal (#16516)

* Change data driven "str" type to represent a quoted string literal

* Update docs

* Map data driven `DESCRIPTION` as string literal (#16523)

* update bootloader

* Revert "Merge pull request #2 from qmk/develop"

This reverts commit 9c76065, reversing
changes made to 240745d.

* Revert "update bootloader"

This reverts commit 240745d.

* fix rules.mk

* change PROGRAM_CMD

Co-authored-by: codetector <codetector@codetector.cn>
Co-authored-by: Fagl4 <18francisco18@gmail.com>
Co-authored-by: Jakob Gillich <jakob@gillich.me>
Co-authored-by: tech2077 <tech2077@gmail.com>
Co-authored-by: jcdeA <31413538+JcdeA@users.noreply.github.com>
Co-authored-by: Thomaz Moura <5599621+thomazmoura@users.noreply.github.com>
Co-authored-by: Darkhan <darkhanu@gmail.com>
Co-authored-by: Paco <70448173+packorf@users.noreply.github.com>
Co-authored-by: jmarmstrong1207 <32995055+jmarmstrong1207@users.noreply.github.com>
Co-authored-by: 1Conan <7620342+1Conan@users.noreply.github.com>
Co-authored-by: Tomasz bla Fortuna <blagh@thera.be>
Co-authored-by: Tomasz bla Fortuna <bla@thera.be>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: QMK Bot <hello@qmk.fm>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Ryan <fauxpark@gmail.com>
ptrxyz pushed a commit to ptrxyz/qmk_firmware that referenced this pull request Apr 9, 2022
* tmk_core: temporary fix to allow HT32 based keyboards to work without patched ChibiOS-contrib (AnnePro2)

* HT32: add spi support

Add persistent led support with eeprom (qmk#9)

* adding HT32 support to chibios SPI master driver

update spi driver, fix bad merging with master

* HT32: fix formatting

HT32: Fix formatting: tmk_core/protocol/chibios/usb_main.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* HT32: Apply suggestions from fauxpark's code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* HT32: update spi driver

* ht32: apply code review suggestions, remove old workaround

Co-authored-by: tech2077 <tech2077@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
itarze referenced this pull request in itarze/qmk_firmware Apr 20, 2022
crembz referenced this pull request in crembz/qmk_firmware Jul 4, 2022
* [keyboard] Initial support for Anne Pro 2

* [keyboard][AnnePro2] Keymap:update to a reasonable keymap with caps+hjkl => arrow

* :(

* changed to use HSI

* support for annepro2 c18

* keyboard/annepro2: Very stupid matrix scan bug fix.

* typo

* swap COL14/13

* keyboard/annepro2: startup secondary LED MCU

* keyboard/annepro2: typo fix

* Add IO Values

* Disable Combo feature

* Update default keymap to Anne Pro 2 Official Keymap

* keyboard/annepro2: keymap layer name changes

* keyboard/annepro2 BLE Support

* Fix keymap comment

FN1 ESC was listed as ~ instead of `

* keyboard/annepro2: Bluetooth path

* Keyboard annepro2 bidir led comms (#5)

* Added bidirectional shine comms and moved led functionality to new file

* Added bidirectional shine comms and moved led functionality to new file

* Restore original functionality to existing keymaps using new shine commands

* Fix dangling bracketless if statements

* PR cleanup

* add custom keycodes to switch led profiles

* Optimize code

* switch to prev profile before turning leds off

* Add persistent led support with eeprom (#9)

* adding HT32 support to chibios SPI master driver

* add support for W25X20CL SPI eeprom

* add makefile flag for eeprom feature

* add spi support to keyboard startup and config

* example keymap using eeprom profile loading

* Cleanup to fix C15 eeprom/spi build errors (#11)

* Cleanup to fix C15 eeprom/spi build errors

* add newline at eof

* LED Masking support for Shine

Introduce companion update to ledSetMask and ledClearMask.
In keymap `codetector` there is example of how to map caps_lock
to the caps_lock key light on the keyboard.

* [AnnePro2]: update bluetooth connection

* Merge the custom keys enums on annepro2.h (#13)

* Keyboard annepro2 ble caps lock (#12)

* Move matrix_scan_kb out of board.c to annepro2.c

* add buffer clear after init and caplock polling

* Add support for LED intensity (#15)

* Improve logic for switching off and on of LEDs (#16)

* Implement animation speed (#17)

* Include logic to send solid colors as foreground to shine and add sample profiles (#14)

Include the logic to send a solid color from qmk to shine. That solid color will act as a foreground (will override the current profile) until reset (witch will reactivate the current profile).
This functionality depends on changes made for shine as well.

Include 3 new profiles:

    default-full-caps -> same as default, but with the logic of using the red foreground color on caps lock.
    default-layer-indicators -> same as default, but with the logic of red foreground on caps lock, green foreground on FN1 and blue foreground on FN2.
    thomazmoura -> my own profile as a sample of an over-engineered advanced case scenario.

* Implement reactive lighting effects (#18)

* Added multiarrow keymap (#19)

* Add LED documentation (#26)

* add LED documentation

* add LED documentation to other default profiles

* Implement QMK's IAP default keybind (qmk#29)

* Add keymap for going into IAP

* switch to default QMK keybind for IAP mode

* implement bluetooth IAP mode

* Make default config more like Obins stock default (qmk#30)

* Add new message type for resetting foreground color (qmk#31)

* annepro2(bluetooth): add media keys support (qmk#41)

* Asynchronous, robust serial protocol. (qmk#39)

* bla personal ap2-c18 keymap.

* Bidirectional, asynchronous message-based communication with Shine.

- Requires a matching Shine version.
- Protocol is resiliant to loosing bytes during communication, chips won't lock
  waiting for bytes that aren't coming.
- Chips resynchronize in event of loosing a byte using a AA0D header.

Regressions:
- Key masking/locking doesn't work right now. (did it work before?)
- Not all user keymaps build against it.

* Clang-format + code to ease reducing speed of LED UART.

- Did clang-format --style=file -i on multiple files according to
  coding_conventions_c.md

- Added separate serial speed for IAP boot and Led communication, it's possible
  that reducing this to 9600 helped someone with faulty HW. With this code they
  can do it with simple replacing of a value.

* Main chip can set/clear foreground using a mask mechanism.

- Some preparations for selective colouring.

* Selective mask works - tested on capslock.

- Migrated personal keymaps to new status API.

* Clear the foreground colors to show profile when it's modified.

- Show example of achieving selective caps-lock painting + foreground painting
  for layers.
- annepro2LedMaskSetRow is implemented, but still requires testing.

* Implement the QMK side of led blinking to indicate the command was received.

- This stupidly blinks the key when user presses one of the bluetooth commands
to let the user know that the command was received and forwarded to the BT chip.

- TODO: Row/col key positions are hardcoded and not taken from the keymap.

* Reduce memory footprint.

Applying code review suggestions. Moved msgId to globals - preparing for
transmission without copying payload when no retries are necessary.

Added empty readme.md files - required by QMK lint.

Co-authored-by: Tomasz bla Fortuna <bla@thera.be>

* Let the LED chip settle a bit before waking it from the bootloader. (qmk#42)

At least for one person that helps to reliably get the LEDs working without
disconnecting/reconnecting the power to the board multiple times.

Co-authored-by: Tomasz bla Fortuna <bla@thera.be>

* annepro2: rename KEYMAP to LAYOUT, as required by new version of QMK

* annepro2: update ChibiOS configuration files

* annepro2: fix undefined reference to dprint and timer_read32

* annepro2: update ChibiOS MCU name

* update spi driver, fix bad merging with master

* annepro2: add readme and info.json

* annepro2: make code compatible with QMK coding conventions

* tmk_core: temporary fix to allow HT32 based keyboards to work without patched ChibiOS-contrib (AnnePro2)

* AnnePro2: removed core changes

* AnnePro2: Leave only default keymaps

Missing keymaps will be restored in another PR

* annepro2: add licence information

* annepro2: satisfy qmk lint

* annepro2: fix drashna's suggestions

* annepro2: fix matrix

* annepro2: apply code review suggestions

* annepro2: apply remaining code review suggestions

* annepro2: update info.json

* annepro2: remove include

* annepro2: rename keymap to layout

* annepro2: fix typing

* annepro2: apply suggestions from tzarc's code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

* annepro2: more fixes

* annepro2: apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* annepro2: rename file

* more fixes

* Apply suggestions from @tzarc code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/annepro2/protocol.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* Update keyboards/annepro2/chconf.h

Co-authored-by: Nick Brassel <nick@tzarc.org>

* apply CR suggestions

* upgrade readme

* IAP

* update IAP comments, defines

* led fix

* init fix

* annepro2: GPIO cleanup

* annepro2: ioline

* change waiting time

* Start develop for 2022q2

* [Core] Squeeze AVR some more with `-mrelax` and `-mcall-prologues` (qmk#16269)

* Rework generate-api CLI command to use .build directory (qmk#16441)

* Remove `send_unicode_hex_string()` (qmk#16518)

* Change data driven "str" type to represent a quoted string literal (qmk#16516)

* Change data driven "str" type to represent a quoted string literal

* Update docs

* Map data driven `DESCRIPTION` as string literal (qmk#16523)

* update bootloader

* Revert "Merge pull request #2 from qmk/develop"

This reverts commit 9c76065, reversing
changes made to 240745d.

* Revert "update bootloader"

This reverts commit 240745d.

* fix rules.mk

* change PROGRAM_CMD

Co-authored-by: codetector <codetector@codetector.cn>
Co-authored-by: Fagl4 <18francisco18@gmail.com>
Co-authored-by: Jakob Gillich <jakob@gillich.me>
Co-authored-by: tech2077 <tech2077@gmail.com>
Co-authored-by: jcdeA <31413538+JcdeA@users.noreply.github.com>
Co-authored-by: Thomaz Moura <5599621+thomazmoura@users.noreply.github.com>
Co-authored-by: Darkhan <darkhanu@gmail.com>
Co-authored-by: Paco <70448173+packorf@users.noreply.github.com>
Co-authored-by: jmarmstrong1207 <32995055+jmarmstrong1207@users.noreply.github.com>
Co-authored-by: 1Conan <7620342+1Conan@users.noreply.github.com>
Co-authored-by: Tomasz bla Fortuna <blagh@thera.be>
Co-authored-by: Tomasz bla Fortuna <bla@thera.be>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: QMK Bot <hello@qmk.fm>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Ryan <fauxpark@gmail.com>
thxph pushed a commit to thxph/qmk_firmware that referenced this pull request Jul 25, 2022
mattpcaswell pushed a commit to mattpcaswell/qmk_firmware that referenced this pull request Jun 7, 2023
* Update kb-settings.js

* Tested

* removed title: tags
ankostis pushed a commit to ankostis/qmk_firmware that referenced this pull request Mar 12, 2024
petrovs12 pushed a commit to petrovs12/qmk_firmware_sval that referenced this pull request May 21, 2024
BorisTestov pushed a commit to BorisTestov/qmk_firmware that referenced this pull request May 23, 2024
* tmk_core: temporary fix to allow HT32 based keyboards to work without patched ChibiOS-contrib (AnnePro2)

* HT32: add spi support

Add persistent led support with eeprom (qmk#9)

* adding HT32 support to chibios SPI master driver

update spi driver, fix bad merging with master

* HT32: fix formatting

HT32: Fix formatting: tmk_core/protocol/chibios/usb_main.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* HT32: Apply suggestions from fauxpark's code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* HT32: update spi driver

* ht32: apply code review suggestions, remove old workaround

Co-authored-by: tech2077 <tech2077@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants