Merge remote-tracking branch 'upstream/main' into split_battery_service
This commit is contained in:
commit
8c4477c417
8 changed files with 37 additions and 14 deletions
19
.github/workflows/build-user-config.yml
vendored
19
.github/workflows/build-user-config.yml
vendored
|
@ -1,21 +1,21 @@
|
||||||
name: Reusable user config build
|
name: Reusable user config build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
inputs:
|
inputs:
|
||||||
build_matrix_path:
|
build_matrix_path:
|
||||||
description: 'Path to the build matrix file'
|
description: "Path to the build matrix file"
|
||||||
default: 'build.yaml'
|
default: "build.yaml"
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
config_path:
|
config_path:
|
||||||
description: 'Path to the config directory'
|
description: "Path to the config directory"
|
||||||
default: 'config'
|
default: "config"
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
fallback_binary:
|
fallback_binary:
|
||||||
description: 'Fallback binary format, if no *.uf2 file was built'
|
description: "Fallback binary format, if no *.uf2 file was built"
|
||||||
default: 'bin'
|
default: "bin"
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
|
||||||
|
@ -71,6 +71,7 @@ jobs:
|
||||||
|
|
||||||
- name: Cache west modules
|
- name: Cache west modules
|
||||||
uses: actions/cache@v3.0.1
|
uses: actions/cache@v3.0.1
|
||||||
|
continue-on-error: true
|
||||||
env:
|
env:
|
||||||
cache-name: cache-zephyr-${{ steps.variables.outputs.zephyr-version }}-modules
|
cache-name: cache-zephyr-${{ steps.variables.outputs.zephyr-version }}-modules
|
||||||
with:
|
with:
|
||||||
|
@ -101,7 +102,7 @@ jobs:
|
||||||
|
|
||||||
- name: ${{ steps.variables.outputs.display-name }} Kconfig file
|
- name: ${{ steps.variables.outputs.display-name }} Kconfig file
|
||||||
run: cat build/zephyr/.config | grep -v "^#" | grep -v "^$" | sort
|
run: cat build/zephyr/.config | grep -v "^#" | grep -v "^$" | sort
|
||||||
|
|
||||||
- name: Rename artifacts
|
- name: Rename artifacts
|
||||||
run: |
|
run: |
|
||||||
mkdir build/artifacts
|
mkdir build/artifacts
|
||||||
|
@ -112,7 +113,7 @@ jobs:
|
||||||
then
|
then
|
||||||
cp build/zephyr/zmk.${{ inputs.fallback_binary }} "build/artifacts/${{ steps.variables.outputs.artifact-name }}.${{ inputs.fallback_binary }}"
|
cp build/zephyr/zmk.${{ inputs.fallback_binary }} "build/artifacts/${{ steps.variables.outputs.artifact-name }}.${{ inputs.fallback_binary }}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Archive (${{ steps.variables.outputs.display-name }})
|
- name: Archive (${{ steps.variables.outputs.display-name }})
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
|
|
|
@ -88,6 +88,9 @@ if ZMK_USB
|
||||||
config USB_NUMOF_EP_WRITE_RETRIES
|
config USB_NUMOF_EP_WRITE_RETRIES
|
||||||
default 10
|
default 10
|
||||||
|
|
||||||
|
config USB_HID_POLL_INTERVAL_MS
|
||||||
|
default 1
|
||||||
|
|
||||||
#ZMK_USB
|
#ZMK_USB
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Customizing ZMK/`zmk-config` folders
|
title: Customizing ZMK/zmk-config folders
|
||||||
sidebar_label: Customizing ZMK
|
sidebar_label: Customizing ZMK
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,10 @@ sidebar_label: FAQs
|
||||||
|
|
||||||
As a best-in-class RTOS, Zephyr™ brings many [benefits](https://www.zephyrproject.org/benefits) to ZMK, such as:
|
As a best-in-class RTOS, Zephyr™ brings many [benefits](https://www.zephyrproject.org/benefits) to ZMK, such as:
|
||||||
|
|
||||||
- A _single_ platform [supporting](https://docs.zephyrproject.org/latest/boards) many architectures, processors and boards.
|
- A _single_ platform [supporting](https://docs.zephyrproject.org/latest/boards/index.html) many architectures, processors and boards.
|
||||||
- Optimization for low-powered, small memory footprint devices.
|
- Optimization for low-powered, small memory footprint devices.
|
||||||
- Powerful hardware abstraction and configuration using [DeviceTree](https://docs.zephyrproject.org/latest/guides/dts/index.html) and [Kconfig](https://docs.zephyrproject.org/latest/guides/kconfig/index.html).
|
- Powerful hardware abstraction and configuration using [DeviceTree](https://docs.zephyrproject.org/latest/guides/dts/index.html) and [Kconfig](https://docs.zephyrproject.org/latest/build/kconfig/index.html).
|
||||||
- A BLE stack that periodically obtains [qualification](https://docs.zephyrproject.org/latest/guides/bluetooth/bluetooth-qual.html) listings, making it easier for final products to obtain qualification from the Bluetooth® SIG.
|
- A BLE stack that periodically obtains [qualification](https://docs.zephyrproject.org/latest/connectivity/bluetooth/bluetooth-qual.html) listings, making it easier for final products to obtain qualification from the Bluetooth® SIG.
|
||||||
- Multi-processor support, which is critical for power efficiency in upcoming MCUs.
|
- Multi-processor support, which is critical for power efficiency in upcoming MCUs.
|
||||||
- Permissive licensing with its Apache 2.0 open source [license](https://www.apache.org/licenses/LICENSE-2.0).
|
- Permissive licensing with its Apache 2.0 open source [license](https://www.apache.org/licenses/LICENSE-2.0).
|
||||||
- A buzzing developer [community](https://github.com/zephyrproject-rtos/zephyr) including many leading [embedded technology](https://www.zephyrproject.org/project-members) companies.
|
- A buzzing developer [community](https://github.com/zephyrproject-rtos/zephyr) including many leading [embedded technology](https://www.zephyrproject.org/project-members) companies.
|
||||||
|
|
|
@ -25,7 +25,7 @@ Combos configured in your `.keymap` file, but are separate from the `keymap` nod
|
||||||
|
|
||||||
- The name of the combo doesn't really matter, but convention is to start the node name with `combo_`.
|
- The name of the combo doesn't really matter, but convention is to start the node name with `combo_`.
|
||||||
- The `compatible` property should always be `"zmk,combos"` for combos.
|
- The `compatible` property should always be `"zmk,combos"` for combos.
|
||||||
- `timeout-ms` is the number of milliseconds that all keys of the combo must be pressed.
|
- `timeout-ms` is the length of the window (in milliseconds) in which all keys of the combo must be pressed in order to successfully trigger the combo.
|
||||||
- `key-positions` is an array of key positions. See the info section below about how to figure out the positions on your board.
|
- `key-positions` is an array of key positions. See the info section below about how to figure out the positions on your board.
|
||||||
- `layers = <0 1...>` will allow limiting a combo to specific layers. This is an _optional_ parameter, when omitted it defaults to global scope.
|
- `layers = <0 1...>` will allow limiting a combo to specific layers. This is an _optional_ parameter, when omitted it defaults to global scope.
|
||||||
- `bindings` is the behavior that is activated when the behavior is pressed.
|
- `bindings` is the behavior that is activated when the behavior is pressed.
|
||||||
|
|
|
@ -30,6 +30,7 @@ function generateSetupScripts() {
|
||||||
if (item.features?.includes("keys")) {
|
if (item.features?.includes("keys")) {
|
||||||
agg.keyboards.push(item);
|
agg.keyboards.push(item);
|
||||||
} else {
|
} else {
|
||||||
|
item.usb_only = !item.outputs?.includes("ble");
|
||||||
agg.boards.push(item);
|
agg.boards.push(item);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -125,12 +125,23 @@ if ($keyboard_type -eq "shield") {
|
||||||
{{id}} = "{{{name}}}";
|
{{id}} = "{{{name}}}";
|
||||||
{{/boards}}
|
{{/boards}}
|
||||||
}
|
}
|
||||||
|
$boards_usb_only = [ordered]@{
|
||||||
|
{{#boards}}
|
||||||
|
{{id}} = "{{usb_only}}";
|
||||||
|
{{/boards}}
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host "$title"
|
Write-Host "$title"
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
Write-Host "MCU Board Selection:"
|
Write-Host "MCU Board Selection:"
|
||||||
|
|
||||||
$choice = Get-Choice-From-Options -Options $boards.values -Prompt $prompt
|
$choice = Get-Choice-From-Options -Options $boards.values -Prompt $prompt
|
||||||
|
|
||||||
|
if ($keyboard_split -eq "true" -and $($($boards_usb_only.values)[$choice]) -eq "true") {
|
||||||
|
Write-Host "Wired split is not yet supported by ZMK."
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
$shields = $keyboard_siblings
|
$shields = $keyboard_siblings
|
||||||
$board = $($($boards.keys)[$choice])
|
$board = $($($boards.keys)[$choice])
|
||||||
$boards = ( $board )
|
$boards = ( $board )
|
||||||
|
|
|
@ -120,6 +120,7 @@ if [ "$keyboard_shield" == "y" ]; then
|
||||||
prompt="Pick an MCU board:"
|
prompt="Pick an MCU board:"
|
||||||
options=({{#boards}}"{{{name}}}" {{/boards}})
|
options=({{#boards}}"{{{name}}}" {{/boards}})
|
||||||
board_ids=({{#boards}}"{{id}}" {{/boards}})
|
board_ids=({{#boards}}"{{id}}" {{/boards}})
|
||||||
|
boards_usb_only=({{#boards}}"{{#usb_only}}y{{/usb_only}}{{^usb_only}}n{{/usb_only}}" {{/boards}})
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "MCU Board Selection:"
|
echo "MCU Board Selection:"
|
||||||
|
@ -134,6 +135,12 @@ if [ "$keyboard_shield" == "y" ]; then
|
||||||
echo "Invalid option. Try another one."
|
echo "Invalid option. Try another one."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "${!keyboard_sibling_first}" ] && [ "${boards_usb_only[$board_index]}" = "y" ] ; then
|
||||||
|
echo "Wired split is not yet supported by ZMK."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
board_index=$(( $REPLY-1 ))
|
board_index=$(( $REPLY-1 ))
|
||||||
board=${board_ids[$board_index]}
|
board=${board_ids[$board_index]}
|
||||||
board_title=${options[$board_index]}
|
board_title=${options[$board_index]}
|
||||||
|
|
Loading…
Add table
Reference in a new issue