summaryrefslogtreecommitdiff
path: root/.devcontainer/README.md
diff options
context:
space:
mode:
authorKieran Cawthray <kieranc@gmail.com>2021-08-12 19:26:51 (GMT)
committerKieran Cawthray <kieranc@gmail.com>2021-08-12 19:26:51 (GMT)
commit52ee25e551f506cdaadfb6a62feda1d2aaa8497b (patch)
tree6c5abc74c56400d222c105b9826fd5e58d3ce522 /.devcontainer/README.md
parent12aeb4688923a06d574b7aa7262626e7eab5b7f1 (diff)
parent643077341b14a52819cbaf02abbd5fb56cdeb802 (diff)
Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker
Diffstat (limited to '.devcontainer/README.md')
-rw-r--r--.devcontainer/README.md60
1 files changed, 60 insertions, 0 deletions
diff --git a/.devcontainer/README.md b/.devcontainer/README.md
new file mode 100644
index 0000000..1932a9d
--- /dev/null
+++ b/.devcontainer/README.md
@@ -0,0 +1,60 @@
+# VS Code Dev Container
+This is a docker-based interactive development environment using VS Code and Docker Dev Containers removing the need to install any tools locally*
+
+
+
+## Requirements
+
+- VS Code
+ - [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension
+- Docker
+- OpenOCD - For debugging
+
+## Using
+
+### Code editing, and building.
+
+1. Clone InfiniTime and update submodules
+2. Launch VS Code
+3. Open InfiniTime directory,
+4. Allow VS Code to open folder with devcontainer.
+
+After this the environment will be built if you do not currently have a container setup, it will install all the necessary tools and extra VSCode extensions.
+
+In order to build InfiniTime we need to run the initial submodule init and CMake commands.
+
+#### Manually
+
+ You can use the VS Code terminal to run the CMake commands as outlined in the [build instructions](blob/develop/doc/buildAndProgram.md)
+
+#### Script
+
+The dev environment comes with some scripts to make this easier, They are located in /opt/.
+
+There are also VS Code tasks provided should you desire to use those.
+
+The task "update submodules" will update the git submodules
+
+
+
+### Build
+
+You can use the build.sh script located in /opt/
+
+CMake is also configured and controls for the CMake plugin are available in VS Code
+
+
+
+### Debugging
+
+Docker on windows does not support passing USB devices to the underlying WSL2 subsystem, To get around this we use OpenOCD in server mode running on the host.
+
+`openocd -f <yourinterface> -f <nrf52.cfg target file>`
+
+This will launch OpenOCD in server mode and attach it to the MCU.
+
+The default launch.json file expects OpenOCD to be listening on port 3333, edit if needed
+
+
+## Current Issues
+Currently WSL2 Has some real performance issues with IO on a windows host. Accessing files on the virtualized filesystem is much faster. Using VS Codes "clone in container" feature of the Remote - Containers will get around this. After the container is built you will need to update the submodules and follow the build instructions like normal \ No newline at end of file