summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/docs/assets/dev-setup/vscode_devcontainer.pngbin0 -> 20773 bytes
-rw-r--r--docs/docs/assets/troubleshooting/filetransfer/mac.pngbin0 -> 26499 bytes
-rw-r--r--docs/docs/behavior/bluetooth.md4
-rw-r--r--docs/docs/bond-reset.md4
-rw-r--r--docs/docs/dev-build.md13
-rw-r--r--docs/docs/dev-clean-room.md6
-rw-r--r--docs/docs/dev-guide-new-shield.md10
-rw-r--r--docs/docs/dev-setup.md189
-rw-r--r--docs/docs/feature/encoders.md2
-rw-r--r--docs/docs/hardware.md2
-rw-r--r--docs/docs/troubleshooting.md21
-rw-r--r--docs/sidebars.js1
-rw-r--r--docs/static/setup.ps110
-rw-r--r--docs/static/setup.sh7
14 files changed, 195 insertions, 74 deletions
diff --git a/docs/docs/assets/dev-setup/vscode_devcontainer.png b/docs/docs/assets/dev-setup/vscode_devcontainer.png
new file mode 100644
index 0000000..e5c22b0
--- /dev/null
+++ b/docs/docs/assets/dev-setup/vscode_devcontainer.png
Binary files differ
diff --git a/docs/docs/assets/troubleshooting/filetransfer/mac.png b/docs/docs/assets/troubleshooting/filetransfer/mac.png
new file mode 100644
index 0000000..f28ca8d
--- /dev/null
+++ b/docs/docs/assets/troubleshooting/filetransfer/mac.png
Binary files differ
diff --git a/docs/docs/behavior/bluetooth.md b/docs/docs/behavior/bluetooth.md
index f802a9a..be0fb23 100644
--- a/docs/docs/behavior/bluetooth.md
+++ b/docs/docs/behavior/bluetooth.md
@@ -24,7 +24,7 @@ Here is a table describing the command for each define:
| Define | Action |
| ------------ | ---------------------------------------------------------------------------------------------- |
-| `BT_CLR_CMD` | Clear bond information between the keyboard and host for the selected profile [^1] |
+| `BT_CLR_CMD` | Clear bond information between the keyboard and host for the selected profile. |
| `BT_NXT_CMD` | Switch to the next profile, cycling through to the first one when the end is reached. |
| `BT_PRV_CMD` | Switch to the previous profile, cycling through to the last one when the beginning is reached. |
| `BT_SEL_CMD` | Select the 0-indexed profile by number. |
@@ -66,7 +66,7 @@ The bluetooth behavior completes an bluetooth action given on press.
1. Behavior binding to select the previous profile:
```
- &bt BT_NXT
+ &bt BT_PRV
```
1. Behavior binding to select the 2nd profile (passed parameters are [zero based](https://en.wikipedia.org/wiki/Zero-based_numbering)):
diff --git a/docs/docs/bond-reset.md b/docs/docs/bond-reset.md
index 1ba79ee..504fd72 100644
--- a/docs/docs/bond-reset.md
+++ b/docs/docs/bond-reset.md
@@ -1,7 +1,7 @@
---
id: bond-reset
-title: Reset BLE Connections
-sidebar_label: BLE Reset
+title: Reset BLE Connections (DEPRECATED)
+sidebar_label: BLE Reset (DEPRECATED)
---
Known as a 'bond reset', each keyboard has a special key combination independent of the user defined key map which will
diff --git a/docs/docs/dev-build.md b/docs/docs/dev-build.md
index 816468e..83ed8cb 100644
--- a/docs/docs/dev-build.md
+++ b/docs/docs/dev-build.md
@@ -84,6 +84,19 @@ west build -d build/right -b nice_nano -- -DSHIELD=kyria_right
```
This produces `left` and `right` subfolders under the `build` directory and two separate .uf2 files. For future work on a specific half, use the `-d` parameter again to ensure you are building into the correct location.
+### Building from `zmk-config` Folder
+
+Instead of building .uf2 files using the default keymap and config files, you can build directly from your [`zmk-config` folder](user-setup#github-repo) by adding
+`-DZMK_CONFIG="C:/the/absolute/path/config"` to your `west build` command. **Notice that this path should point to the folder labelled `config` within your `zmk-config` folder.**
+
+
+For instance, building kyria firmware from a user `myUser`'s `zmk-config` folder on Windows 10 may look something like this:
+
+```
+west build -b nice_nano -- -DSHIELD=kyria_left -DZMK_CONFIG="C:/Users/myUser/Documents/Github/zmk-config/config"
+```
+
+
## Flashing
Once built, the previously supplied parameters will be remembered so you can run the following to flash your
diff --git a/docs/docs/dev-clean-room.md b/docs/docs/dev-clean-room.md
index c11171c..2f301ec 100644
--- a/docs/docs/dev-clean-room.md
+++ b/docs/docs/dev-clean-room.md
@@ -6,7 +6,7 @@ sidebar_label: Clean Room
:::warning
-Anyone wanting to contribute code to ZMK _must_ read this, and adhere to the steps outlines in order to not violate any licenses/copyright of other projects
+Anyone wanting to contribute code to ZMK _MUST_ read this, and adhere to the steps outlines in order to not violate any licenses/copyright of other projects
:::
@@ -22,8 +22,8 @@ or duplicating any of the GPL code found in those other projects, even though th
Contributors to ZMK must adhere to the following standard.
-- Implementations of features for ZMK _MUST_ not reuse any existing code from any projects not licensed with the MIT license.
-- Contributors _MUST_ not study or refer to any GPL licensed source code while working on ZMK.
+- Implementations of features for ZMK _MUST NOT_ reuse any existing code from any projects not licensed with the MIT license.
+- Contributors _MUST NOT_ study or refer to any GPL licensed source code while working on ZMK.
- Contributors _MAY_ read the documentation from other GPL licensed projects, to gain a broad understanding of the behavior of certain features in order to implement equivalent features for ZMK.
- Contributors _MAY_ refer to the [QMK Configurator](https://config.qmk.fm/) to inspect existing layouts/keymaps for
keyboards, and re-implement them for ZMK.
diff --git a/docs/docs/dev-guide-new-shield.md b/docs/docs/dev-guide-new-shield.md
index 01aad30..1ba572c 100644
--- a/docs/docs/dev-guide-new-shield.md
+++ b/docs/docs/dev-guide-new-shield.md
@@ -238,7 +238,6 @@ If building locally for split boards, you may need to add these lines to the spe
<TabItem value = "dtsi">
In your device tree file you will need to add the following lines to define the encoder sensor:
-
```
left_encoder: encoder_left {
compatible = "alps,ec11";
@@ -248,6 +247,7 @@ left_encoder: encoder_left {
resolution = <4>;
};
```
+
Here you will have to replace PIN_A and PIN_B with the appropriate pins that your PCB utilizes for the encoder(s). For keyboards that use the Pro Micro or any of the Pro Micro replacements, Sparkfun's [Pro Micro Hookup Guide](https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/hardware-overview-pro-micro) has a pinout diagram that can be useful to determine the right pins. Reference either the blue numbers labeled "Arduino" (digital pins) or the green numbers labeled "Analog" (analog pins). For pins that are labeled as both digital and analog, refer to your specific board's .dtsi file to determine how you should refer to that pin.
Add additional encoders as necessary by duplicating the above lines, replacing `left` with whatever you would like to call your encoder, and updating the pins. Note that support for peripheral (right) side sensors over BLE is still in progress.
@@ -279,12 +279,15 @@ For split keyboards, make sure to add left hand encoders to the left .overlay fi
</TabItem>
<TabItem value = "keymap">
-Add the following line to your keymap file to add default encoder behavior bindings:
+Add the following line to each layer of your keymap file to add default encoder behavior bindings:
```
sensor-bindings = <&inc_dec_cp M_VOLU M_VOLD>;
```
-Add additional bindings as necessary to match the default number of encoders on your board. See the [Encoders](/docs/feature/encoders) and [Keymap](/docs/feature/keymaps) feature documentation for more details.
+
+This should be placed after the regular key bindings but within the layer (see the [Default Keymap section](/docs/dev-guide-new-shield#default-keymap) above for an example of where).
+
+Add additional bindings as necessary to match the default number of encoders on your board. Details on the syntax can be found in the [Encoders](/docs/feature/encoders) and [Keymap](/docs/feature/keymaps) feature documentation.
</TabItem>
</Tabs>
@@ -333,6 +336,7 @@ jobs:
- board: proton_c
shield: clueboard_california
```
+
:::note
Notice that both the left and right halves of a split board need to be added to the list of shields for proper error checking.
:::note
diff --git a/docs/docs/dev-setup.md b/docs/docs/dev-setup.md
index 1d7d703..114fe0b 100644
--- a/docs/docs/dev-setup.md
+++ b/docs/docs/dev-setup.md
@@ -12,16 +12,17 @@ groupId="operating-systems"
defaultValue="debian"
values={[
{label: 'Debian/Ubuntu', value: 'debian'},
-{label: 'Raspberry OS', value: 'raspberryos'},
-{label: 'Fedora', value: 'fedora'},
{label: 'Windows', value: 'win'},
{label: 'macOS', value: 'mac'},
+{label: 'Raspberry OS', value: 'raspberryos'},
+{label: 'Fedora', value: 'fedora'},
+{label: 'VS Code & Docker', value: 'docker'},
]
}>{props.children}</Tabs>);
## Prerequisites
-A unix-like environment with the following base packages installed:
+ZMK requires the following base packages to first be installed:
- Git
- Python 3
@@ -34,6 +35,7 @@ A unix-like environment with the following base packages installed:
<OsTabs>
<TabItem value="debian">
+
On Debian and Ubuntu, we'll use `apt` to install our base dependencies:
First, if you haven't updated recently, or if this is a new install,
@@ -74,7 +76,8 @@ or download and install CMake version 3.13.1 or newer manually.
:::
</TabItem>
<TabItem value="raspberryos">
-On Raspberry OS, we'll use apt to install our base dependencies:
+
+On Raspberry OS, we'll use `apt` to install our base dependencies:
First, if you haven't updated recently, or if this is a new install,
you should update to get the latest package information:
@@ -177,6 +180,20 @@ brew install cmake ninja python3 ccache dtc git wget
```
</TabItem>
+<TabItem value="docker">
+
+This setup leverages the same [image which is used by the GitHub action](https://github.com/zmkfirmware/zephyr-west-action) for local development. Beyond the benefits of [dev/prod parity](https://12factor.net/dev-prod-parity), this approach is also the easiest to set up. No toolchain or dependencies are necessary when using Docker; the container image you'll be using already has the toolchain installed and set up to use.
+
+
+1. Install [Docker Desktop](https://www.docker.com/products/docker-desktop) for your operating system.
+2. Install [VS Code](https://code.visualstudio.com/)
+3. Install the [Remote - Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
+
+:::info
+The docker container includes `west` and the compilation toolchain. If you're using docker and VS Code, you can skip right to [Source Code](#source-code).
+:::
+
+</TabItem>
</OsTabs>
## Setup
@@ -185,14 +202,40 @@ brew install cmake ninja python3 ccache dtc git wget
`west` is the [Zephyr™ meta-tool](https://docs.zephyrproject.org/2.3.0/guides/west/index.html) used to configure and build Zephyr™ applications.
-West can be installed by using the `pip` python package manager.
+West can be installed by using the `pip` python package manager. The [Zephyr™ instructions](https://docs.zephyrproject.org/latest/guides/west/install.html#installing-west) are summarized here:
+
+<Tabs
+defaultValue="linux"
+values={[
+{label: 'Linux', value: 'linux'},
+{label: 'Windows', value: 'win'},
+]}>
+<TabItem value = 'linux'>
```sh
pip3 install --user -U west
```
-:::danger pip user packages
-If you haven't done so yet, you may need to add the Python Pip user package directory to your `PATH` otherwise your computer will not be able to find the `west` command.
+</TabItem>
+<TabItem value = 'win'>
+
+In `cmd.exe` as **Administrator**:
+
+```sh
+pip3 install -U west
+```
+
+:::note
+**For Windows, do not use the `--user` argument** that Linux uses otherwise `west` will be installed in a different location and the below instructions for adding Python `pip` will no longer apply.
+:::
+
+Once `west` is installed, close Command Prompt and open a new session as a **user** for the remainder of the instructions.
+
+</TabItem>
+</Tabs>
+
+:::danger `pip` user packages
+If you haven't done so yet, you may need to add the Python `pip` package directory to your `PATH` otherwise your computer will not be able to find the `west` command.
:::
<Tabs
@@ -213,7 +256,8 @@ source ~/.bashrc
<TabItem value = 'win'>
1. See the [Environment Variables](#environment-variables) section on how to get to the Environment Variables page.
-3. Click "Edit..." and then "New" to add the directory where your west.exe is located. By default this should be something like `C:\Python38\Scripts`.
+2. Under "System variables" select the "Path" variable. Click "Edit..." and then "New" to add the directory where your `west.exe` is located. By default this should be `C:\Python##\Scripts` where ## is your Python version number.
+3. Close Command Prompt and open a new session for the changes to take effect, or run `refreshenv`.
</TabItem>
</Tabs>
@@ -279,7 +323,7 @@ The installation will prompt with several questions about installation location,
#### GNU ARM Embedded
-Since the Zephyr™ SDK is not available for Windows, we recommending following the steps to install the [GNU ARM Embedded](https://docs.zephyrproject.org/2.3.0/getting_started/toolchain_3rd_party_x_compilers.html#gnu-arm-embedded).
+Since the Zephyr™ SDK is not available for Windows, we recommending following the [Zephyr documentation](https://docs.zephyrproject.org/2.3.0/getting_started/toolchain_3rd_party_x_compilers.html#gnu-arm-embedded) to install a GNU ARM Embedded build. Note the warnings regarding installing the toolchain into a path with spaces, and make sure to follow the steps to add the environment variables which are also summarized with screenshots in the [Environment Variables](#environment-variables) section below.
</TabItem>
<TabItem value="mac">
@@ -308,7 +352,7 @@ The transient instructions must be run to build firmware using the current shell
### Source Code
-Next, you'll need to clone the ZMK source repository if you haven't already:
+Next, you'll need to clone the ZMK source repository if you haven't already. Navigate to the folder you would like to place your `zmk` directory in and run the following command:
```
git clone https://github.com/zmkfirmware/zmk.git
@@ -320,12 +364,63 @@ Since ZMK is built as a Zephyr™ application, the next step is
to use `west` to initialize and update your workspace. The ZMK
Zephyr™ application is in the `app/` source directory:
+
#### Step into the repository
+<OsTabs>
+<TabItem value="debian">
+
+```sh
+cd zmk
+```
+
+</TabItem>
+<TabItem value="raspberryos">
+
+```sh
+cd zmk
+```
+
+</TabItem>
+<TabItem value="fedora">
+
+```sh
+cd zmk
+```
+
+</TabItem>
+<TabItem value="mac">
+
```sh
cd zmk
```
+</TabItem>
+<TabItem value="win">
+
+```sh
+cd zmk
+```
+
+</TabItem>
+
+<TabItem value="docker">
+
+Open the `zmk` checkout folder in VS Code. The repository includes a configuration for containerized development, so an alert will pop up:
+
+![VS Code Dev Container Configuration Alert](assets/dev-setup/vscode_devcontainer.png)
+
+Click `Reopen in Container` in order to reopen the VS Code with the running container.
+
+The first time you do this on your machine, it will pull the docker image down from the registry and build the container. Subsequent launches are much faster!
+
+:::caution
+All subsequent steps must be performed from the VS Code terminal _inside_ the container.
+:::
+
+</TabItem>
+</OsTabs>
+
#### Initialize West
```sh
@@ -344,6 +439,17 @@ section again for links to how to do this
west update
```
+:::tip
+This step pulls down quite a bit of tooling. Go grab a cup of coffee, it can take 10-15 minutes even on a good internet connection!
+:::
+
+:::info
+If you're using Docker, you're done with setup! You must restart the container at this point. The easiest way to do so is to close the VS Code window, verify that the container has stopped in Docker Dashboard, and reopen the container with VS Code.
+
+Once your container is restarted, proceed to [Building and Flashing](./dev-build.md).
+:::
+
+
#### Export Zephyr™ Core
```sh
@@ -358,12 +464,17 @@ pip3 install --user -r zephyr/scripts/requirements-base.txt
### Environment Variables
-#### For GNU ARM Embedded on Windows
+<Tabs
+defaultValue="win"
+values={[
+{label: 'Windows', value: 'win'},
+{label: 'Other OS', value: 'other'},
+]}>
+<TabItem value = 'win'>
-On Windows, you will have to set two environment variables for ZMK to build properly: `ZEPHYR_TOOLCHAIN_VARIANT` and `GNUARMEMB_TOOLCHAIN_PATH`.
+#### For GNU ARM Embedded on Windows
-<details>
-<summary> Steps to Update Environment Variables </summary>
+On Windows, only two environment variables need to be set for ZMK to build properly: `ZEPHYR_TOOLCHAIN_VARIANT` and `GNUARMEMB_TOOLCHAIN_PATH`.
1. Open Start Menu and type 'env' to find the 'Edit the system environment variables' option. Open it.
@@ -381,11 +492,15 @@ On Windows, you will have to set two environment variables for ZMK to build prop
![Adding Zephyr toolchain variable](assets/env-var/zephyr_toolchain.png)
-5. Create another variable with variable name 'GNUARMEMB_TOOLCHAIN_PATH' and value set to wherever you installed your toolchain. Click OK to save.
+5. Create another variable with variable name 'GNUARMEMB_TOOLCHAIN_PATH' and value set to wherever you installed your toolchain. **Make sure this path does not contain any spaces.** If it does, rename the folder and update here. Click OK to save.
![Adding GNUARMEMB variable](assets/env-var/gnuarmemb.png)
-</details>
+6. Close Command Prompt and reopen, or run `refreshenv` to apply the changes.
+
+</TabItem>
+
+<TabItem value = 'other'>
#### For Zephyr
@@ -396,48 +511,10 @@ We suggest two main [options](https://docs.zephyrproject.org/2.3.0/guides/env_va
To load the Zephyr environment properly for just one transient shell, run the following from your ZMK checkout directory:
-<OsTabs>
-<TabItem value="debian">
-
-```
-source zephyr/zephyr-env.sh
-```
-
-</TabItem>
-
-<TabItem value="raspberryos">
-
-```
-source zephyr/zephyr-env.sh
-```
-
-</TabItem>
-
-<TabItem value="fedora">
-
-```
-source zephyr/zephyr-env.sh
-```
-
-</TabItem>
-
-<TabItem value="mac">
-
```
source zephyr/zephyr-env.sh
```
-</TabItem>
-
-<TabItem value="win">
-
-```
-source zephyr/zephyr-env.cmd
-```
-
-</TabItem>
-</OsTabs>
-
##### All Shells
To load the environment variables for your shell every time,
@@ -469,3 +546,7 @@ cat ~/.zephyrrc >> ~/.zshrc
</TabItem>
</Tabs>
+
+</TabItem>
+
+</Tabs>
diff --git a/docs/docs/feature/encoders.md b/docs/docs/feature/encoders.md
index 38ff9d3..9caccc2 100644
--- a/docs/docs/feature/encoders.md
+++ b/docs/docs/feature/encoders.md
@@ -41,4 +41,4 @@ Here, the left encoder is configured to control volume up and down while the rig
## Adding Encoder Support
-See the [New Keyboard Shield](/docs/dev-guide-new-shield) documentation for how to add or modify additional encoders to your shield.
+See the [New Keyboard Shield](/docs/dev-guide-new-shield#encoders) documentation for how to add or modify additional encoders to your shield.
diff --git a/docs/docs/hardware.md b/docs/docs/hardware.md
index 236aa97..faac57c 100644
--- a/docs/docs/hardware.md
+++ b/docs/docs/hardware.md
@@ -16,7 +16,7 @@ That being said, there are currently only a few specific [boards](/docs/faq#what
## Boards
-- [nice!nano](https://docs.nicekeyboards.com/#/nice!nano/) (`nice_nano`)
+- [nice!nano](https://nicekeyboards.com/products/nice-nano-v1-0) (`nice_nano`)
- [nrfMicro](https://github.com/joric/nrfmicro) (`nrfmicro_13`, `nrfmicro_11`, `nrfmicro_11_flipped`)
- [BlueMicro840](https://store.jpconstantineau.com/#/group/bluemicro) (`bluemicro840_v1`)
- [QMK Proton-C](https://qmk.fm/proton-c/) (`proton_c`)
diff --git a/docs/docs/troubleshooting.md b/docs/docs/troubleshooting.md
index deb89b6..36682e7 100644
--- a/docs/docs/troubleshooting.md
+++ b/docs/docs/troubleshooting.md
@@ -19,6 +19,10 @@ Variations of the warnings shown below occur when flashing the `<firmware>.uf2`
| :-------------------------------------------------------------------------------: |
| An example of the file transfer error on Linux |
+| ![Example Error Screen](../docs/assets/troubleshooting/filetransfer/mac.png) |
+| :-------------------------------------------------------------------------------: |
+| An example of the file transfer error on MacOS |
+
### CMake Error
@@ -59,3 +63,20 @@ After opening the `<board>.dts.pre.tmp:<line number>` and scrolling down to the
| ![Healthy Keymap Temp](../docs/assets/troubleshooting/keymaps/healthyEDIT.png) |
| :-------------------------------------------------------------------------------: |
| A properly defined keymap with successful compilation. As shown in red, the corrected keycode (`&kp SPC`) references the proper Usage ID defined in the [USB HID Usage Tables](https://www.usb.org/document-library/hid-usage-tables-12)|
+
+### Split Keyboard Halves Unable to Pair
+
+Previously, pairing split keyboard halves involved a **BLE Reset** via a combination of held keys that removed all bluetooth profile information from the keyboard.
+Since then, a much simpler procedure of performing a bluetooth reset for split keyboards has come about, without the need for any file modification:
+
+**New Procedure:**
+
+1. Log into Github and download the "settings clear" UF2 image from the [latest build in Github Actions](https://github.com/zmkfirmware/zmk/actions?query=workflow%3ABuild+branch%3Amain)
+1. Put each half of the split keyboard into bootloader mode
+1. Flash one of the halves of the split with the "settings clear" UF2 image from step 1. Immediately after flashing "settings clear" to the chosen half, immediately put it into bootloader mode
+to avoid accidental bonding between the halves.
+1. Repeat step 3 with the other half of the split keyboard
+1. Flash the actual image for each half of the split keyboard (e.g `my_board_left.uf2` to the left half, `my_board_right.uf2` to the right half)
+
+After completing these steps, pair the halves of the split keyboard together by resetting them at the same time. Most commonly, this is done by grounding the reset pins
+for each of your keyboard's microcontrollers or pressing the reset buttons at the same time. \ No newline at end of file
diff --git a/docs/sidebars.js b/docs/sidebars.js
index ace7fa1..93ce226 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -6,7 +6,6 @@ module.exports = {
"faq",
"user-setup",
"customization",
- "bond-reset",
"troubleshooting"
],
Features: [
diff --git a/docs/static/setup.ps1 b/docs/static/setup.ps1
index 3946e66..abdb698 100644
--- a/docs/static/setup.ps1
+++ b/docs/static/setup.ps1
@@ -63,8 +63,8 @@ $repo_path = "https://github.com/zmkfirmware/zmk-config-split-template.git"
$title = "ZMK Config Setup:"
$prompt = "Pick an MCU board"
-$options = "nice!nano", "QMK Proton-C", "BlueMicro840 (v1)"
-$boards = "nice_nano", "proton_c", "bluemicro840_v1"
+$options = "nice!nano", "QMK Proton-C", "BlueMicro840 (v1)", "makerdiary nRF52840 M.2"
+$boards = "nice_nano", "proton_c", "bluemicro840_v1", "nrf52840_m2"
Write-Host "$title"
Write-Host ""
@@ -78,9 +78,9 @@ Write-Host "Keyboard Shield Selection:"
$prompt = "Pick a keyboard"
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
-$options = "Kyria", "Lily58", "Corne", "Splitreus62", "Sofle", "Iris", "RoMac"
-$names = "kyria", "lily58", "corne", "splitreus62", "sofle", "iris", "romac"
-$splits = "y", "y", "y", "y", "y", "y", "n"
+$options = "Kyria", "Lily58", "Corne", "Splitreus62", "Sofle", "Iris", "RoMac", "makerdiary M60", "Microdox"
+$names = "kyria", "lily58", "corne", "splitreus62", "sofle", "iris", "romac", "m60", "microdox"
+$splits = "y", "y", "y", "y", "y", "y", "n", "n", "y"
$choice = Get-Choice-From-Options -Options $options -Prompt $prompt
$shield_title = $($options[$choice])
diff --git a/docs/static/setup.sh b/docs/static/setup.sh
index 5bf3645..49ed3eb 100644
--- a/docs/static/setup.sh
+++ b/docs/static/setup.sh
@@ -26,7 +26,7 @@ repo_path="https://github.com/zmkfirmware/zmk-config-split-template.git"
title="ZMK Config Setup:"
prompt="Pick an MCU board:"
-options=("nice!nano" "QMK Proton-C" "BlueMicro840 (v1)")
+options=("nice!nano" "QMK Proton-C" "BlueMicro840 (v1)" "makerdiary nRF52840 M.2")
echo "$title"
echo ""
@@ -39,6 +39,7 @@ select opt in "${options[@]}" "Quit"; do
1 ) board="nice_nano"; break;;
2 ) board="proton_c"; break;;
3 ) board="bluemicro840_v1"; break;;
+ 3 ) board="nrf52840_m2"; break;;
$(( ${#options[@]}+1 )) ) echo "Goodbye!"; exit 1;;
*) echo "Invalid option. Try another one."; continue;;
@@ -50,7 +51,7 @@ echo ""
echo "Keyboard Shield Selection:"
prompt="Pick an keyboard:"
-options=("Kyria" "Lily58" "Corne" "Splitreus62" "Sofle" "Iris" "RoMac")
+options=("Kyria" "Lily58" "Corne" "Splitreus62" "Sofle" "Iris" "RoMac" "makerdiary M60" "Microdox")
PS3="$prompt "
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
@@ -66,6 +67,8 @@ select opt in "${options[@]}" "Quit"; do
5 ) shield_title="Sofle" shield="sofle"; split="y"; break;;
6 ) shield_title="Iris" shield="iris"; split="y"; break;;
7 ) shield_title="RoMac" shield="romac"; split="n"; break;;
+ 8 ) shield_title="M60" shield="m60"; split="n"; break;;
+ 9 ) shield_title="Microdox" shield="microdox"; split="y"; break;;
# Add link to docs on adding your own custom shield in your ZMK config!
# $(( ${#options[@]}+1 )) ) echo "Other!"; break;;