Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into fix-new-pairings
Browse files Browse the repository at this point in the history
  • Loading branch information
kareltucek committed Dec 20, 2024
2 parents 56ba94d + 7337f9a commit e7bf227
Show file tree
Hide file tree
Showing 394 changed files with 2,018 additions and 1,565 deletions.
38 changes: 0 additions & 38 deletions .drone.yml

This file was deleted.

14 changes: 7 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
path: firmware-uhk80
path: firmware
submodules: recursive

- name: Install build dependencies
Expand All @@ -27,13 +27,13 @@ jobs:

- name: Install python dependencies of scripts
run: |
cd firmware-uhk80/scripts
cd firmware/scripts
pip install -r requirements.txt
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: firmware-uhk80
app-path: firmware
toolchains: arm-zephyr-eabi
sdk-version: 0.16.8

Expand All @@ -51,22 +51,22 @@ jobs:
- name: Use Node.js (.nvmrc)
uses: actions/setup-node@v4
with:
node-version-file: firmware-uhk80/scripts/.nvmrc
node-version-file: firmware/scripts/.nvmrc

- name: Install node dependencies in scripts folder
run: |
cd firmware-uhk80/scripts
cd firmware/scripts
npm install
- name: Create firmware tarball
run: |
cd firmware-uhk80
cd firmware
scripts/make-release.mjs --allowSha
- name: Upload firmware artifacts
uses: actions/upload-artifact@v4
with:
name: firmware
path: firmware-uhk80/scripts/uhk-firmware-*.tar.gz
path: firmware/scripts/uhk-firmware-*.tar.gz
compression-level: 0
retention-days: 10
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,3 @@
[submodule "lib/SDK_2.8.0_MKL17Z32xxx4"]
path = lib/SDK_2.8.0_MKL17Z32xxx4
url = https://github.com/UltimateHackingKeyboard/SDK_2.8.0_MKL17Z32xxx4.git
[submodule "lib/c2usb"]
path = lib/c2usb
url = https://github.com/IntergatedCircuits/c2usb.git
11 changes: 9 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
{
"nrf-connect.toolchain.path": "${nrf-connect.toolchain:2.6.1}",
"nrf-connect.topdir": "${nrf-connect.sdk:2.4.1}",
"nrf-connect.toolchain.path": "${nrf-connect.toolchain:2.8.0}",
"nrf-connect.topdir": "${nrf-connect.sdk:2.8.0}",
"nrf-connect.applications": [
"${workspaceFolder}/device"
],
"nrf-connect.applicationOptions": {
"${workspaceFolder}/device": {
"flash": {
"softreset": true
}
}
},
"nrf-connect.boardRoots": [
"${workspaceFolder}/"
],
Expand Down
178 changes: 175 additions & 3 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,187 @@
"label": "Build UHK 60 v2 firmware",
"type": "shell",
"command": "make",
"args": ["${command:cpptools.activeConfigName}"],
"args": [
"${command:cpptools.activeConfigName}"
],
"options": {
"cwd": "${workspaceFolder}/right/uhk60v2"
},
"problemMatcher": ["$gcc"],
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Generate UHK versions",
"type": "shell",
"command": "node",
"args": [
"scripts/generate-versions.mjs"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [],
"group": {
"kind": "none",
"isDefault": true
}
},
{
"label": "West update",
"group": {
"kind": "none",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}"
},
"type": "process",
"command": "nrfutil",
"args": [
"toolchain-manager",
"launch",
"--shell",
"--",
"west",
"update"
]
},
{
"label": "West patch",
"group": {
"kind": "none",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}"
},
"type": "process",
"command": "nrfutil",
"args": [
"toolchain-manager",
"launch",
"--shell",
"--",
"west",
"patch"
],
"dependsOrder": "sequence",
"dependsOn": [
"West update"
]
},
{
"label": "Build UHK 80 left firmware",
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}"
},
"type": "process",
"command": "nrfutil",
"args": [
"toolchain-manager",
"launch",
"--shell",
"--",
"west",
"build",
"--build-dir",
"${cwd}/device/build/uhk-80-left",
"${cwd}/device",
"--pristine",
"--board",
"uhk-80-left",
"--no-sysbuild",
"--",
"-DNCS_TOOLCHAIN_VERSION=NONE",
"-DCONF_FILE=${cwd}/device/prj.conf",
"-DEXTRA_CONF_FILE=${cwd}/device/prj.conf.overlays/nrf_shared.conf;${cwd}/device/prj.conf.overlays/c2usb.conf;${cwd}/device/prj.conf.overlays/uhk-80.conf;${cwd}/device/prj.conf.overlays/ble_nus.conf",
"-DBOARD_ROOT=${cwd}",
"-Dmcuboot_OVERLAY_CONFIG=${cwd}/device/child_image/mcuboot.conf;${cwd}/device/child_image/uhk-80-left.mcuboot.conf"
],
"problemMatcher": [
"$gcc"
]
},
{
"label": "Build UHK 80 right firmware",
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}"
},
"type": "process",
"command": "nrfutil",
"args": [
"toolchain-manager",
"launch",
"--shell",
"--",
"west",
"build",
"--build-dir",
"${cwd}/device/build/uhk-80-right",
"${cwd}/device",
"--pristine",
"--board",
"uhk-80-right",
"--no-sysbuild",
"--",
"-DNCS_TOOLCHAIN_VERSION=NONE",
"-DCONF_FILE=${cwd}/device/prj.conf",
"-DEXTRA_CONF_FILE=${cwd}/device/prj.conf.overlays/nrf_shared.conf;${cwd}/device/prj.conf.overlays/c2usb.conf;${cwd}/device/prj.conf.overlays/uhk-80.conf;${cwd}/device/prj.conf.overlays/ble_nus.conf;${cwd}/device/prj.conf.overlays/ble_nus_client.conf;${cwd}/device/prj.conf.overlays/ble_hid.conf",
"-DBOARD_ROOT=${cwd}",
"-Dmcuboot_OVERLAY_CONFIG=${cwd}/device/child_image/mcuboot.conf;${cwd}/device/child_image/uhk-80-right.mcuboot.conf"
],
"problemMatcher": [
"$gcc"
]
},
{
"label": "Build UHK dongle firmware",
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}"
},
"type": "process",
"command": "nrfutil",
"args": [
"toolchain-manager",
"launch",
"--shell",
"--",
"west",
"build",
"--build-dir",
"${cwd}/device/build/uhk-dongle",
"${cwd}/device",
"--pristine",
"--board",
"uhk-dongle",
"--no-sysbuild",
"--",
"-DNCS_TOOLCHAIN_VERSION=NONE",
"-DCONF_FILE=${cwd}/device/prj.conf",
"-DEXTRA_CONF_FILE=${cwd}/device/prj.conf.overlays/nrf_shared.conf;${cwd}/device/prj.conf.overlays/c2usb.conf;${cwd}/device/prj.conf.overlays/ble_nus_client.conf",
"-DBOARD_ROOT=${cwd}",
"-Dmcuboot_OVERLAY_CONFIG=${cwd}/device/child_image/mcuboot.conf;${cwd}/device/child_image/uhk-dongle.mcuboot.conf"
],
"problemMatcher": [
"$gcc"
]
}
]
}
}
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
The format is loosely based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to the [UHK Versioning](VERSIONING.md) conventions.

## [12.0.1] - 2024-12-18

Device Protocol: 4.11.0 | Module Protocol: 4.3.0 | User Config: 8.3.0 | Hardware Config: 1.0.0 | Smart Macros: 3.0.0

- Fix left half dissapearing in Agent.
- Fix spurious loads of default module mappings.
- Fix touchpad gestures.

## [12.0.0] - 2024-12-15

Device Protocol: 4.**11.0** | Module Protocol: 4.3.0 | User Config: **8.3.0** | Hardware Config: 1.0.0 | Smart Macros: **3.0.0**
Expand All @@ -14,6 +22,7 @@ Device Protocol: 4.**11.0** | Module Protocol: 4.3.0 | User Config: **8.3.0** |
- The key ids have been changed to be more consistent with the UHK 80 and future keyboards. This means that old numeric key ids need to be migrated, ideally to key id abbreviations. Otherwise, for instance, `ifGesture 21 holdKey a` will be triggered by `h`, where formerly it used to be triggered by `j`. `SMARTMACROS:MAJOR`
- Key id abbreviations for UHK 80 have been added. Previous key id abbreviations remain the same and are universal for both the UHK 80 and UHK 60 v1/v2. `SMARTMACROS:MINOR`
- New `powerMode` macro command and battery-related `leds.*` fade timeout variables. `SMARTMACROS:MINOR`
- Implement high resolution scrolling for the UHK 60 v1 and UHK 60 v2.

## [11.2.0] - 2024-10-06

Expand Down
25 changes: 25 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
cmake_minimum_required(VERSION 3.20)

# until https://github.com/zephyrproject-rtos/zephyr/pull/69490 is merged
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

# zephyr's build system doesn't define standard build type symbols, fix that here
if(NOT CONFIG_DEBUG)
add_definitions(-DNDEBUG)
endif()

if(NOT CONFIG_DEVICE_ID)
# uhk code isn't added to bootloader
return()
endif()

project(uhk)
add_library(${PROJECT_NAME})
target_link_libraries(${PROJECT_NAME} PUBLIC
zephyr_interface
)
add_subdirectory(device/src)
add_subdirectory(right/src)
add_subdirectory(shared)
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ void LedDriver_WriteBuffer(uint8_t i2cAddress, uint8_t buffer[], uint8_t size);

## Semantics

The build process must not yield any warnings, and the build must pass [on on the current CI build platform](https://cloud.drone.io/UltimateHackingKeyboard/firmware).
The build process must not yield any warnings, and the build must pass on on the current CI build platform.

## Clang format

Expand Down
Loading

0 comments on commit e7bf227

Please sign in to comment.