Commit Graph

246 Commits

Author SHA1 Message Date
Nick Brassel
543f54a483
[Core] STM32_USB_USE_OTG1 => USB_ENDPOINTS_ARE_REORDERABLE (#17647) 2022-08-04 21:05:16 +10:00
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
Drashna Jaelre
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 Kerkmann
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 Brassel
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
QMK Bot
b181f46f93 Merge remote-tracking branch 'origin/develop' into xap 2022-05-16 05:30:56 +00:00
Nick Brassel
5816288926
Warn about LTO with arm_atsam, not ChibiOS. (#17106) 2022-05-16 15:29:55 +10:00
Joel Challis
608fa5154c
Data driven g_led_config (#16728) 2022-05-16 07:39:29 +10:00
QMK Bot
9bb91fa4a3 Merge remote-tracking branch 'origin/develop' into xap 2022-05-14 06:01:05 +00:00
Pascal Getreuer
68b16bba68
[Core] Add Caps Word feature to core (#16588)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-05-14 16:00:32 +10:00
QMK Bot
a2604fd80f Merge remote-tracking branch 'origin/develop' into xap 2022-05-06 12:19:57 +00:00
QMK Bot
84ffd4f72d Merge remote-tracking branch 'origin/master' into develop 2022-05-06 12:18:51 +00:00
Ryan
8c23f87c51
Ensure .hex file output for ARM Teensys (#17014) 2022-05-06 13:18:03 +01:00
QMK Bot
d3a4adefc4 Merge remote-tracking branch 'origin/develop' into xap 2022-04-19 11:21:15 +00:00
Joy Lee
25f849b397
Update wb32-dfu (#16438) 2022-04-19 21:21:12 +10:00
zvecr
3c20f00238 Merge remote-tracking branch 'origin/develop' into xap 2022-04-16 23:49:41 +01:00
Joel Challis
92a61aa0cd
Implement XAP 'secure' core requirements (#16843)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-16 11:13:05 -07:00
Nick Brassel
85331d56ec Merge remote-tracking branch 'upstream/develop' into xap 2022-04-13 20:11:53 +10:00
Nick Brassel
1f2b1dedcc
Quantum Painter (#10174)
* Install dependencies before executing unit tests.

* Split out UTF-8 decoder.

* Fixup python formatting rules.

* Add documentation for QGF/QFF and the RLE format used.

* Add CLI commands for converting images and fonts.

* Add stub rules.mk for QP.

* Add stream type.

* Add base driver and comms interfaces.

* Add support for SPI, SPI+D/C comms drivers.

* Include <qp.h> when enabled.

* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.

* Add support for GC9A01.

* Add support for ILI9341.

* Add support for ILI9163.

* Add support for SSD1351.

* Implement qp_setpixel, including pixdata buffer management.

* Implement qp_line.

* Implement qp_rect.

* Implement qp_circle.

* Implement qp_ellipse.

* Implement palette interpolation.

* Allow for streams to work with either flash or RAM.

* Image loading.

* Font loading.

* QGF palette loading.

* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.

* Image drawing.

* Animations.

* Font rendering.

* Check against 256 colours, dump out the loaded palette if debugging enabled.

* Fix build.

* AVR is not the intended audience.

* `qmk format-c`

* Generation fix.

* First batch of docs.

* More docs and examples.

* Review comments.

* Public API documentation.
2022-04-13 18:00:18 +10:00
zvecr
89fab427c4 stub out secure as its own feature 2022-04-11 00:43:18 +01:00
QMK Bot
f0daafb741 Merge remote-tracking branch 'origin/develop' into xap 2022-04-03 18:18:16 +00:00
Nick Brassel
ec4f655333
Add warning for CTCP/CONVERT_TO_PROTON_C. (#16782) 2022-04-03 19:17:38 +01:00
QMK Bot
df823f8306 Merge remote-tracking branch 'origin/develop' into xap 2022-04-03 17:23:30 +00:00
Joel Challis
1660b2d2e2
Refactor CTPC logic to allow future converters (#16621)
* Refactor CTPC logic to allow future converters

* Update builddefs/converters.mk

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

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-04-03 18:22:52 +01:00
zvecr
13ee88dd21 Data driven g_led config 2022-03-30 00:43:41 +01:00
QMK Bot
3cb3d5b0c9 Merge remote-tracking branch 'origin/develop' into xap 2022-03-19 06:57:50 +00:00
Ryan
9ee2effe8e
HD44780 driver rework (#16370) 2022-03-19 17:57:22 +11:00
QMK Bot
2749346a53 Merge remote-tracking branch 'origin/master' into develop 2022-03-16 23:45:35 +00:00
Joel Challis
417f089115
Print out generated files during build (#16672) 2022-03-17 10:45:06 +11:00
zvecr
2b4724bd83 Convert info_json_gz.h generation to CLI 2022-03-15 17:59:12 +00:00
Nick Brassel
575d8c19fc Merge remote-tracking branch 'upstream/develop' into xap 2022-03-09 19:47:31 +11:00
Nick Brassel
8d5eacb7dd
Add support for encoder mapping. (#13286) 2022-03-09 19:29:00 +11:00
Nick Brassel
2f6751e48a
Asymmetric encoders, encoder tests. (#16068) 2022-03-08 16:58:05 +11:00
Nick Brassel
44f1bd9b3a
ChibiOS 21.11.1 update. (#16251)
* ChibiOS 21.11.1 update.

* `uf2-tinyuf2` => `tinyuf2`

* Updated chibios-contrib, fixup preprocessor for tinyuf2 bootloader.

* Fixup keychron L433 boards.

* Makefile cleanup.

* RISC-V build fixes.

* Fixup RISC-V build.
2022-03-07 21:04:22 +11:00
Nick Brassel
1e723e6647 Output logging. 2022-02-14 09:46:17 +11:00
Nick Brassel
c9ec8a1309 Merge remote-tracking branch 'upstream/develop' into xap 2022-02-14 09:01:22 +11:00
Joy Lee
71c0b97bce
Added external spi flash driver. (#15419) 2022-02-11 20:26:16 +00:00
Idan Kamara
793f54f6ca
ps2/avr: use the correct file name (#16316)
This was missed in https://github.com/qmk/qmk_firmware/pull/14895.

Thanks to fauxpark for spotting this.
2022-02-11 20:36:26 +11:00
Joel Challis
f7e7671f69
Migrate more makefile utilities to builddefs sub-directory (#16002) 2022-02-10 09:45:51 -08:00
Nick Brassel
e987ce1652
Standardise error output. (#16220) 2022-02-04 17:32:31 -08:00
Nick Brassel
0be2eaf174
Create a build error if no bootloader is specified. (#16181)
* Create a build error if no bootloader is specified.

* Update builddefs/bootloader.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-02-03 19:22:49 +11:00
Nick Brassel
77062e9a36
Add L432, L442. (#16016) 2022-01-24 08:49:36 +11:00
Ryan
5fb93934d0
Fixes for bootloader refactor build failures (#15638) 2022-01-06 06:55:46 +11:00
Ryan
6bc870d899
Refactor bootloader_jump() implementations (#15450)
* Refactor `bootloader_jump()` implementations

* Fix tests?

* Rename `atmel-samba` to `md-boot`
2021-12-27 21:10:07 +11:00
Hugo Osvaldo Barrera
76a673233c
Add a clarification to an error message (#15207)
Makes this a bit more foolproof.

See https://github.com/qmk/qmk_firmware/issues/15202
2021-12-27 11:53:46 +11:00
Joy Lee
68838bb700
Westberrytech pr (#14422)
* Added support for WB32 MCU

* Modified eeprom_wb32.c

* Remove the eeprom_wb32-related code
2021-11-27 09:28:18 +11:00
precondition
4bac5f53d8
New feature: DYNAMIC_TAPPING_TERM_ENABLE (#11036)
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE`

3 new quantum keys to configure the tapping term on the fly.

* Replace sprintf call in tapping_term_report by get_u16_str

* Replace tab with 4 spaces
2021-11-26 07:06:50 +11:00
Nick Brassel
36d123e9c5
Add support for deferred executors. (#14859)
* Add support for deferred executors.

* More docs.

* Include from quantum.h

* Cleanup.

* Parameter checks

* Comments.

* qmk format-c

* I accidentally a few words.

* API name change.

* Apply suggestions from code review

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Review comments.

* qmk format-c

* Review comments.

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-11-15 18:21:09 +00:00
Joel Challis
55fb468d74
More platform/protocol alignment (#14976) 2021-10-29 11:16:19 +01:00
Joel Challis
b780c797be
Migrate makefile utilities to sub-directory (#14917) 2021-10-28 01:07:53 +01:00