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

Add angled lines implementation #2

Closed
wants to merge 196 commits into from
Closed

Add angled lines implementation #2

wants to merge 196 commits into from

Conversation

Gr1mR3aver
Copy link

Description

Added implementation of angled line drawing using the Bresenham algorithm

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

elfmimi and others added 30 commits December 4, 2020 06:38
* Add Via keymap

* Via Enable in Rules.mk

* Update config.h

added nasp before Plexus75 in PRODUCT to better follow Via naming convention

* Update keymap.c

changed KC_CTRL to KC_LCTL

* Update config.h

took out the manu repeat

* Update rules.mk

* Create rules.mk

changed location of rules.mk for supporting Via

* Apply suggestions from code review

Co-authored-by: Ryan <[email protected]>

* Update keyboards/plexus75/keymaps/via/rules.mk

Co-authored-by: Ryan <[email protected]>

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <[email protected]>

Co-authored-by: Ryan <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
* Add LAYOUT_alice support: fallacy

* Add LAYOUT_alice support: kb_elmo/sesame

* Add LAYOUT_alice support: cheshire/curiosity

* Add LAYOUT_alice support: evyd13/wonderland

* Add LAYOUT_alice support: mechlovin/adelais

* Update LAYOUT_alice support: projectkb/alice

The PR that added Alice community layout support for the projectkb/alice/rev2 simultaneously broke support for every other keyboard that supported LAYOUT_alice.

This commit partially reverts the offending PR. `LAYOUT_alice` for the projectkb/alice has been renamed to `LAYOUT_alice_split_bs`, and a correct 65-key `LAYOUT_alice` has been added.

Additionally, the `LAYOUTS` rule has been moved to keyboard level as the layout macros are shared between rev1 and rev2 boards, which means the layout options are the same for both revisions.

* Update ramonimbao/aelith info.json

Keyboard source was already correct to support LAYOUT_alice, but the layout tree was missing from info.json.

* Fork `alice` Community Layout...

... into Standard and Split Backspace versions

Also updates stanrc85's layout keymap to use 65 keys instead of the Split Backspace 66-key version.

* Update LAYOUT_alice support: sneakbox/aliceclone

Rework the sneakbox/aliceclone to use the Split Backspace Alice layout.

* Update LAYOUT_alice support: zoo/wampus

The layout macro that was `LAYOUT_alice` was 66 keys. This layout macro has been renamed to `LAYOUT_alice_split_bs`, and a 65-key `LAYOUT_alice` has been added.

Additionally, the 66-key macro has been rearranged to accept its keycodes in the intended order for Community Layout support.

* Update keyboards for `LAYOUT_alice_split_bs` support

* LAYOUT_alice_split_bs support: ergosaurus

* LAYOUT_alice_split_bs support: handwired/colorlice

* LAYOUT_alice(_split_bs) support: handwired/owlet60

* LAYOUT_alice_split_bs support: nightly_boards/alter/rev1

* LAYOUT_alice(_split_bs) support: sck/osa

* LAYOUT_alice_split_bs support: tgr/alice

* LAYOUT_alice(_split_bs) support: tkc/osav2

* LAYOUT_alice_split_bs support: xelus/valor/rev1
* add new keyboard scatter42 by bbrfkr

* mod info.json to work

* mod info.json

* mod readme

* Update keyboards/scatter42/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/scatter42/keymaps/default/keymap.c

Co-authored-by: Ryan <[email protected]>

* Update keyboards/scatter42/scatter42.h

Co-authored-by: Ryan <[email protected]>

* Update keyboards/scatter42/config.h

Co-authored-by: Ryan <[email protected]>

Co-authored-by: Ryan <[email protected]>
* Hotfix for qmk#11106: Rework LAYOUT_alice support; add LAYOUT_alice_split_bs

Accidentally missed backwards compatibility on the sneakbox/aliceclone in qmk#11106, which broke stanrc85's Community Layout keymap.

* sneakbox/aliceclone: move 2u Backspace to column 6
* Allow APM32 MCUs on certain CannonKeys PCBs

* another one

* Update DFU suffix args

* missed one

* Apply suggestions from code review

Co-authored-by: Joel Challis <[email protected]>

Co-authored-by: Joel Challis <[email protected]>
* Added taleguers75 rev1 keyboard

* Apply suggestions from code review

Co-authored-by: Joel Challis <[email protected]>

* Fixed VIA keymap

Co-authored-by: Joel Challis <[email protected]>
* Initial Nightingale Studios Hailey support

* Add info.json

* Fix bootmagic jump

* Add missing header

* Update default keymap
* add define for WS2812B-2020 to fix RGB issues

* update driver doc

* add WS2812_BYTE_ORDER definition to correct RGB byte issues

* add definition variable thing

* update per PR request

* update per PR reqs

* update per PR request

* inital changes

* move defines to color.h and add rgbw incase

* Update docs/ws2812_driver.md

Co-authored-by: Ryan <[email protected]>

Co-authored-by: hineybush <[email protected]>
Co-authored-by: Xelus22 <[email protected]>
Co-authored-by: Ryan <[email protected]>
* update simple

* Update is31fl3731-simple.c
* Reset everything to upstream, reapply Bocaj changes

* Bocaj - address PR comments

* Just in time changes

* Bocaj - Several adjustments after using the layout for a while
* revert back to the old matrix.

* apparently I can't count, J is the 19th not the 20th column
* Add workflow for tagging essential modified files

* Update inline with recent actions

* align rules to labeler

* Update .github/workflows/auto_tag.yaml
* Create rules.mk

* Create glcdfonr.c

* Create keymap.c

* Create keymap.c

* Create rules.mk

* Add files via upload

* Update readme.md

* Update readme.md

* Update readme.md

* Update config.h

* Update 10bleoledhub.h

* Update 10bleoledhub.c

* Update info.json

* Update keymap.c

* Update keymap.c

* Rename glcdfonr.c to glcdfont.c

* Update config.h

* Update config.h

* Update config.h

* Update rules.mk

* Update 10bleoledhub.c

* Update 10bleoledhub.h

* Update info.json

* Update config.h

* Update rules.mk

* Update keymap.c

* Update keymap.c

* Update glcdfont.c

* Update keyboards/10bleoledhub/rules.mk

* Update keyboards/10bleoledhub/keymaps/via/keymap.c

* Update keyboards/10bleoledhub/keymaps/default/keymap.c

* Update keyboards/10bleoledhub/config.h

* Update keyboards/10bleoledhub/config.h

* Update keyboards/10bleoledhub/10bleoledhub.h

* Create readme.md

* Create rules.mk

* Create latin47ble.h

* Create latin47ble.c

* Create info.json

* Create config.h

* Create keymap.c

* Create rules.mk

* Create keymap.c

* Update keymap.c

* Update keyboards/latin47ble/keymaps/default/keymap.c

* Update keymap.c

* Update keyboards/latin47ble/keymaps/via/keymap.c

* Update keyboards/latin47ble/rules.mk

* Update keyboards/latin47ble/rules.mk

* Update keyboards/latin47ble/rules.mk

* Update latin47ble.h

* Update latin47ble.c

* Update latin47ble.h

* Update latin47ble.c

* Update keymap.c

* Update keymap.c

* Update config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/keymaps/via/keymap.c

* Update keyboards/latin47ble/rules.mk

* Delete info.json

* Update readme.md

* Update keymap.c

* Update keymap.c

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/config.h

* Update keyboards/latin47ble/keymaps/default/keymap.c

* Update keyboards/latin47ble/latin47ble.c

* Update keyboards/latin47ble/latin47ble.h

* Update keyboards/latin47ble/keymaps/via/keymap.c

* Update keymap.c

* Update keymap.c

* Update latin47ble.h

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keymap.c

* Update keyboards/latin47ble/keymaps/default/keymap.c

* Update keyboards/latin47ble/keymaps/default/keymap.c

* Update keyboards/latin47ble/latin47ble.h

* Update keyboards/latin47ble/keymaps/default/keymap.c

* Update keyboards/latin47ble/keymaps/via/keymap.c

* Update keyboards/latin47ble/rules.mk
* Added a dactyl promicro with a slightly different 6x6 layout

* updated keyboard layout

* Removed description as per code review

* refactored as per code review

* removed redundant config.h file

* removed and updated a couple of lines in rules.mk

* replaced symlink with copy of file

* removed lines in readme

* Update readme.md

Co-authored-by: ralphie02 <[email protected]>
* Initial Lasgweloth PCB support

* Fix column attribution

* Fix Col1 pin assignment

* New xoxotus layout and revised README

* Removed KC_NO definition

* Update keyboards/acheron/lasgweloth/config.h

Remove USB DESCRIPTION filed from config.h

Co-authored-by: Drashna Jaelre <[email protected]>

* Update keyboards/acheron/lasgweloth/rules.mk

Remove unnecessary comment lines on rules.mk

Co-authored-by: Ryan <[email protected]>

* Update readme.md

Update readme.md

Co-authored-by: Gondolindrim <[email protected]>
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
* oleg keymap update, via keymap

* Apply suggestions from code review

Co-authored-by: Drashna Jaelre <[email protected]>

* via keymap use default bootloader

Co-authored-by: Drashna Jaelre <[email protected]>
* adding my keymap

* Updating coding convention and style for new keymap PR

* Added GPL license header and to-do list to readme
* Add VIA support for E88

* Update keyboards/e88/keymaps/via/keymap.c
Co-authored-by: Drashna Jaelre <[email protected]>
Co-authored-by: Ryan <[email protected]>
Co-authored-by: Erovia <[email protected]>
@github-actions github-actions bot added the core label Jan 2, 2021
@tzarc
Copy link
Owner

tzarc commented Jan 2, 2021

Thanks for trying -- if you want I can review the commits and merge into my branch on my side? Rebasing onto upstream develop causes these issues.

@Gr1mR3aver
Copy link
Author

Gr1mR3aver commented Jan 2, 2021 via email

@tzarc
Copy link
Owner

tzarc commented Jan 2, 2021

Yep, rebasing unfortunately. QMK has changed its policy on how we handle the develop branch, so theoretically this shouldn't be an issue going forward. Hopefully!

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 (qmk#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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* annepro2: more fixes

* annepro2: apply suggestions from code review

Co-authored-by: Joel Challis <[email protected]>

* annepro2: rename file

* more fixes

* Apply suggestions from @tzarc code review

Co-authored-by: Nick Brassel <[email protected]>

* Update keyboards/annepro2/protocol.h

Co-authored-by: Nick Brassel <[email protected]>

* Update keyboards/annepro2/chconf.h

Co-authored-by: Nick Brassel <[email protected]>

* 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 <[email protected]>
Co-authored-by: Fagl4 <[email protected]>
Co-authored-by: Jakob Gillich <[email protected]>
Co-authored-by: tech2077 <[email protected]>
Co-authored-by: jcdeA <[email protected]>
Co-authored-by: Thomaz Moura <[email protected]>
Co-authored-by: Darkhan <[email protected]>
Co-authored-by: Paco <[email protected]>
Co-authored-by: jmarmstrong1207 <[email protected]>
Co-authored-by: 1Conan <[email protected]>
Co-authored-by: Tomasz bla Fortuna <[email protected]>
Co-authored-by: Tomasz bla Fortuna <[email protected]>
Co-authored-by: Nick Brassel <[email protected]>
Co-authored-by: Joel Challis <[email protected]>
Co-authored-by: QMK Bot <[email protected]>
Co-authored-by: Stefan Kerkmann <[email protected]>
Co-authored-by: Ryan <[email protected]>
tzarc pushed a commit that referenced this pull request Oct 5, 2022
Enable support for edit RGB lighting in VIA.
tzarc pushed a commit that referenced this pull request Dec 14, 2022
)

* Replace Tapping Force Hold feature with Quick Tap Term

* Replace keyboard level TAPPING_FORCE_HOLD with QUICK_TAP_TERM 0

* Deprecate force hold in info_config.json

* Before and after quick tap term unit tests

* Quick tap unit tests iteration

* Keymap config.h correction

* Remove TAPPING_FORCE_HOLD_PER_KEY macros that were missed

* Add two more test cases for quick tap

* Replace TAPPING_FORCE_HOLD with QUICK_TAP_TERM in configs #2

* Replace TAPPING_FORCE_HOLD_PER_KEY with QUICK_TAP_TERM_PER_KEY in configs #2

* Add function declaration for get_quick_tap_term

Co-authored-by: Stefan Kerkmann <[email protected]>
tzarc added a commit that referenced this pull request Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment