Commit Graph

736 Commits (99eacdc47acfb933d3ccf4a65cd3e2709102e0e3)

Author SHA1 Message Date
QMK Bot bad9468ce1 format code according to conventions [skip ci] 5 years ago
Ryan 9810756ee0
Fix typo in uart.c backport and add 32A "support" (#8219) 5 years ago
QMK Bot 95124bf933 format code according to conventions [skip ci] 5 years ago
Joel Challis e7fb873ee2
Short term fix for conflicting types for 'tfp_printf' (#8157) 5 years ago
Ryan c9e3fa6f70
Clean up includes for glcdfont headers (#7745)
* Clean up includes for glcdfont headers

* Remove pragma once, most of these are not headers

* Missed these
5 years ago
Nick Brassel d0c3acbe3e
Allow for ChibiOS 20.x (master), as well as enabling ChibiOS-Contrib HAL. (#8272) 5 years ago
Joel Challis c775104b9f
Use nano specs (#8270) 5 years ago
Joel Challis 8d9c800da0
Unconditionally enable ChibiOS syscalls (#8268)
* Enable syscalls all the time

* fix whitespace
5 years ago
James Young 26eef35f07
2020 February 29 Breaking Changes Update (#8064) 5 years ago
QMK Bot 61b71320f7 format code according to conventions [skip ci] 5 years ago
ridingqwerty b949343b78
New feature: PERMISSIVE_HOLD_PER_KEY (#7994)
* Implement 'PERMISSIVE_HOLD_PER_KEY'

* Document 'PERMISSIVE_HOLD_PER_KEY'

Co-authored-by: GeorgeKoenig <35542036+GeorgeKoenig@users.noreply.github.com>
5 years ago
Ryan 088b64ab3d
Improvements to extrakey HID descriptors (#8156) 5 years ago
yiancar eb9c2429c6
Update main.c (#8198) 5 years ago
QMK Bot a7d859dab8 format code according to conventions [skip ci] 5 years ago
Drashna Jaelre 1751c3cc25
uart.c fix from TMK (#7628)
* uart.c fix from TMK

Backport from tmk/tmk_keyboard@c41e48a0ab

* Avoid deadlock when uart.c is usind in ISR

Backport from tmk/tmk_keyboard@55443fabb7
5 years ago
Joel Challis 7707724dc4
Allow 30us matrix delay to be keyboard/user overridable (#8216)
* Allow 30us matrix delay to be configurable via define

* Move wait logic to matrix_common

* Move wait logic to matrix_common - fix wait includes
5 years ago
QMK Bot 7740470a94 format code according to conventions [skip ci] 5 years ago
fauxpark eaf32621aa
Align VUSB HID descriptors with LUFA/ChibiOS (#7675)
* Align VUSB HID descriptors with LUFA/ChibiOS

* Wrap send_system and send_consumer in ifdefs too

* Offset system usages to match LUFA/ChibiOS
5 years ago
Ted Lin c3200aa8fc 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>
5 years ago
fauxpark 174a15d07d Remove PJRC USB stack 5 years ago
Ted M Lin d84eb14b3a
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.
5 years ago
Drashna Jaelre 0010d0c45e
Add Midi Endpoint task to ChibiOS main (#8071) 5 years ago
QMK Bot fa9c74c6a2 format code according to conventions [skip ci] 5 years ago
fauxpark b2ce2f8a34
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
5 years ago
QMK Bot 4888a118c3 format code according to conventions [skip ci] 5 years ago
fauxpark e036b94a21
Align ATSAM HID descriptors with LUFA/ChibiOS (#7651)
* Align ATSAM HID descriptors with LUFA/ChibiOS

* Don't hardcode raw endpoint size
5 years ago
QMK Bot 1a79f14e43 format code according to conventions [skip ci] 5 years ago
Pavel Župa 4e6d1ae0ea
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
5 years ago
Nick Brassel b28ee6b039 Fix misunderstanding of CPPFLAGS and CXXFLAGS. 5 years ago
xyzz eb309be6f0
Improve VIRTSER performance (#7528) 5 years ago
Joel Challis 50855593ff
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
5 years ago
QMK Bot 09370a95db format code according to conventions [skip ci] 5 years ago
George Harris e9ffc53476 Fix unaligned access with LTO (#7801)
Forces 4 byte alignment for USB input & output buffers to prevent unaligned accesses by chibios with LTO enabled
5 years ago
Joel Challis d4ccb2e0e6 Fix printf buffer overflow when cols>16 (#7998) 5 years ago
QMK Bot fe50883c15 format code according to conventions [skip ci] 5 years ago
Nick Brassel d13ada1162 Add customisable 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.
5 years ago
QMK Bot dee1d68dde format code according to conventions [skip ci] 5 years ago
fauxpark 123ae73efc 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
5 years ago
fauxpark 2bddfb986d Remove tmk_core gitignore and gitmodules 6 years ago
Joel Challis 667045b492
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
6 years ago
Joel Challis ba628a28bc
Move rgblight and backlight task to common location (#7733) 6 years ago
ridingqwerty 95c24bbaf8
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>
6 years ago
Drashna Jaelre 1b0854fdca Cleanup check for PERMISSIVE_HOLD (#7861)
* Fix bug in PERMISSIVE_HOLD check

caused by #5009 (aka, me)

* Remove check for per key
6 years ago
fauxpark 1e670f5e67
Remove `KEYMAP_SECTION_ENABLE` (#7882) 6 years ago
xyzz 83be1aed76 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
6 years ago
Joel Challis ff5742da9f Fix KEYBOARD_SHARED_EP on ChibiOS (#7860) 6 years ago
zk-phi 7f388b6553 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
6 years ago
Joel Challis dcb7ca3f79
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
6 years ago
Wilba 320822d75b VIA Configurator Refactor (#7268)
* VIA Refactor

* Remove old code

* review changes

* review changes

* Fix cannonkeys/satisfaction75/prototype:via build

* Add via.h to quantum.h

* Move backlight init to after backlight config load

* Merge branch 'master' into via_refactor_pr

* Update user's rules.mk to new way of enabling VIA

* Added id_switch_matrix_state

* Review changes
6 years ago
xyzz 8ec0b378bc Fix typo in action.c (#7757) 6 years ago
Joel Challis 376419a4f7
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
6 years ago
Drashna Jaelre 85f4c3ebb4 [Core] Optimize matrix processing (#7621)
Backport of tmk/tmk_keyboard@ad6059adc7
6 years ago
Drashna Jaelre 1f26101f0e
remove SERIAL_SOFT_DEBUG macro (#7625)
SERIAL_SOFT_DEBUG can be defined in the `config.h`

Backported from tmk/tmk_keyboard@c74eee6327
x
6 years ago
Joel Challis 80c2e26741
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>
6 years ago
Drashna Jaelre 2d1c985ff4 core: Fix build config in protocol.mk (#7620)
Backports commits from tmk_keyboard
6 years ago
Joel Challis efb21c00ce Fix FORCE_NKRO handling (#7601) 6 years ago
Joel Challis 071eb2478f Remove mbed files (#7605)
* Remove mbed files

* Remove mbed files - fix comment

* Remove mbed logic blocks
6 years ago
fauxpark 698d0dbda8 Use `clock_prescale_set()` from avr-libc (#7540)
* Use `clock_prescale_set()` from avr-libc

* Remove outdated FAQ info
6 years ago
fauxpark c74295de88 Set proper AVR part for USBasp avrdude flashing (#7552)
* Set proper AVR part for USBasp avrdude flashing

* Remove `PROGRAM_CMD` stuff from rules.mk as they should not be needed anymore

* Missed the Plaid readme

* Remove PROGRAM_CMD from Mysterium
6 years ago
fauxpark 730a736ef0
Set proper ASCII character for KC_NUHS in iWRAP code (#7434) 6 years ago
Joel Challis f0f161e572
Remove vusb 'reset to bootloader' hid message due to security implications (#7456) 6 years ago
a_p_u_r_o 7874f297b3 Remove CR when computing BOOTLOADER_SIZE. (#7453) 6 years ago
fauxpark 02412156d5
Add 4-character aliases for sendstring keycodes (#7409)
* Add 4-character aliases for sendstring keycodes

* Remove pointless mail keycode redefinition

* Forgot brightness keycodes
6 years ago
zvecr a91c0c4765 Run clang-format manually to fix recently changed files 6 years ago
fauxpark 3047335729
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
6 years ago
Joel Challis 1d4287cb95 Fix chibios when mouse and nkro disabled (#7312) 6 years ago
Joel Challis c1970e284d Fix LAYER_STATE_8BIT compile issues (#7304) 6 years ago
Jonathan Rascher 680d401faf Support RGBLIGHT_SLEEP when ChibiOS boards suspend (#7280)
Copypasta from the AVR suspend implementation with a Teensy-specific
hack removed
6 years ago
Joel Challis 1ea0cac998
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
6 years ago
fauxpark dfb78d2a08 New and improved lock LED callbacks (#7215)
* New and improved lock LED callbacks

* Include stdbool

* Update documentation

* Use full function signatures and add keyboard-level example
6 years ago
fauxpark 1244d0e266 Un-clang-format usb_descriptor.h (#7216)
Preserves readability of the file, making it easier to understand and modify.
6 years ago
Christopher 0a9a69394e Fixes #7256: USB descriptor to identify correctly as MIDI device. (#7258) 6 years ago
Drashna Jaelre 29630e6e49 [Core] Add short form LTO_ENABLE (#7259)
For drashna's sanity's sake
6 years ago
Joel Challis 22812aee5c rgblight_task logic fixes (#7214) 6 years ago
Joel Challis 64b7cfe735 Refactor ps2avrgb i2c ws2812 to core (#7183)
* Refactor ps2avrgb i2c ws2812 to core

* Refactor jj40 to use ws2812 i2c driver

* Refactor ps2avrgb template to use ws2812 i2c driver

* Add ws2812 stub files

* clang-format and driver config

* Add ws2812 driver docs

* Fix default config values

* Update tmk_core/protocol/vusb/main.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>
6 years ago
Joel Challis abfd6ed961
Move tmk_core/common/backlight to quantum/backlight (#6710)
* Move tmk_core/common/backlight to quantum/backlight

* Add guards to backlight inclusion

* Add guards to backlight inclusion

* Update backlight guards on clueboard/60

* Use full paths to avoid vpath issues
6 years ago
fauxpark 63f4806d7a Fix bug in `do_code16()` (#6935)
* Fix bug in `do_code16()`

* Remove qk_ mods functions
6 years ago
Joel Challis 2ac4197b73
Add binary support to tinyprintf (#7024) 6 years ago
Joel Challis cc5edb9eeb
Port DEBUG_MATRIX_SCAN_RATE to core (#7029)
* Port DEBUG_MATRIX_SCAN_RATE to core

* Remove duplicate DEBUG_MATRIX_SCAN_RATE implementations

* Remove duplicate DEBUG_MATRIX_SCAN_RATE implementation from handwired/xealous

* Add console logic from ergodox_ez
6 years ago
fauxpark 4335b97a07 Reorder Raw HID interface to match what the USB spec expects (#6801) 6 years ago
Joel Challis 38aefaf78e
ARM - Initial backlight support (#6487)
* Move AVR backlight to own file, add borrowed ARM implementation

* Tiny fix for backlight custom logic

* Remove duplicate board from rebase

* Fix f303 onekey example

* clang-format

* clang-format

* Remove backlight keymap debug

* Initial pass of ARM backlight docs

* Initial pass of ARM backlight docs - resolve todos

* fix rules validation logic

* Add f072 warning

* Add f072 warning

* tidy up breathing in backlight keymap

* tidy up breathing in backlight keymap

* add missing break to backlight keymap
6 years ago
fauxpark 41b9be560d
Wrap util.h functions in `extern "C"` (#6762) 6 years ago
Joel Challis 17794e0b25
ARM split - Add support for dfu-util EE_HANDS flashing (#6543)
* Initial stab at some fake dfu-util-split-left behaviour

* Apply suggestions from code review

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

* Clang format fixes

* Fake eeprom init for both left and right hand
6 years ago
Joel Challis ad8dbd5ca5
ARM split - Add bootmagic/magic keycodes for setting handedness (#6545)
* Add docs on bootmagic/magic keycodes for setting handedness

* Clang format fixes

* Maintain backwards compatibility

* Maintain backwards compatibility
6 years ago
XScorpion2 2f49cae9bc Fixing wrapping math logic for timer_expired functions (#6746) 6 years ago
Drashna Jaelre 02f77e7215 Actually use correct bootloader not found message (#6695) 6 years ago
Drashna Jaelre 44fd317a87 Move Bootloader not found message to global variable (#6688)
* Move Bootloader not found message to global variable

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
6 years ago
fauxpark 0d94730da0 Adafruit BLE: Set SPI2X bit only when F_CPU is 8MHz (#6671) 6 years ago
fauxpark 91bd2117df Banish some more magic numbers (#6662) 6 years ago
fauxpark 7ffed07310 Make USB polling rate configurable with a define (#6668) 6 years ago
bwhelm fa71c4c91e Fix battery level code in adafruit_ble.cpp (#6648)
* Fix battery level code in adafruit_ble.cpp

The code in tsk_core/protocol/lufa/adafluit_ble.cpp that polls the
battery level for the Adafruit feather BLE controller reads the
regulated voltage, not the raw voltage coming from the battery. To do
that, the Adafruit Feather docs say you should read from pin A9:
https://learn.adafruit.com/adafruit-feather-32u4-basic-proto/power-management#measuring-battery-4-9.
(See also
https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/pinouts#logic-pins-2-9.)

I'm not sure why, but analogRead(9); doesn't read the correct pin.
Checking all available analog pins experimentally, it turns out that
analogRead(7); returns the correct value. So the code above should read:

    state.vbat = analogRead(7);

* Update tmk_core/protocol/lufa/adafruit_ble.cpp

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Remove old comment

* Fix linking error

* Remove `#ifdef` around `#include analog.h`.

* Really fix linking error
6 years ago
skullY b624f32f94 clang-format changes 6 years ago
Drashna Jaelre cf4575b94a Fix the LUFA lib to use a submodule instead of just files (#6245)
* Remove LUFA files

* Update descriptions for newer version of LUFA

* Create PR6245.md

* Fix CDC(Serial) type errors

* Fix missed merge conflict for AUDIO_DTYPE_CSInterface
6 years ago
skullY 7ff57644e1 Fix vusb compiling after clang-format 6 years ago
skullY 691be16b23 Have clang ignore the code in bootloader_size.c 6 years ago
fauxpark ac16726895 LUFA USB descriptor cleanup (#4871)
* Fix indentation

* Fix braces

* Expand descriptor headers

* Align descriptor elements

* Nicer formatting

* Tidy up preprocessor statements

* Remove VERSION_BCD redefine - LUFA_VERSION_INTEGER is currently 0x170418

* Tidy up comments

* Tweak ordering of  HID report elements (no functional changes)

* We don't need all of these newlines

* Move default USB_MAX_POWER_CONSUMPTION closer to where it makes sense

* Ask nicely

* Add some more comments

* Change indentation back to 4 spaces

* Add changelog entry
6 years ago
Drashna Jaelre 931e9bdbe4 Decrement EECONFIG magic number
This will manually wipe the EEPROM. This is a hacky solution for when new ranges are added or moved around. 

A better (more complicated) solution would be to zero out everything, not just known ranges.  But for now, this is a hacky solution that will work.
6 years ago
Drashna Jaelre bc86eb2233
Fix Typo in :flash target for missing bootloader (#6615) 6 years ago
XScorpion2 957070a6b5 Added OLED Display autoscroll during periods of OLED data inactivity (#6546)
* Added OLED Display autoscroll during periods of OLED data inactivity.

* Fixing compile errors

* Feedback from review
6 years ago
Joel Challis 51bcadf38c Add 'bootloadHID' flash target (#5587)
* Add 'bootloadHID' flash target

* Prep for flash target

* Add :flash support

* Align bootloader wait messages

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update template to suggest use of :flash
6 years ago