summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-20 14:28:06 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-20 14:28:06 +1000
commit7827873e16c3900c8492871e141780bafccb638d (patch)
treeb1067758fae220d74fed2e3083567d72d67549e0 /README.md
parent0ea358ab8157d743dc07f12bde5fb34d03a02522 (diff)
downloadtangara-fw-7827873e16c3900c8492871e141780bafccb638d.tar.gz
Freshed up building instructions, move to a better-named file.
Diffstat (limited to 'README.md')
-rw-r--r--README.md103
1 files changed, 0 insertions, 103 deletions
diff --git a/README.md b/README.md
deleted file mode 100644
index f5100e16..00000000
--- a/README.md
+++ /dev/null
@@ -1,103 +0,0 @@
-<!--
-Copyright 2023 jacqueline <me@jacqueline.id.au>
-
-SPDX-License-Identifier: CC0-1.0
--->
-
-# Building and flashing
-
-1. Make sure you've got all of the submodules in this repo correctly initialised;
-```
-git submodule update --init --recursive
-```
-
-2. If this is your first time setting up the repo, then you will need to install
-the ESP-IDF tools. You can consult the [ESP-IDF docs](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html)
-for more detailed instructions, but the TL;DR is that you'll want to run
-something like this:
-```
-./lib/esp-adf/esp-idf/install.sh esp32
-```
-
-3. As a final piece of setup, you will need to source the env file in this repo
-to correctly set up your environment for building.
-```
-. ./.env
-```
-**For VSCode:**
-
-When using the Espressif IDF extension, you may want to set the following in your settings.json file:
-```
- "idf.espAdfPath": "${workspaceFolder}/lib/esp-adf",
- "idf.espAdfPathWin": "${workspaceFolder}/lib/esp-adf",
- "idf.espIdfPath": "${workspaceFolder}/lib/esp-adf/esp-idf",
- "idf.espIdfPathWin": "${workspaceFolder}/lib/esp-adf/esp-idf"
-```
-
-4. You can now build the project using `idf.py build`. Or to flash the project
-onto your board, something like:
-```
-idf.py -p /dev/ttyUSB0 -b 115200 flash
-```
-(give or take the correct serial port)
-
-Remember that you will need to boot your ESP32 into software download mode
-before you will be able to flash.
-
-# Running tests
-
-Tests are implemented as a separate application build, located in the `test`
-directory. We use Catch2 as our test framework.
-
-To run them, navigate to the test directory, then build and flash as normal.
-Connect to your device via UART, and you will be presented with a terminal
-prompt that you may run tests from.
-
-To add new tests to a components, you must:
- 1. Create a `test` subcomponent within that component. See `drivers/test` for
- an example of this.
- 2. Include the component in the test build and list of testable components, in
- `test/CMakeLists.txt`.
-
-# clangd setup
-
-A regular build will generate `build/compile_commands.json`, which clangd will
-automatically pick up. However, there are a couple of additional steps to get
-everything to place nicely.
-
-First, you will need to download the xtensa clang toolchain. You can do this
-via ESP-IDF by running `idf_tools.py install xtensa-clang`
-
-This will install their prebuild clang into a path like `~/.espressif/tools/xtensa-clang/VERSION/xtensa-esp32-elf-clang/`
-
-Next, you will need to configure clangd to use this version of clang, plus
-forcible remove a couple of GCC-specific build flags. Do this by creating
-`.clangd` in the root directory of your project, with contents like so:
-
-```
-CompileFlags:
- Add: [
- -ferror-limit=0,
- -I/Users/YOU/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/include,
- -I/Users/YOU/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/include,
- -I/Users/YOU/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/8.4.0,
- -I/Users/YOU/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/include/c++/8.4.0/xtensa-esp32-elf,
- -isysroot=/Users/YOU/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch5-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf,
- ]
- Remove: [
- -Wduplicated-cond,
- -Wduplicated-branches,
- -Wlogical-op,
- -fno-tree-switch-conversion,
- -mtext-section-literals,
- -mlongcalls,
- -fstrict-volatile-bitfields,
- ]
- Compiler: /Users/YOU/.espressif/tools/xtensa-clang/esp-clang/bin/clang++
-```
-
-You should then get proper LSP integration via clangd, give or take a couple of
-oddities (e.g. for some reason, my install still can't see `stdio.h`. NBD tho.)
-
-Expect this integration to improve sometime in the near future, per [this forum
-thread](https://esp32.com/viewtopic.php?f=13&t=29563).