formatting and minor changes

This commit is contained in:
rcarteraz 2024-06-18 13:53:25 -07:00
parent fad3a940d1
commit 9cbea09e5c
6 changed files with 29 additions and 29 deletions

View file

@ -2,6 +2,7 @@
id: build
title: Building Meshtastic Firmware
sidebar_label: Building Firmware
sidebar_position: 2
---
Meshtastic uses [PlatformIO](https://platformio.org), a development environment that enables easy multi-platform development and centralized tooling.
@ -17,9 +18,9 @@ Meshtastic uses [PlatformIO](https://platformio.org), a development environment
```shell
cd firmware && git submodule update --init
```
:::info
If you want to build the RP2040 targets and get a 'Filename too long' error on Windows, please refer to [the Platformio documentation for this toolchain](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing)
:::
:::info
If you want to build the RP2040 targets and get a 'Filename too long' error on Windows, please refer to [the Platformio documentation for this toolchain](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing)
:::
## Build

View file

@ -2,29 +2,24 @@
id: nrf52-guide
title: Development Guide for nRF52
sidebar_label: NRF52 Guide
sidebar_position: 6
---
This document is a collection of tips and best practices for developing on the nRF52 platform.
It is intended to be a living document that will be updated as new information becomes available (please send in pull-requests on github).
This document is a collection of tips and best practices for developing on the nRF52 platform. It is designed to evolve continuously with the latest information, and contributions are welcome through pull requests on GitHub.
## Using the NanoDAP USB debugging probe
This is a Mini HOWTO on installing the appropriate firmware and adapter software, it is loosely based on [this](https://docs.rakwireless.com/Product-Categories/Accessories/RAKDAP1-Flash-and-Debug-Tool/Quickstart/#rak4600-evaluation-board) tutorial by RAK.
This is a mini-HOWTO on installing the appropriate firmware and adapter software, it is loosely based on [this tutorial by RAK](https://docs.rakwireless.com/Product-Categories/Accessories/RAKDAP1-Flash-and-Debug-Tool/Quickstart/#rak4600-evaluation-board).
### Required hardware
The [RAKDAP1/NanoDAP](https://store.rakwireless.com/products/daplink-tool) is a very reasonably priced (10$) USB based debugging probe.
It can be used on many ARM targets, but it is particularly suited for the nRF52 CPUs. It seems to be based on the
ARM [daplink](https://daplink.io/) [project](https://github.com/ARMmbed/DAPLink). Of this project seems to be [here](https://github.com/wuxx/nanoDAP). The fork is fairly
old wrt the latest daplink goodness, but it seems fine.
If you are looking to buy a probe, there are many other daplink based devices out there. I suspect they are mostly identical. If you find one that works well please
add a note to this document.
The [RAKDAP1/NanoDAP](https://store.rakwireless.com/products/daplink-tool) is a very reasonably priced ($10) USB-based debugging probe. It can be used on many ARM targets but is particularly suited for the nRF52 CPUs. It seems to be based on the ARM [daplink](https://daplink.io/) [project](https://github.com/ARMmbed/DAPLink). The fork of this project is located here: [nanoDAP](https://github.com/wuxx/nanoDAP). The fork is fairly old with respect to the latest daplink goodness, but it seems fine.
If you are looking to buy a probe, there are many other daplink-based devices available. They are suspected to be mostly identical. If you find one that works well, please add a note to this document.
### Required software
You'll need to install the [pyocd](https://pyocd.io/) application to allow VSCode to talk to the NanoDAP. You first install the tool itself but then must add the
support files for the nrf52840:
Installing:
You'll need to install the [pyocd](https://pyocd.io/) application to allow VSCode to talk to the NanoDAP. You first install the tool itself but then must add the support files for the nrf52840:
```bash
pip3 install pyocd
@ -32,28 +27,29 @@ pyocd pack --i nrf52840
pyocd pack -s
```
If you are developing on a linux system, you will need to install the udev rules for the NanoDAP.
This is done by copying the rules file from the pyocd distribution to the udev rules directory per [these](https://github.com/pyocd/pyOCD/tree/main/udev) instructions.
If you are developing on a linux system, you will need to install the udev rules for the NanoDAP.
This is done by copying the rules file from the pyocd distribution to the udev rules directory [per these instructions](https://github.com/pyocd/pyOCD/tree/main/udev).
### Connecting the NanoDAP to your nRF52 target
The NanoDAP has a 10 pin connector, but only 3 need to be connected:
The NanoDAP has a 10-pin connector, but only three of these pins need to be connected:
* ground goes to ground on the target
* TMS-IO goes to SWDIO on the target
* TCK-CK goes to SWCLK on the target
- **Ground**: Connects to the ground on the target.
- **TMS-IO**: Connects to SWDIO on the target.
- **TCK-CK**: Connects to SWCLK on the target.
Some web instructions recommend connecting the RESET and 3V3 pins, but this is usually not useful.
Some web instructions recommend connecting the RESET and 3V3 pins, but this is usually not necessary.
#### Wiring Guide
This image shows an example connection to a RAK4630 board:
![RAK4630 DAP connection](https://docs.rakwireless.com/assets/images/accessories/rakdap1-flash-and-debug-tool/RAKDAP1_New_1.png)
![RAK4630 DAP connection](/img/RAKDAP1_New_1.webp)
Photo Courtesy of [RAK Wireless](https://docs.rakwireless.com/assets/images/accessories/rakdap1-flash-and-debug-tool/RAKDAP1_New_1.png).
### Using the NanoDAP with VSCode
Our meshtastic project has a special build environment/target which has been configured to work with the NanoDAP. To use it select the "env:rak3631_dap" target in
the bottom left of your VSCode/PlatformIO window. Once that target is selected it changes two things:
* Device programming is no longer performed via the USB bootloader. Instead you you select "Upload" it will use the NanoDAP to program the device.
* The "Debug" button in vscode will be enabled. If you click that button it will launch the ICE assisted debugger and you can set breakpoints etc...
The Meshtastic project has a special build environment/target which has been configured to work with the NanoDAP. To use it select the "env:rak3631_dap" target via the command palette or in the bottom left of your VSCode/PlatformIO window. Once that target is selected it changes two things:
- Device programming is no longer performed via the USB bootloader. Instead you you select "Upload" it will use the NanoDAP to program the device.
- The "Debug" button in VSCode will be enabled. If you click that button it will launch the ICE assisted debugger and you can set breakpoints etc...

View file

@ -2,6 +2,7 @@
id: oled-guide
title: OLED Localization Guide
sidebar_label: OLED Localization
sidebar_position: 3
---
1. Create an extended ASCII custom font. Use a glyph editor to create a new font file. The easiest way is to use the online [glyph editor](https://rawgit.com/ThingPulse/esp8266-oled-ssd1306/master/resources/glyphEditor.html) from the OLED library. ([glyph editor source code](https://github.com/ThingPulse/esp8266-oled-ssd1306/tree/master/resources))

View file

@ -2,6 +2,7 @@
id: portnum
title: Meshtastic Port Numbers
sidebar_label: Port Numbers
sidebar_position: 4
---
Any new app that runs on the device or via sister apps on phones/PCs should pick and use a unique "portnum" for their applications use.

View file

@ -2,6 +2,7 @@
id: stacktraces
title: Stacktraces
sidebar_label: Stacktraces
sidebar_position: 5
---
## Decoding Stacktraces

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB