Commit Graph

686 Commits

Author SHA1 Message Date
Joel Challis
4885430361 Run clang-format manually to fix recently changed files (#7934)
* Run clang-format manually to fix recently changed files

* Run clang-format manually to fix recently changed files - revert template files

* Run clang-format manually to fix recently changed files - format off for ascii_to_keycode_lut
2020-02-26 10:15:12 +09:00
Ted Lin
f3154a54fa Compile error if ONESHOT_TIMEOUT defined but oneshot disabled (#8100)
* Compile error if ONESHOT_TIMEOUT defined but oneshot disabled

When ONESHOT_TIMEOUT and NO_ACTION_ONESHOT are both defined, this code
fails to compile.

Wrap the one usage of ONESHOT_TIMEOUT that is inconsistent with the
rest so all usages are properly wrapped by a check of NO_ACTION_ONESHOT.

* Run file through clang-format

Co-authored-by: Ted M Lin <tedmlin@gmail.com>
2020-02-26 10:15:12 +09:00
fauxpark
2d17177c3c Remove PJRC USB stack 2020-02-26 10:15:12 +09:00
Ted M Lin
0631d66680 Use function for KEYCODE2 routines instead of macro. (#8101)
* Option to use function for KEYCODE2 routines.

Convert the KEYCODE2SYSTEM and KEYCODE2CONSUMER macros to functions,
defaulting to using the macros.  The function form allows the compiler
to optimize the switch statement itself, over the macro nested
ternaries.

To enable this feature, #define USE_KEYCODE2_FUNCTION.

Testing against a random selection of avr-based keyboards, this
increased available flash by ~500 bytes. For arm-based keyboards,
the available flash increased by ~400 bytes.

* Replace macro with function entirely.

As zvecr states, go bold and just commit to using the function instead
of the macro.

* Reformat whitespace now that functional review is done

Verified against clang-format output.
2020-02-26 10:15:12 +09:00
QMK Bot
b0896a3b35 format code according to conventions [skip ci] 2020-02-26 10:15:12 +09:00
fauxpark
df6e5f16b6 Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)
* Dedupe extrakey report struct, and send functions in V-USB & LUFA

* Doc comment for consistency

* Wrap it in ifdef to prevent unused function error

* Do the same for ATSAM
2020-02-26 10:15:12 +09:00
QMK Bot
12806f1216 format code according to conventions [skip ci] 2020-02-26 10:15:12 +09:00
Pavel Župa
7ed8cd4f17 Fix timer_elapsed() overflow issue for STM32F103 and other ChibiOS boards (#7595)
* fixed strange space cadet timer owerflow on STM32F103

* Moved elapsed time fix to timer.c
2020-02-26 10:15:12 +09:00
Nick Brassel
02f0f0811d Fix misunderstanding of CPPFLAGS and CXXFLAGS. 2020-02-26 10:15:12 +09:00
xyzz
67d285a1a1 Improve VIRTSER performance (#7528) 2020-02-26 10:15:12 +09:00
Joel Challis
93bd061c0e Migrate common ld scripts to common location (#7887)
* Migrate common ld scripts to common location

* Remove duplicate ld scripts

* Update build to look at common ld location
2020-02-26 10:15:12 +09:00
Drashna Jaelre
ebd4b1dc1e Add additional fixes to EEPROM driver selection (#7274) (#266)
* Add additional fixes to EEPROM driver selection (#7274)

- uprintf -> dprintf
- Fix atsam "vendor" eeprom.
- Bump Kinetis K20x to 64 bytes, too.
- Rollback Kinetis to 32 bytes as partitioning can only be done once. Add warning about changing the value.
- Change RAM-backed "fake" EEPROM implementations to match eeconfig's current usage.
- Add 24LC128 by request.

* format code according to conventions [skip ci]

Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: QMK Bot <hello@qmk.fm>
Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-02-26 10:15:12 +09:00
fauxpark
93557cca47 Remove tmk_core gitignore and gitmodules 2020-02-26 10:15:12 +09:00
Joel Challis
0a1b1e3235 Add central location for ChibiOS defines (#7542)
* Add central location for chibios defines

* Add central location for chibios defines - actually add files this time....

* Add Copyright header

* Update include order to resolve i2cv1 build errors
2020-02-26 10:15:12 +09:00
fauxpark
5e3bd392cb Un-clang-format usb_descriptor.h (#7216)
Preserves readability of the file, making it easier to understand and modify.
2020-02-26 10:15:12 +09:00
Joel Challis
5b6592f616 Move rgblight and backlight task to common location (#7733) 2020-02-26 10:15:12 +09:00
fauxpark
5ad2d4f57d Remove KEYMAP_SECTION_ENABLE (#7882) 2020-02-26 10:15:12 +09:00
xyzz
14ff12f1ab chibios/usb_main: re-check USB status in send_keyboard after sleeping the thread (#7784)
* chibios/usb_main: re-check USB status in send_keyboard after sleeping the thread

* change send_keyboard to only have 1 exit point
2020-02-26 10:15:12 +09:00
Drashna Jaelre
f67c942c49 Add Midi Endpoint task to ChibiOS main (#8071) 2020-02-26 10:15:12 +09:00
QMK Bot
0c4d319e8d format code according to conventions [skip ci] 2020-02-26 10:15:12 +09:00
George Harris
b1e8a80477 Fix unaligned access with LTO (#7801)
Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
2020-02-26 10:15:12 +09:00
Joel Challis
7645e9795b Fix printf buffer overflow when cols>16 (#7998) 2020-02-26 10:15:12 +09:00
QMK Bot
9ca1b1b60b format code according to conventions [skip ci] 2020-02-26 10:15:12 +09:00
fauxpark
c71d01f254 Fix lock LEDs for ChibiOS when using shared endpoints (#7877)
* Fix lock LEDs for ChibiOS when using shared endpoints

* Tweak comments

* Doesn't need to be uint16 anymore
2020-02-26 10:15:12 +09:00
Joel Challis
532cf8509e Fix KEYBOARD_SHARED_EP on ChibiOS (#7860) 2020-02-26 10:15:12 +09:00
ridingqwerty
9986ef7635 Implement and document TAPPING_FORCE_HOLD_PER_KEY (#7859)
* Implement and document TAPPING_FORCE_HOLD_PER_KEY

* Added "record" parameter to "get_tapping_force_hold"

* Correct typo -- remove 'IGNORE_' from 'IGNORE_TAPPING_FORCE_HOLD_PER_KEY'

Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com>
2020-02-26 10:15:12 +09:00
Drashna Jaelre
e5890845a7 Cleanup check for PERMISSIVE_HOLD (#7861)
* Fix bug in PERMISSIVE_HOLD check

caused by #5009 (aka, me)

* Remove check for per key
2020-02-26 10:15:12 +09:00
zk-phi
fcfe182836 Add per-key IGNORE_MOD_TAP_INTERRUPT feature (#7838)
* Implement IGNORE_MOD_TAP_INTERRUPT_PER_KEY

- Add configurable option IGNORE_MOD_TAP_INTERRUPT_PER_KEY
- Add function get_ignore_mod_tap_interrupt iff the option is enabled

Unless IGNORE_MOD_TAP_INTERRUPT_PER_KEY is defined, this patch does not affect the resulting binary.

* Add documentation for IGNORE_MOD_TAP_INTERRUPT_PER_KEY
2020-02-26 10:15:12 +09:00
Joel Challis
977fd47df5 Move some common matrix code to a common location (#7699)
* Move some common matrix code to a common location

* Refactor some 'custom_matrix_helper' logic to use custom matrix lite

* Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled

* Add validation for CUSTOM_MATRIX
2020-02-26 10:15:12 +09:00
Florian
65edbc6261 feat: disable webusb popup by default 2020-02-26 10:15:12 +09:00
Drashna Jael're
678f1a9595 Fix typedef in eeconfig.c 2020-02-26 10:15:12 +09:00
Drashna Jael're
a8e4c490bf Add EEPROM reset functionality 2020-02-26 10:15:12 +09:00
Drashna Jael're
3b71e1e819 Implement core communication 2020-02-26 10:15:12 +09:00
Drashna Jael're
5ed3ecdd73 Add toggle for live training 2020-02-26 10:15:12 +09:00
Drashna Jael're
1bd151eee3 fix type in usb_main for chibiOS 2020-02-26 10:15:12 +09:00
Wilba
9b9e5e1d47 VIA configurator refactor 2020-02-26 10:15:12 +09:00
Drashna Jael're
e41ab50016 Start moving code out of webusb and to Oryx feature 2020-02-26 10:15:12 +09:00
Florian Didron
d3f23ecfbc Apollo (#246)
* Add External EEPROM driver

* Add keyboard

* Fix i2c address

* Revert i2c address for eeprom

* Reduce page size for 24LC128

* Disable External EEPROM for now

* Fix up RGB Matrix and layout

* Cleanup moonlander.c file

* Fix led array center

* Disable External EEPROM for now

* Cleanup and optimization of files

* Add and clean up mappings

* Enable "ZSA" defaults for Moonlander

* Update matrix to use i2c_readReg

* Disable render limit for rgb matrix

* Update pin controls to GPIO Commands

* Add proper changed mechanism

* Additional cleanup

* Run clang-format on moonlander files

* Align keymap

* Limit brightness for rgb matrix to 200

To prevent power draw issues

* Add USB-IF VID/PID

* Add RGB Matrix Sleep code

* Enable External EEPROM on Moonlander

* Port over Ergodox Expander error handling and retry code

* Re-init RGB Matrix drivers when half is reconnected

* Add threaded LED display

* Correct layer state settings after moonlander_led_task

* Update Moonlander to include Oryx configuration

* Add webUSB Stuff

* Update default keymap

* fix: merge conflict

Co-authored-by: Drashna Jaelre <drashna@live.com>
2020-02-26 10:15:12 +09:00
Drashna Jaelre
455f9e9d1f [Core] Optimize matrix processing (#7621)
Backport of tmk/tmk_keyboard@ad6059adc7
2020-01-09 08:57:11 +09:00
Drashna Jaelre
d0e06f0385 remove SERIAL_SOFT_DEBUG macro (#7625)
SERIAL_SOFT_DEBUG can be defined in the `config.h`

Backported from tmk/tmk_keyboard@c74eee6327
x
2020-01-09 08:57:11 +09:00
Joel Challis
9c06f5a2e6 Fix ChibiOS USB config for chips which support OTGv1 (#7564)
* Align endpoint config as per rest of file (fixes #4783)

* Add comments about explicit order use

* Update tmk_core/protocol/chibios/usb_main.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2020-01-09 08:57:11 +09:00
Drashna Jaelre
052e4ee4d2 core: Fix build config in protocol.mk (#7620)
Backports commits from tmk_keyboard
2020-01-09 08:57:11 +09:00
Joel Challis
20f465bfb6 Remove mbed files (#7605)
* Remove mbed files

* Remove mbed files - fix comment

* Remove mbed logic blocks
2020-01-09 08:57:11 +09:00
fauxpark
1378e0de96 Use clock_prescale_set() from avr-libc (#7540)
* Use `clock_prescale_set()` from avr-libc

* Remove outdated FAQ info
2020-01-09 08:57:11 +09:00
Drashna Jaelre
493c675778 Big keycode cleanup (#230)
* clean up quantum.c (#7485)

* idea

* progress

* more stuff

* wip

* wip

* last couple of keycodes you can move safely

* Update quantum/quantum.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Put back RGB_MODE_BREATHE

* Compile out some keycode processing when features are disabled (#7506)

* Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484)

* Add shift-to-invert to remaining directional RGB_* keycode pairs

RGB_MODE_FORWARD / RGB_MODE_REVERSE invert their functions when shift is held.
This change adds the same capabilities to the remaining directional RGB_*
keycode pairs.  This improves consistency and provides full RGB control in a
keymap containing only one keycode from each pair.

* remove redundant variable

* fix typo

* Fix more typos

Flyspell is on now I swear!

* Relocate magic keycode processing (#7512)

* Move magic keycode processing to own file

* Save some bytes

* Update comments

* Update define to one thats not already used...

* Fix audio

* Fix breathing toggle when rgb is disabled (#7550)

* Ifdef MAGIC_EE_HANDS until #178 drops

revert this commit once it does

* Add short aliases for Magic keycodes (#7541)

* Add short alias for `MAGIC_TOGGLE_NKRO`

* Add aliases for the other Bootmagic keycodes

* Replace long form in default keymaps

* Fix FORCE_NKRO handling (#7601)

* Add until #173 drops

* Relocate RGB keycode processing (#7508)

* Move rgb keycode logic to process_keycode

* Fixes for rgb matrix

* Fixes for mxss

* Fix inc/dec logic, add comments

* Fix return RAINBOW_SWIRL logic

* stop external use of rgb helper functions

* merge fix

* Fix 'defined but not used' when all animations are disabled

Co-authored-by: Yan-Fa Li <yanfali@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Manna Harbour <51143715+manna-harbour@users.noreply.github.com>
Co-authored-by: fauxpark <fauxpark@gmail.com>
Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09 08:57:11 +09:00
fauxpark
4586615534 Add 4-character aliases for sendstring keycodes (#7409)
* Add 4-character aliases for sendstring keycodes

* Remove pointless mail keycode redefinition

* Forgot brightness keycodes
2020-01-09 08:57:11 +09:00
fauxpark
c17675f50a Add support for configurable polling interval and power usage o… (#7336)
* Add support for custom polling interval and power usage on V-USB boards

* Use 1ms as default for now
2020-01-09 08:57:11 +09:00
Joel Challis
ab609a07a6 Fix chibios when mouse and nkro disabled (#7312) 2020-01-09 08:57:11 +09:00
Joel Challis
5aa1d81b15 Fix LAYER_STATE_8BIT compile issues (#7304) 2020-01-09 08:57:11 +09:00
Drashna Jaelre
df91396be9 WS2812 Overhaul (#210)
* ARM - ws2812 bitbang (#7173)

* Initial ARM bitbang ws2812 driver

* Unify chibios platform to run rgblight_task

* Remove 'avr only' comments from ws2812 docs

* Remove 'avr only' comments from ws2812 docs

* Unify chibios platform to run rgblight_task - review comments

* Remove debug flags from keymap

* Add comments from review

* Add defines for STM32L0XX

* Attempt to get arm ws2812 working on multiple gcc versions

* Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280)

Copypasta from the AVR suspend implementation with a Teensy-specific
hack removed

* Unify RGB and RGBW commands (#7297)

* Fix unicode in comments

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Remove separate RGBW implementation for a unified function

* Set White to 0 in RGBW LEDs

This is just to get this working, later, proper brightness can be handled elsewhere.

* Use us instead of nanoseconds(?) since it renders correctly on web

* Remove RGBW function from arm/ws2812.h

* Remove RGBW function from arm/ws2812.c

* Formatting changes

* Add doc info

* Remove force of debug on within rgblight - causes lockups waiting for hid_listen (#7330)

* Move Ergodox EZ RGB Light code to custom driver  (#7309)

* Move Ergodox EZ RGB code to custom driver

Also implements full addressing of Ergodox EZ's LED Strip, as written by seebs
Co-authored-by: Seebs <seebs@seebs.net>

* Make Clipping range accessible for custom drivers

* Remove RGBW_BB_TWI from driver and docs

* Revert changes to clipping range support

* Use just rgblight_set instead of full custom driver

* Convert to i2c_master commands

* Rename rgblight driver and clean up includes

* Use White channel on RGBW LEDs

* SPI DMA based RGB Underglow for STM32 (#7674)

* Initial stash of ws2812 spi driver

* Update comment, add sync backup plan

* Add testing notes to spi ws2812 driver

* Align RGBW error messages

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Jonathan Rascher <jon@bcat.name>
Co-authored-by: Florian Didron <fdidron@users.noreply.github.com>
2020-01-09 08:57:11 +09:00