* [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 9c76065188, reversing
changes made to 240745dc05.
* Revert "update bootloader"
This reverts commit 240745dc05.
* 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>
* add initial support for hadron ver3
* add initial support for hadron ver3
* pull qwiic support for micro_led to be modified for use in hadron's 64x24 ssd1306 oled display
* initial work on OLED using qwiic driver
* early work to get 128x32 oled working by redefining qwiic micro oled parameters. Currently working, but would affect qwiic's micro oled functionality
* moved oled defines to config.h and added ifndef to micro_oled driver
* WORKING :D - note, still work in progress to get the start location correct on the 128x32 display.
* added equation to automatically calculate display offset based on screen width
* adding time-out timer to oled display
* changed read lock staus via read_led_state
* lock indications fixes
* Added scroll lock indication to oled
* add support for DRV2605 haptic driver
* Improve readabiity of DRV2605 driver.
-added typedef for waveform library
-added unions for registers
* Update keyboards/hadron/ver2/keymaps/default/config.h
Co-Authored-By: ishtob <ishtob@gmail.com>
* Update keyboards/hadron/ver2/keymaps/default/config.h
Co-Authored-By: ishtob <ishtob@gmail.com>
* Update keyboards/hadron/ver2/keymaps/default/config.h
Co-Authored-By: ishtob <ishtob@gmail.com>
* Update keyboards/hadron/ver2/keymaps/default/config.h
Co-Authored-By: ishtob <ishtob@gmail.com>
* Fixes for PR
* PR fixes
* fix old persistent layer function to use new set_single_persistent_default_layer
* fix issues with changing makefile defines that broken per-key haptic pulse
* Comment fixes
* Add definable parameter and auto-calibration based on motor choice
* Temporary work around for CB60 sound issues
Discussed this with @fredizzimo, upping the system ticks to 100K fixes
the sound issues I was having with the CB60; speaker would fail to shut
off after playing music, sometimes at startup. This changes the matrix
scan time from it's default of every 2ms to once ever 200us.
Fred has a more extensive change to the way matrices are scanned which
will require less clock cycles and we can then revert this change at
that time.
* Remove keymap dir from clueboard root
* initial clueboard_60 support
* LED lighting support
* fix the clueboard->clueboard_66 rename
* Add layout support to clueboard_60
* Fix the 60_iso layout so it's actually iso
* add a default keymap for AEK layout
* fix clueboard_17
* Fixup the ISO layouts
* Fix the `wait_ms()/wait_us()` definitions for chibios
* Fix up the wait_ms/wait_us hack. Reduce stack size.
* Add a missing #include "wait.h"
* commit files that should have already been comitted
* Modularity and gcc warnings fixes.
* Add ChibiOS support (USB stack + support files).
* Make usb_main more USB_DRIVER #define independent.
* Move chibios to tool.
* Implement jump-to-bootloader.
* Small updates.
* Fix bootloader-jump compiling.
* Move AVR specific sleep_led.c into avr.
* Add basic sleep_led for chibios.
* Update chibios README.
* NKRO fixes.
* Rename some Makefile defines.
* Move STM32 bootloader address config to separate .h file.
* Add ARM Teensies bootloader code.
* Fix chibios/usb_main GET_REPORT handing.
* Add missing #include to keymap.c.
* Make bootmagic.c code portable (_delay_ms -> wait_ms).
* Move declaration of keymap_config.
Should really not declare variables in .h files - since it's included
in different .c files, a proper linker then complains that the same
variable is declared more than once (once for each .c file that the
offending .h is included in).
* Add eeprom support for chibios/kinetis.
* Rename chibios example keyboard.
* Move chibios/cortex selection to local Makefiles.
* Chibios: use WFI in idle. WIP suspend stuff.
* ChibiOS/kinetis: sending remote wakeup.
* ChibiOS/STM32: send remote wakeup.
* Fix report size of boot protocol.
* Fix drop key stroke
Keyboard report should be checked if its transfer finishs successfully.
Otherwise key stroke can be missing when other key event occurs
before the last report transfer is done.
Boot protocol 10ms interval probably causes this problem in case
it receives key events in a row within the period. NKRO protocol
suffers less or nothing due to its interval 1ms.
* Chibios/usb_main: rename a variable for clarity.
* Add correct chibios/bootloader_jump for infinity KB.
* ChibiOS: make reset request more CMSISy.
* Chibios: Add breathing sleep LED on Kinetis MCUs.
* ChibiOS: Update infinity bootloader code to match updated ChibiOS.
* ChibiOS: prettify/document sleep_led code.
* Chibios: Remove the wait in the main loop.
* Add maple mini code.
* Do timeout when writing to CONSOLE EP queue.
Fixes TMK bug #266.
* Chibios: add 'core/protocol' to the makefiles' search path.
* Chibios: Update to new USB API.
* Chibios: add more guards for transmitting (fix a deadlock bug).
* Add update for chibios in README
* Chibios: Fix a HardFault bug (wait after start).
* Chibios: cleanup usb_main code.
* Chibios: Revert common.mk change (fix AVR linking problem).
* core: Fix chibios user compile options
Compile options can be defined in project Makefile such as UDEFS, UADEFS, UINCDIR, ULIBDIR and ULIBS.
* Sysv format for ChibiOS arm-none-eabi-size
Some new patches to ChibiOS puts heap as it's own section. So the
berkeley format is now useless, as the heap will be included in the
BSS report. The sysv format displays the bss size correctly.
* Fix hard-coded path of CHIBIOS
* Add support for new version of ChibiOS and Contrib
The Kinetis support has moved to a separate Contrib repository in
the newest version of Chibios. There has also been some structure
changes. So this adds support for those, while maintaining back-
wards compability.
* Update ChibiOS instructions
* Chibios: implement sleep LED for STM32.
* Chibios: Update the main chibios README.
* Chibios: fix STM32_BOOTLOADER_ADDRESS name.
* Chibios: make the default bootloader_jump redefinable (weak).
* Chibios: disable LTO (link-time optimisation).
With LTO enabled, sometimes things fail for mysterious reasons
(e.g. bootloader jump on WF with LEDs enabled), just because the
linker optimisation is too aggressive.
* Chibios: add default location for chibios-contrib.
* ChibiOS: update mk to match chibios/master.
* ChibiOS: update instructions.md.
* Add chibi_onekey example.
* Add comments to chibi_onekey Makefile.
* Rename some Makefile defines.
* Move STM32 bootloader address config to separate .h file.
* Rename chibios example keyboard.
* Move chibios/cortex selection to local Makefiles.
* Add Teensy LC onekey example.
* Chibios: use WFI in idle. WIP suspend stuff.
* Update chibi/teensy instructions.
* Update chibios/Teensy instructions.
* Add infinity_chibios
* Add keymap_hasu.c
* Infinity_chibios: select correct bootloader_jump.
* Infinity_chibios: improve comments.
* Add generic STM32F103C8T6 example.
* Add maple mini code.
* STM32F103x fixes.
* Add maple mini pinout pic.
* Chibios: updates for 3.0.4 git.
* Chibios: rename example stm32_onekey -> stm32_f072_onekey.
* Chibios: add makefiles for Teensy 3.x examples.
* Chibios: update Teensy 3.x instructions.
* Chibios: Tsy LC is cortex-m0plus.
* Chibios: add more guards for transmitting (fix a deadlock bug).
* Change README for chibios
* Chibios: update examples to current chibios git.
Match the changes in mainline chibios:
- update chconf.h
- update supplied ld scripts structure
- update Teensy instructions (switch to official
chibios and introduce contrib)
* Add ChibiOS and ChibiOS-Contrib submodules
Also fix the makefile path for them.
* Moves chibios keyboards to keyboards folder
* First version of ChibiOS compilation
Only the stm32_f072_onkey keyboard is ported at the moment. It
compiles, but still doesn't link.
* More chibios fixes
It now compiles without warnings and links
* Move the teensy_lc_onekey to the keyboards folder
* Clean up the make file rule structure
* Remove keymap_fn_to_action
* Update more ChibiOS keyboards to QMK
Most of them does not compile at the moment though.
* Use older version of Chibios libraries
The newest ones have problems with compilation
* Remove USB_UNCONFIGURED event
It isn't present in the older version of ChibiOS
* Fix the infinity_chibios compilation
* Fix potentially uninitialized variable
* Add missing include
* Fix the ChibiOS makefile
* Fix some Chibios keyboard compilation
* Revert the rules.mk file back to master version
* Combine the chibios and AVR makefiles
With just the required overrides in the respective platform
specific one.
* Slight makefile restrucuring
Platform specific compiler options
* Move avr specific targets out of the main rules
* Fix ChibiOS objcopy
The ChibiOS objcopy needs different parameters, so the parameters
are moved to the corresponding platform rule file
* Fix the objcopy for real this time
The comands were moved around, so chibios used avr and the ohter
way around.
Also change the objsize output format
* Fix the thumb flags
* Fix the infinity hasu keymap
* Per platform cpp flags
* Add gcc-arm-none-eabi package to travis
* Add arm-none-eabi-newlib to travis
* Fix the name of the libnewlib-arm-none-eabi lib
* Fix the ChibiOS paths
So that they are properly relative, and builds don't generate
extra folders
* Fix the board path of stm32_f103_onekey
* Only consider folders with Makefiles as subproject