summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-08-311-1/+1
|\
| * `qmk lint`: fix TypeError (#18226)Ryan2022-08-311-1/+1
| |
* | Use a macro to compute the size of arrays at compile time (#18044)Jeff Epler2022-08-305-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add ARRAY_SIZE and CEILING utility macros * Apply a coccinelle patch to use ARRAY_SIZE * fix up some straggling items * Fix 'make test:secure' * Enhance ARRAY_SIZE macro to reject acting on pointers The previous definition would not produce a diagnostic for ``` int *p; size_t num_elem = ARRAY_SIZE(p) ``` but the new one will. * explicitly get definition of ARRAY_SIZE * Convert to ARRAY_SIZE when const is involved The following spatch finds additional instances where the array is const and the division is by the size of the type, not the size of the first element: ``` @ rule5a using "empty.iso" @ type T; const T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) @ rule6a using "empty.iso" @ type T; const T[] E; @@ - sizeof(E)/sizeof(T) + ARRAY_SIZE(E) ``` * New instances of ARRAY_SIZE added since initial spatch run * Use `ARRAY_SIZE` in docs (found by grep) * Manually use ARRAY_SIZE hs_set is expected to be the same size as uint16_t, though it's made of two 8-bit integers * Just like char, sizeof(uint8_t) is guaranteed to be 1 This is at least true on any plausible system where qmk is actually used. Per my understanding it's universally true, assuming that uint8_t exists: https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1 * Run qmk-format on core C files touched in this branch Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* | Handle escaping of manufacturer/product strings (#18194)Ryan2022-08-282-2/+3
| |
* | Switch over MANUFACTURER and PRODUCT to string literals (#18183)Ryan2022-08-281-2/+2
|/
* Update LUFA submodule (#18168)Ryan2022-08-262-2/+2
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-08-241-1/+1
|\
| * Update invalid pip install flag (#18146)Joel Challis2022-08-241-1/+1
| |
* | Fix PID value for the Keyboardio Atreus 2 bootloader (#18116)Sergey Vlasov2022-08-201-1/+1
| | | | | | Copy the correct PID from `util/udev/50-qmk.rules`.
* | CLI: Teaching the CLI to flash binaries (#16584)Erovia2022-08-205-93/+336
| | | | | | | | | | | | Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
* | Remove legacy bootmagic cli parsing (#18099)Joel Challis2022-08-191-8/+1
| |
* | Fix new-keyboard default for RP2040 bootloader (#18100)Joel Challis2022-08-191-0/+1
| |
* | Improve importer workflow (#17707)Joel Challis2022-08-132-51/+101
| |
* | Update to latest ChibiOS-Contrib. (#18016)Nick Brassel2022-08-131-0/+0
| |
* | Remove `UNUSED_PINS` (#17931)Nick Brassel2022-08-061-14/+1
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-08-061-4/+18
|\|
| * Provide users with replacements for deprecated/invalid functionality where ↵Ryan2022-08-061-4/+18
| | | | | | | | applicable (#17604)
* | Publish data as part of API generation (#17020)Joel Challis2022-08-061-14/+23
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-271-1/+1
|\|
| * CLI compatibility for MacOS (#17811)Albert Y2022-07-271-1/+1
| |
* | ChibiOS-Contrib: Update for RP2040 PWM and I2C driver (#17817)Stefan Kerkmann2022-07-271-0/+0
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-263-2/+69
|\|
| * Make `qmk doctor` print out the last log entry for ↵Nick Brassel2022-07-263-2/+69
| | | | | | | | upstream/{master,develop}, including dates (#17713)
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-231-5/+10
|\|
| * Fix test logic to check for both keymaps (#17761)Niko Wenselowski2022-07-231-5/+10
| | | | | | | | | | | | | | | | | | | | | | Python will evaluate first the left and then the right side of the and operator. The left side would previously return True based on the truthiness logic that treats any non-emptry string as true. It would not check if the desired keymap exists. If the left side is true it will evaluate the right side which will check for the existance of a specific keymap. With this change the check for existance of two keymaps is implemented.
* | Fix AVR compilation of FNV by using standard integer typenames. (#17716)Nick Brassel2022-07-191-4/+5
| |
* | More DD encoder fixes (#17615)Joel Challis2022-07-112-6/+12
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-091-0/+1
|\|
| * Add line to multibuild output log showing the actual build target. (#17606)Nick Brassel2022-07-091-0/+1
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-081-29/+9
|\|
| * Allow only col or row pins for *_right extraction. (#17590)Dasky2022-07-081-29/+9
| |
* | Fix rgbkb/sol/rev2 build issues (#17601)Joel Challis2022-07-082-3/+11
| |
* | [Core] Update mpaland/printf to eyalroz/printf fork (#16163)Stefan Kerkmann2022-07-071-0/+0
| | | | | | | | | | | | | | | | 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
* | Update ChibiOS-Contrib (#17540)Nick Brassel2022-07-031-0/+0
| |
* | Tentative Teensy 3.5 support (#14420)Ryan2022-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | * 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
* | Add cli command to import keyboard|keymap|kbfirmware (#16668)Joel Challis2022-07-026-0/+222
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-011-2/+2
|\|
| * Allow locate_keymap to handle DEFAULT_FOLDER (#17529)Joel Challis2022-07-011-2/+2
| |
* | [Core] Add Raspberry Pi RP2040 support (#14877)Stefan Kerkmann2022-06-302-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-291-14/+22
|\|
| * Allow module check to error out when piped to /dev/null (#17505)Joel Challis2022-06-301-14/+22
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-261-1/+1
|\|
| * Fix error message in generated code (#17484)Joel Challis2022-06-271-1/+1
| |
* | Generic wear-leveling algorithm (#16996)Nick Brassel2022-06-2713-0/+4999
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-251-1/+1
|\|
| * Only omit paths containing "/keymaps/" (#17468)precondition2022-06-251-1/+1
| | | | | | This allows keyboard names to contain the word "keymaps"
* | Allow encoder config from info.json (#17295)Joel Challis2022-06-202-0/+87
| |
* | Additional schema fixes (#17414)Joel Challis2022-06-182-9/+5
| |
* | SPI Bugfix for ChibiOS 21.11.1 -- also rollback AW20216 mode change issue. ↵Nick Brassel2022-06-171-0/+0
| | | | | | | | (#17371)
* | Use --exclude-from=.gitignore in place of --exclude-standard (#17399)precondition2022-06-161-2/+2
| |