mirror of
https://github.com/meshtastic/meshtastic.git
synced 2025-01-11 22:07:34 -08:00
Squashed commit of the following:
commit86bc3c93e5
Merge:6cabd5fe
cfec3e8e
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Wed Jun 19 18:48:14 2024 -0700 Merge pull request #1301 from rcarteraz/1200bps-reset-button Add mention of 1200bps reset button in web flasher commitcfec3e8eac
Merge:59d71321
6cabd5fe
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Wed Jun 19 17:59:09 2024 -0700 Merge branch 'master' into 1200bps-reset-button commit6cabd5fe95
Merge:f6a97b28
6c40c2e5
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Wed Jun 19 17:58:54 2024 -0700 Merge pull request #1295 from geeksville/pr-nrf52-guide Add basic nrf52 guide commit6c40c2e555
Merge:9cbea09e
f6a97b28
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Wed Jun 19 17:56:57 2024 -0700 Merge branch 'master' into pr-nrf52-guide commit59d71321e3
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Wed Jun 19 17:52:06 2024 -0700 Add mention of 1200bps reset button in web flasher commit9cbea09e5c
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Tue Jun 18 13:53:25 2024 -0700 formatting and minor changes commitfad3a940d1
Merge:f3523b72
f95a398c
Author: rcarteraz <robert.l.carter2@gmail.com> Date: Tue Jun 18 13:01:01 2024 -0700 Merge branch 'master' into pr-nrf52-guide commitf3523b72f5
Merge:b2fcaa55
70638582
Author: geeksville <kevinh@geeksville.com> Date: Sun Jun 16 21:11:52 2024 -0700 Merge branch 'master' into pr-nrf52-guide commitb2fcaa5530
Author: geeksville <kevinh@geeksville.com> Date: Sun Jun 16 15:16:37 2024 -0700 Add basic nrf52 guide
This commit is contained in:
parent
f6a97b28d3
commit
4c0b8a95ad
|
@ -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
|
||||
|
||||
|
|
55
docs/development/firmware/nrf52-guide.mdx
Normal file
55
docs/development/firmware/nrf52-guide.mdx
Normal file
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
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 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 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 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:
|
||||
|
||||
```bash
|
||||
pip3 install pyocd
|
||||
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 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 three of these pins need to be connected:
|
||||
|
||||
- **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 necessary.
|
||||
|
||||
#### Wiring Guide
|
||||
|
||||
This image shows an example connection to a RAK4630 board:
|
||||
![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
|
||||
|
||||
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...
|
|
@ -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))
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
id: stacktraces
|
||||
title: Stacktraces
|
||||
sidebar_label: Stacktraces
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
## Decoding Stacktraces
|
||||
|
|
|
@ -194,7 +194,7 @@ This device may have issues charging a connected battery if utilizing a USB-C to
|
|||
|
||||
### Flashing
|
||||
|
||||
If you are having issues flashing the wireless tracker, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
|
||||
To flash ESP32-S3 devices like the Wireless Tracker, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
|
||||
|
||||
:::warning
|
||||
|
||||
|
|
|
@ -244,6 +244,8 @@ Early versions of these boards contained the wrong component in the LiPo battery
|
|||
|
||||
### Flashing the T3S3
|
||||
|
||||
To flash ESP32-S3 devices like the T3S3, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
|
||||
|
||||
:::warning
|
||||
|
||||
Do not proceed unless an antenna is connected to avoid possible damage to the device's radio.
|
||||
|
|
|
@ -251,7 +251,7 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
|
|||
|
||||
### Flashing
|
||||
|
||||
If you are having issues flashing the T-Beam Supreme, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
|
||||
To flash ESP32-S3 devices like the T-Beam Supreme, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
|
||||
|
||||
:::warning
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ As of firmware version 2.3.9, there is a newly added modifier function key combo
|
|||
|
||||
## Flashing
|
||||
|
||||
If you are having issues flashing the T-Deck, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
|
||||
To flash ESP32-S3 devices like the T-Deck, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
|
||||
|
||||
:::warning
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ The T-Watch S3 is a compact wearable device featuring a 1.54-inch IPS LCD touch
|
|||
|
||||
## Flashing
|
||||
|
||||
If you are having issues flashing the T-Watch S3, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
|
||||
To flash ESP32-S3 devices like the T-Watch, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
|
||||
|
||||
:::warning
|
||||
|
||||
|
|
BIN
static/img/RAKDAP1_New_1.webp
Normal file
BIN
static/img/RAKDAP1_New_1.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
Loading…
Reference in a new issue