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

Rebase choc2 branch onto restructured sofle folders #2

Closed
wants to merge 2,077 commits into from

Conversation

duese
Copy link
Collaborator

@duese duese commented Aug 30, 2022

This PR rebases the choc2 branch from @brianlow's fork of the QMK firmware repo onto the pull request (qmk#17979) that restructures the sofle family folders as proposed in the feature request (qmk#16829).

sigprof and others added 30 commits August 11, 2022 22:37
Unfortunately, the crippled versions of “Bluepill” boards with
STM32F103C6xx chips instead of STM32F103C8xx are now sold all over the
place, sometimes advertised in a confusing way to make the difference
not noticeable until too late.  Add minimal support for these MCUs in
the common “Bluepill with stm32duino” configuration, so that it could be
possible to make something useful from those boards (although fitting
QMK into the available 24 KiB of flash may be rather hard).

(In fact, I'm not sure whether the “STM32” part of the chip name is
actually correct for those boards of uncertain origin, so the onekey
board name is `bluepill_f103c6`; another reason for that name is to
match the existing `blackpill_f401` and `blackpill_f411`.)

The EEPROM emulation support is not included on purpose, because
enabling it without having a working firmware size check would be
irresponsible with such flash size (the chance that someone would build
a firmware where the EEPROM backing store ends up overlapping some
firmware code is really high).  Other than that, enabling the EEPROM
emulation code is mostly trivial (the `wear_leveling` driver with the
`embedded_flash` backing store even works without any custom
configuration, although its code is significantly larger than the
`vendor` driver, which may also be important for such flash size).
* Refactor effect with smaller array

* Add RGB_MATRIX_USE_LIMITS call

* Remove spaces

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

Co-authored-by: Drashna Jaelre <[email protected]>
* [Keyboard] Increase kinesis/kint41 unselect delay

Fixes qmk#18014

* Update kint41.c

Use correct si-abbreviation for micro in comment.
@duese
Copy link
Collaborator Author

duese commented Aug 30, 2022

I hope I did this the right way. The list of commits looks weird...

@brianlow
Copy link
Owner

brianlow commented Nov 8, 2022

Thanks @duese! I agree the commits look strange. Lets see if we can get qmk#17979 merged and then can tackle this

@duese
Copy link
Collaborator Author

duese commented Nov 8, 2022

Perhaps a simple rebase will do the trick. I can make a proposal or a new PR so you just would have to do the review.

@brianlow
Copy link
Owner

brianlow commented Nov 9, 2022

Commit fac6ab4 looks good

Feel free to experiment with rebasing / opening closing PRs here.

I think you'd need to stack this on qmk#17979 to get a clean diff (by changing the base branch). Even so, it wouldn't be mergeable until the base branch was merged.

@duese
Copy link
Collaborator Author

duese commented Nov 9, 2022

Will do. But I wait until qmk#17979 has been merged.

sbhal pushed a commit to sbhal/qmk_firmware that referenced this pull request Feb 1, 2023
* [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 (brianlow#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 (qmk#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 (qmk#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 (qmk#13)

* Keyboard annepro2 ble caps lock (qmk#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 (qmk#15)

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

* Implement animation speed (qmk#17)

* Include logic to send solid colors as foreground to shine and add sample profiles (qmk#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 (qmk#18)

* Added multiarrow keymap (qmk#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 brianlow#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]>
@duese
Copy link
Collaborator Author

duese commented Apr 10, 2023

Outdated PR.

@duese duese closed this Apr 10, 2023
brianlow pushed a commit that referenced this pull request Apr 13, 2023
)

* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.