Commit Graph
95 Commits
Author SHA1 Message Date
QMK Bot 1ed3b63f1a Merge remote-tracking branch 'origin/develop' into xap 2022-07-20 16:33:00 +00:00
Drashna Jaelre ee17ffadea Move Pointing Device code to a subdirectory (#17684) 2022-07-20 17:32:00 +01:00
QMK Bot 45298a8c26 Merge remote-tracking branch 'origin/develop' into xap 2022-07-20 00:47:05 +00:00
12eb6444c6 Add support for PAW3204 Optical Sensor (#17669)
Co-authored-by: gompa <gompa@h-bomb.nl>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-07-19 17:46:22 -07:00
zvecr 28855f658a Hash dynamic keymap at runtime 2022-07-15 03:33:34 +01:00
QMK Bot 36d825309b Merge remote-tracking branch 'origin/develop' into xap 2022-07-14 09:50:35 +00:00
Stefan Kerkmann 3c58f98929 [Core] PMW33XX drivers overhaul (#17613)
* PMW33XX drivers overhaul

This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:

* PMW3389 now gets the same multi-sensor feature that is already available on the
  PMW3360.

* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
  transactions instead of individual byte-sized reads, saving multiple
  copies and bitshift operations.

* pmw33(89/60)_get_report functions had unreachable branches in their motion
  detection logic these have been simplied as much as possible.

* The fast firmware upload option has been removed as this becomes obsolete by
  the newly introduced polled waiting functions for ChibiOS polled waiting

* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
  have been removed as they don't need to be configurable.

* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
  to reduce code duplication and make the defines interchangeable

* Adjust keyboards to PMW33XX naming scheme
2022-07-14 11:50:00 +02:00
QMK Bot 7fa23bcc6c Merge remote-tracking branch 'origin/develop' into xap 2022-07-13 04:18:12 +00:00
Daniel Kao 5db705d054 Cirque trackpad features: circular scroll, inertial cursor (#17482) 2022-07-12 21:17:40 -07:00
QMK Bot 517eb82ed6 Merge remote-tracking branch 'origin/develop' into xap 2022-07-07 07:28:46 +00:00
Stefan Kerkmann d9bb189e25 [Core] Update mpaland/printf to eyalroz/printf fork (#16163)
mpaland printf implementation was abandoned in ~2019 and the fork by
eyalroz is now regarded to be the goto replacement of it. So this commit
incoporates the changes needed to use this fork in QMK.

Note that pointer ptrdiff_t is always supported since commit
51c90f93a97fdaef895783ecbe24569be0db7cb8
2022-07-07 09:27:50 +02:00
zvecr ced7094ddd Add xap cli functions to test secure 2022-07-07 01:57:41 +01:00
QMK Bot a23c40f921 Merge remote-tracking branch 'origin/develop' into xap 2022-07-04 23:00:39 +00:00
Nick Brassel 0e5d67145a Allow for keymaps array to be implemented in a file other than $(KEYMAP_C) (#17559) 2022-07-05 08:58:35 +10:00
QMK Bot 063a5b8e7c Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 14:14:17 +00:00
Ryan ac5e6b6a3b Tentative Teensy 3.5 support (#14420)
* Tentative Teensy 3.5 support

* Set firmware format to .hex for ARM Teensys

* Got to "device descriptor failed" by comparing with Teensy 3.6 code

* Drop down to 96MHz...

* Bump back up to 120MHz
2022-07-03 00:12:45 +10:00
QMK Bot 2196d7cb9c Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 12:10:26 +00:00
Ryan 3ecb0a80af Feature-ify Send String (#17275) 2022-07-02 22:10:08 +10:00
QMK Bot 3f5ff5a0c6 Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 05:19:31 +00:00
Nick Brassel 5846b40f74 RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10:00
QMK Bot f6d689a980 Merge remote-tracking branch 'origin/develop' into xap 2022-06-30 11:20:40 +00:00
Stefan KerkmannandNick Brassel d717396708 [Core] Add Raspberry Pi RP2040 support (#14877)
* Disable RESET keycode because of naming conflicts

* Add Pico SDK as submodule

* Add RP2040 build support to QMK

* Adjust USB endpoint structs for RP2040

* Add RP2040 bootloader and double-tap reset routine

* Add generic and pro micro RP2040 boards

* Add RP2040 onekey keyboard

* Add WS2812 PIO DMA enabled driver and documentation

Supports regular and open-drain output configuration. RP2040 GPIOs are
sadly not 5V tolerant, so this is a bit use-less or needs extra hardware
or you take the risk to fry your hardware.

* Adjust SIO Driver for RP2040

* Adjust I2C Driver for RP2040

* Adjust SPI Driver for RP2040

* Add PIO serial driver and documentation

* Add general RP2040 documentation

* Apply suggestions from code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-06-30 13:19:27 +02:00
QMK Bot 2b212b6308 Merge remote-tracking branch 'origin/develop' into xap 2022-06-29 21:42:57 +00:00
Nick Brassel 34e244cecf Wear-leveling EEPROM drivers: embedded_flash, spi_flash, legacy (#17376) 2022-06-30 07:42:23 +10:00
zvecr 2592402627 Use keymap folder hash to reset dynamic keymap eeprom 2022-06-27 21:44:26 +01:00
QMK Bot 129e9c3952 Merge remote-tracking branch 'origin/develop' into xap 2022-06-26 21:18:55 +00:00
Nick BrasselandStefan Kerkmann 01ecf332ff Generic wear-leveling algorithm (#16996)
* Initial import of wear-leveling algorithm.

* Alignment.

* Docs tweaks.

* Lock/unlock.

* Update quantum/wear_leveling/wear_leveling_internal.h

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>

* More tests, fix issue with consolidation when unlocked.

* More tests.

* Review comments.

* Add plumbing for FNV1a.

* Another test checking that checksum mismatch clears the cache.

* Check that the write log still gets played back.

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-06-27 07:18:21 +10:00
QMK Bot bc66b54073 Merge remote-tracking branch 'origin/develop' into xap 2022-06-23 18:43:56 +00:00
precondition 7060cb7b26 Refactor steno and add STENO_PROTOCOL = [all|txbolt|geminipr] (#17065)
* Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT]

* Update stenography documentation

* STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT

TXBOLT is a better name but BOLT is more consistent with the
pre-existing TX Bolt related constants, which all drop the "TX " prefix

* Comments

* STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all]

* Add note on lacking V-USB support

* Clear chord at the end of the switch(mode){send_steno_chord} block

* Return true if NOEVENT

* update_chord_xxx → add_xxx_key_to_chord

* Enable the defines for all the protocols if STENO_PROTOCOL = all

* Mention how to use `steno_set_mode`

* Set the default steno protocol to "all"

This is done so that existing keymaps invoking `steno_set_mode` don't
all suddenly break

* Add data driver equivalents for stenography feature

* Document format of serial steno packets

(Thanks dnaq)

* Add missing comma
2022-06-23 20:43:24 +02:00
zvecr 956bd3b7ca Refactor based on recent discussion 2022-06-19 22:04:36 +01:00
QMK Bot 8983559ee1 Merge remote-tracking branch 'origin/develop' into xap 2022-06-17 22:04:54 +00:00
Stefan Kerkmann fe680a8568 [Core] Split ChibiOS usart split driver in protocol and hardware driver part (#16669) 2022-06-18 08:04:17 +10:00
QMK Bot 8cc009946d Merge remote-tracking branch 'origin/develop' into xap 2022-06-15 23:56:05 +00:00
Nick Brassel fa8fb60279 Dump out the largest symbols in flash and in RAM. (#17397) 2022-06-16 09:55:15 +10:00
QMK Bot 71a9aef016 Merge remote-tracking branch 'origin/develop' into xap 2022-06-13 20:13:39 +00:00
Jouke Witteveen 1706da9054 tap-dance: Restructure code and document in more detail (#16394) 2022-06-13 22:12:55 +02:00
QMK Bot 58177d0670 Merge remote-tracking branch 'origin/develop' into xap 2022-06-07 23:43:07 +00:00
Nick Brassel 1085500e89 Rework paths for eeprom locations. (#17326)
* Rework paths for eeprom locations.

* File relocation.

* Wrong file move.

* Fixup test paths.
2022-06-08 09:42:35 +10:00
QMK Bot 17676d05c3 Merge remote-tracking branch 'origin/develop' into xap 2022-06-05 22:47:51 +00:00
Stefan Kerkmann e89478eb0f [Core] Update C standard to GNU11, C++ to GNU++14 (#17114) 2022-06-06 08:47:22 +10:00
QMK Bot 7d522fb933 Merge remote-tracking branch 'origin/develop' into xap 2022-06-05 00:26:33 +00:00
Nick Brassel 08c556b78b Add keymap wrappers for introspection into the keymap. (#17229)
* Introspection handlers for keymaps.

* Renaming.
2022-06-05 10:26:02 +10:00
QMK Bot 6579526ace Merge remote-tracking branch 'origin/develop' into xap 2022-05-31 05:38:38 +00:00
Nick Brassel 8545473307 Removes terminal from QMK. (#17258) 2022-05-30 22:38:08 -07:00
zvecr 32404cbb77 tidy xap.mk 2022-05-26 17:24:17 +01:00
QMK Bot 3a1b0cdd2f Merge remote-tracking branch 'origin/develop' into xap 2022-05-23 05:57:59 +00:00
Joy Lee 1c7e8b9a9d Added support for Wb32fq95 (#16871) 2022-05-23 15:57:24 +10:00
zvecr f2d56f5ca1 Align filenames 2022-05-23 02:14:42 +01:00
zvecr e04e31cde7 Extend make rules to include user/keyboard xap.json files 2022-05-23 01:25:32 +01:00
zvecr b1632946c9 stub out keyboard/keymap level xap specs 2022-05-23 00:12:36 +01:00