summaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* Nix shell updates for `develop` (#18131)Sergey Vlasov2022-08-233-184/+439
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * shell.nix: Update `tomlkit` to 0.11.4 using a Nixpkgs overlay The used Nixpkgs snapshot contains `tomlkit` version 0.7.0, which is affected by https://www.github.com/sdispater/tomlkit/issues/148; that bug is triggered by `pyproject.toml` from `jsonschema` >= 4.11.0, preventing the build of that module. Just adding `tomlkit = "*"` to the `[tool.poetry.dev-dependencies]` section of `nix/pyproject.toml` does not fix the `jsonschema` build, because `makeRemoveSpecialDependenciesHook` inside `poetry2nix` is not affected by `nix/pyproject.toml`. Add a Nixpkgs overlay which updates the `tomlkit` Python module globally, so that `poetry2nix` would also use the updated version internally. * shell.nix: Bump `poetry2nix` to the most recent version The new `poetry2nix` version includes overrides which are required for recent versions of some Python packages (in particular, `jsonschema` and `dotty-dict`). * shell.nix: Bump QMK CLI to 1.1.1; update other Python deps Update `pyproject.toml` to match `requirements*.txt`: - add `pyserial = "*"` - replace `qmk-dotty-dict = "*"` with `dotty-dict = "*"` (#18117, also required for compatibility with `qmk` 1.1.1, where this replacement had already been performed) Add build dependencies of various Python modules to `pyproject.toml`: - `hatchling`, `hatch-vcs`, `hatch-fancy-pypi-readme` (required by `jsonschema` >= 4.11.0) - `pytest` (a newer version is required to solve the dependency conflict with the `hatchling` module due to the upper bound on `pluggy`) - `flit-core` (a more recent version is required to build `tomli`) - `poetry-core` (required for `dotty-dict` >= 1.3.1, and the version from Nixpkgs does not build on Darwin due to NixOS/nix#4758) Update `poetry.lock` to use the most recent versions of Python modules. The complete list of Python module updates as listed in `poetry.lock` (note that other modules might be present in the Python environment, e.g., if they come from Nixpkgs): - `atomicwrites`: none -> 1.4.1 (but this module is not actually used, because the corresponding dependency of `pytest` is win32-only) - `attrs`: 21.4.0 -> 22.1.0 - `colorama`: 0.4.4 -> 0.4.5 - `coverage`: 6.4 -> none - `dotty-dict`: none -> 1.3.1 (used instead of `qmk-dotty-dict`) - `editables`: none -> 0.3 - `flake8`: 4.0.1 -> 5.0.4 - `flake8-polyfill`: 1.0.2 -> none - `flit-core`: none -> 3.7.1 - `hatch-fancy-pypi-readme`: none -> 22.3.0 - `hatch-vcs`: none -> 0.2.0 - `hatchling`: none -> 1.8.0 - `hjson`: 3.0.2 -> 3.1.0 - `importlib-resources`: 5.7.1 -> 5.9.0 - `iniconfig`: none -> 1.1.1 - `jsonschema`: 4.5.1 -> 4.14.0 - `mccabe`: 0.6.1 -> 0.7.0 - `nose2`: 0.11.0 -> 0.12.0 - `packaging`: none -> 21.3 - `pathspec`: none -> 0.9.0 - `pep8-naming`: 0.12.1 -> 0.13.2 - `pillow`: 9.1.1 -> 9.2.0 - `pkgutil-resolve-name`: none -> 1.3.10 - `pluggy`: none -> 1.0.0 - `poetry-core`: none -> 1.0.8 - `py`: none -> 1.11.0 - `pycodestyle`: 2.8.0 -> 2.9.1 - `pyflakes`: 2.4.0 -> 2.5.0 - `pygments`: 2.12.0 -> 2.13.0 - `pyparsing`: none -> 3.0.9 - `pyserial`: none -> 3.5 - `pytest`: none -> 7.1.2 - `qmk`: 1.1.0 -> 1.1.1 - `qmk-dotty-dict`: 1.3.0.post1 -> none (replaced by `dotty-dict`) - `setuptools-scm`: none -> 7.0.5 - `tomli`: none -> 2.0.1 - `typing-extensions`: none -> 4.3.0 - `zipp`: 3.8.0 -> 3.8.1
* CLI: Teaching the CLI to flash binaries (#16584)Erovia2022-08-201-0/+9
| | | | | | 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>
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-08-131-0/+9
|\
| * Remove old submodules if present (#17930)Nick Brassel2022-08-131-0/+9
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-07-021-8/+5
|\|
| * MSYS2 install: use MinGW python-qmk package (#17302)Ryan2022-07-021-8/+5
| | | | | | | | | | | | | | | | | | * MSYS2 install: use MinGW python-qmk package * Add missing flashers * Note VC Redist for manual install * VC Redist no longer needed
* | Also check /run/media/ for uf2 drives (#17517)Joel Challis2022-06-301-0/+3
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2022-06-231-1/+1
|\|
| * Fix 0 delta results in size_regression.sh (#17457)Dasky2022-06-231-1/+1
| |
* | SPI Bugfix for ChibiOS 21.11.1 -- also rollback AW20216 mode change issue. ↵Nick Brassel2022-06-171-1/+1
|/ | | | (#17371)
* Nix shell updates (#17243)Sergey Vlasov2022-05-313-136/+215
|
* Disable python formatting for some fileszvecr2022-05-241-0/+1
|
* MSYS2 install: add some Python dependencies through Pacman (#17025)Ryan2022-05-071-1/+2
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-05-051-1/+1
|\
| * Add missing dependency for qmk setup on Fedora (#17003)Mateusz Mojsiejuk2022-05-041-1/+1
| |
* | Add flash target for UF2 bootloaders (#16525)Stefan Kerkmann2022-03-071-1/+1
| |
* | Move Doxygen docs to subdirectory (#16561)Ryan2022-03-071-31/+0
| |
* | ChibiOS 21.11.1 update. (#16251)Nick Brassel2022-03-072-39/+265
|/ | | | | | | | | | | | | | | * 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.
* Initial pass at data driven new-keyboard subcommand (#12795)Joel Challis2022-02-092-221/+0
| | | | | | | | | * Initial pass at a data driven keyboard subcommand * format * lint * Handle bootloader now its mandatory
* Misc size regression script improvements. (#16268)Nick Brassel2022-02-081-2/+20
| | | | | | | | | | | | | * Misc size regression script improvements. - Sets environment variable SIZE_REGRESSION_EXECUTING during execution so hook scripts like `post-checkout` may skip processing. - Forces checkout of the target branch, including removal of all temporary object files in the process. - Prints out a warning on exit stating that the git repository is in an indeterminate state, and the user needs to swap back to whatever intended branch they were working with originally. * Remove `git clean`
* Add a script that simplifies running commands under docker. (#16028)Nick Brassel2022-01-241-0/+59
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2022-01-141-2/+0
|\
| * Remove network drive mapping comment for WSL (#15871)Ryan2022-01-141-2/+0
| |
* | Add support for 21.11.x, remove 21.6.x as ChibiOS "canceled" it. (#15435)Nick Brassel2021-12-091-4/+4
|/
* Add script for performing compilation size regression investigations. (#15303)Nick Brassel2021-11-271-0/+79
| | | | | | | | | | | | | | | | | * Add script for performing compilation size regression investigations. * Print deltas * Correct scoping. * Concurrency control * Job count control, skip zeros (unless no build output), fix usage. * Add usage under -h arg. * Updated usage output. * Copyright header.
* Merge remote-tracking branch 'origin/master' into developQMK Bot2021-11-201-0/+3
|\
| * Add Keyboardio Atreus 2 Bootloader to udev rules (#15241)Sergey Vlasov2021-11-201-0/+3
| | | | | | | | | | | | The Keyboardio Atreus 2 Bootloader is a clone of the Caterina bootloader with different USB VID:PID values (1209:2302): https://github.com/keyboardio/Atreus2-Bootloader
* | [Core] RISC-V toolchain and picolibc fixes (#15109)Stefan Kerkmann2021-11-201-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [Core] Fix RISC-V toolchain installation The risc-v toolchain is only available on distributions based on Debian 11+ so we check for their availability before installing them. * [Core] Fix heap symbols and syscalls for picolibc picolibc internally uses __heap_start and __heap_end instead of the defacto chibios linker script standard __heap_base__ and __heap_end__ therefore we introduce these symbols as an alias. Usually all memory used within QMK is statically allocated, but some algorithms make usage of malloc and friends. Also the timeval struct is not defined by picolibc for syscalls, therefore it is declared as stub.
* | Update to ChibiOS 20.3.4, support builds against trunk (#14208)Nick Brassel2021-11-032-92/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for building against ChibiOS svn/trunk. * Swap to 21.6.x * Update to latest branch revision as released version is broken. * Updated configs. * Conf updates. * Updated ChibiOS * Convert STM32L422 to actual L422 ChibiOS platform. * Downgrade to 20.3.4 as ChibiOS 21.6.x is being aborted. * Rollback L422-based boards.
* | [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)Stefan Kerkmann2021-10-182-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for RISC-V builds and GD32VF103 MCU * Add toolchain selection in chibios.mk based on the mcu selected in mcu_selection.mk * Reorder and added comments to chibios.mk to have a streamlined makefile * Add GD32VF103 mcu to possible targets for QMK. * Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent then rewriting every driver. * Add GigaDevice DFU bootloader as flash target, please note that dfu-util of at least version 0.10 is needed. * Add analog driver compatibility * Add apa102 bitbang driver compatibility * Add ws2812 bitbang driver compatibility * Add eeprom in flash emulation compatibility * Allow faster re-builds with ccache * Add SiPeed Longan Nano to platform files * Add SiPeed Longan Nano Onekeys * Make quine compatible with other bootloaders * Support builds with picolibc * Add risc-v toolchain to arch and debian/ubuntu scripts
* | Purge uGFX. (#14720)Nick Brassel2021-10-071-1/+1
|/ | | | | | | * Purge uGFX. * Remove remnants of visualizer. * Remove remnants of uGFX.
* Cleanup issues identified by lgtm (#14459)Zach White2021-09-272-5/+4
| | | | | * cleanup issues identified by lgtm * fix the git_status check
* move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230)Zach White2021-08-293-3/+3
|
* Update the nix-shell environment (#13316)Sergey Vlasov2021-08-292-74/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Nix: Allow calls to `bin/qmk` even when the build was started by `qmk` The `$PATH` modifications performed by the Nix wrapper for the `qmk` executable prevent `bin/qmk` from working properly (the changed `$PATH` contains a wrong `python3` executable which does not have the needed Python modules in its module path). As a workaround, disable the generation of that wrapper for the `qmk` Python package (there is yet another wrapper generated while building the Python environment, which would still set the Python module path properly when running `qmk`). Although `bin/qmk` is officially deprecated, QMK CLI still invokes it in some cases (at least `qmk doctor` and `qmk pytest`), therefore keeping these invocations working is useful. * Nix: Update `util/nix/pyproject.toml` to match `requirements*.txt` Update the Python dependency information used by Poetry to match the current state of the qmk_firmware code. * Nix: Bump QMK CLI dependency to 1.0.0; bump other Python deps Update Python dependencies for nix-shell to the most recent releases: - dotty-dict: 1.3.0 -> no longer used - milc: 1.4.2 -> 1.6.2 - pep8-naming: 0.11.1 -> 0.12.1 - pygments: 2.9.0 -> 2.10.0 - pyrsistent: 0.17.3 -> 0.18.0 - pyusb: 1.1.1 -> 1.2.1 - setuptools-scm: 6.0.1 -> no longer used - qmk: 0.1.0 -> 1.0.0 - qmk-dotty-dict: not used -> 1.3.0.post1 - yapf: 0.30.0 -> 0.31.0 Note to self: The command to update Python dependencies changed to: ( cd util/nix && nix run 'nixpkgs#poetry' -- update --lock )
* Fixup upstream paths for submodules. (#14205)Nick Brassel2021-08-291-1/+10
|
* Move nix folder alongside vagrant (#14132)Joel Challis2021-08-254-0/+711
|
* Align some quantum sub-directories (#14134)Joel Challis2021-08-242-3/+12
| | | | | | | * Misc folder tidy * Review comments * Remove redundant entry
* eeprom_stm32: implement high density wear leveling (#12567)Donald Kjer2021-08-231-0/+317
| | | | | | | | | | | | | | | * eeprom_stm32: implement wear leveling Update EECONFIG_MAGIC_NUMBER eeprom_stm32: check emulated eeprom size is large enough * eeprom_stm32: Increasing simulated EEPROM density on stm32 * Adding utility script to decode emulated eeprom * Adding unit tests * Applying qmk cformat changes * cleaned up flash mocking * Fix for stm32eeprom_parser.py checking via signature with wrong base * Fix for nk65 keyboard Co-authored-by: Ilya Zhuravlev <whatever@xyz.is> Co-authored-by: zvecr <git@zvecr.com>
* Merge remote-tracking branch 'origin/master' into developQMK Bot2021-08-221-1/+1
|\
| * Add fix for brew upgrade (#12921)Bror Winther2021-08-221-1/+1
| | | | | | Add a fix for `brew upgrade` so only formulae is upgraded and not casks
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-08-205-161/+0
|\|
| * [Core] [Docs] Remove travis-ci references (#13916)Spaceman2021-08-205-161/+0
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-08-192-2/+2
|\|
| * Fix AT90USB64/128 bootloaders (#14064)Ryan2021-08-192-2/+2
| |
* | [CLI] Add qmk-hid bootloader detection support to `qmk console` (#14038)Drashna Jaelre2021-08-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [CLI] Add qmk-hid bootloader detection support to `qmk console` * Remove duplicate entry Co-authored-by: Ryan <fauxpark@gmail.com> * Begrudgingly add lufa-ms * Add udev rules for hid bootloaders * Update util/udev/50-qmk.rules Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Fix VID/PID combos Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-08-101-1/+1
|\|
| * Fix shell port bug in computation of QMK_FIRMWARE_DIR (#13950)Eric S. Raymond2021-08-111-1/+1
| | | | | | | | | | Previous code would fail if cd echoes the tathet directory to stdout, which is pretty common. Redirecting its output to /dev/null solves the problem.
* | Update ChibiOS-Contrib, mirroring script. (#13896)Nick Brassel2021-08-061-9/+37
| |
* | Port new_keyboard.sh to CLI (#13706)Ryan2021-07-301-0/+6
| | | | | | Co-authored-by: Erovia <Erovia@users.noreply.github.com>
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2021-07-0619-19/+19
|\|