mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-11-09 23:24:10 -08:00
cleanup on development links
This commit is contained in:
parent
a7eed056ae
commit
a8675efce5
|
@ -9,7 +9,7 @@ sidebar_position: 3
|
|||
|
||||
### Where can I get additional help, ask questions, or bond with the Meshtastic community?
|
||||
|
||||
This site (which has a great search function) is the preferred place for up to date documentation. Many of our users and developers hang out on the [Meshtastic Discord](https://discord.gg/ktMAKGBnBs) server where you may connect with like-minded people.
|
||||
This site (which has a great search function) is the preferred place for up-to-date documentation. Many of our users and developers hang out on the [Meshtastic Discord](https://discord.gg/ktMAKGBnBs) server where you may connect with like-minded people.
|
||||
|
||||
### How can I contribute to Meshtastic?
|
||||
|
||||
|
|
|
@ -12,16 +12,16 @@ Meshtastic® is a project that enables you to use inexpensive LoRa radios as a l
|
|||
### Features
|
||||
|
||||
- Long range ([_166km record by Puzzled Pancake_](/docs/about/overview/range-test#current-record))
|
||||
- No phone required for node to node communication
|
||||
- No phone required for mesh communication
|
||||
- Encrypted communication
|
||||
- Excellent battery life (LoRa radios have a very low power draw)
|
||||
- Excellent battery life
|
||||
- Send and receive text messages between members of the mesh
|
||||
- Enable optional GPS based location features
|
||||
- Optional GPS based location features
|
||||
- And more!
|
||||
|
||||
## How it works
|
||||
|
||||
The underlying technology, LoRa is a long range radio protocol that is available to most regions without needing certification like HAM operators.
|
||||
The underlying technology, LoRa, is a long range radio protocol available to most regions without requiring certification like HAM operators.
|
||||
|
||||
The radios automatically rebroadcast messages they receive in order to create a mesh network so that everyone in the group can receive messages - even from the furthest member. Depending on settings used, the Meshtastic mesh can sustain up to 80 device nodes.
|
||||
|
||||
|
@ -38,7 +38,6 @@ If you are interested in a more technical overview of how Meshtastic works, visi
|
|||
</Link>
|
||||
</div>
|
||||
|
||||
|
||||
## Contributors
|
||||
|
||||
Meshtastic is an open source project available on GitHub. Our generous volunteers donate their personal time to write and maintain this codebase. If you would like to contribute see our [GitHub](https://github.com/meshtastic), join our [Discord server](https://discord.gg/ktMAKGBnBs), and read up on our [forum](https://meshtastic.discourse.group).
|
||||
|
|
|
@ -12,8 +12,6 @@ We use the same channel maps as LoRaWAN (though this is not LoRaWAN).
|
|||
|
||||
See [this site](https://www.rfwireless-world.com/Tutorials/LoRa-channels-list.html) for more information.
|
||||
|
||||
See the LoRa Radio design datasheet: [LoRa Design Guide](/documents/LoRa_Design_Guide.pdf)
|
||||
|
||||
## LoRaWAN Europe Frequency Band
|
||||
|
||||
The maximum power allowed is +14dBm ERP (Effective Radiated Power, see [this site](https://en.wikipedia.org/wiki/Effective_radiated_power) for more information).
|
||||
|
|
|
@ -2,5 +2,6 @@ label: Device
|
|||
collapsible: true
|
||||
position: 1
|
||||
link:
|
||||
slug: /development/device
|
||||
type: generated-index
|
||||
title: Device
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
id: device-api
|
||||
id: client-api
|
||||
title: Client API (Serial/TCP/BLE)
|
||||
sidebar_label: Client API
|
||||
---
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
id: critical-error-codes
|
||||
id: error-codes
|
||||
title: Critical Error Codes
|
||||
sidebar_label: Error Codes
|
||||
---
|
|
@ -1,13 +0,0 @@
|
|||
---
|
||||
id: docusaurus
|
||||
title: Docusaurus
|
||||
sidebar_label: Docusaurus
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Meshtastic's documentation is set up using [Docusaurus](https://docusaurus.io). It is highly encouraged to look at [their documentation](https://docusaurus.io/docs) when looking for a solution to a problem with our docs. They most likely have thought of the use case you've discovered.
|
||||
|
||||
## Known Issues
|
||||
|
||||
- Admonitions within a `TabItem` component need to be completely unindented to show up correctly.
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
id: documentation
|
||||
id: docs
|
||||
title: Maintaining Documentation
|
||||
slug: /development/docs
|
||||
sidebar_label: Documentation
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
@ -9,11 +10,11 @@ Meshtastic documentation is an important ingredient to the overall project. We w
|
|||
|
||||
## Software Stack
|
||||
|
||||
All of our documentation resides on GitHub. Instructions for setting up your GitHub account are located [here](github).
|
||||
All of our documentation resides on GitHub. Instructions for setting up your GitHub account are located [here](/docs/development/reference/github).
|
||||
|
||||
Our documentation is powered by [Docusaurus](https://docusaurus.io) — a documentation platform built on React that utilizes markdown files. Because markdown files are easy to edit, most content changes should be fairly simple. Instructions for setting up your instance of Docusaurus are located [here](docusaurus).
|
||||
Our documentation is powered by [Docusaurus](https://docusaurus.io) — a documentation platform built on React that utilizes markdown files. Because markdown files are easy to edit, most content changes should be fairly simple.
|
||||
|
||||
Another component that we use is [Vercel](https://vercel.com) — a platform for frontend frameworks and static sites. Instructions for setting up your instance of Vercel are located [here](vercel).
|
||||
Another component that we use is [Vercel](https://vercel.com) — a platform for frontend frameworks and static sites. Instructions for setting up your instance of Vercel are located [here](/docs/development/documentation/publish#publish-to-vercel).
|
||||
|
||||
## Documentation Organization
|
||||
|
||||
|
@ -31,7 +32,7 @@ Another component that we use is [Vercel](https://vercel.com) — a platform for
|
|||
|
||||
## Quick Start
|
||||
|
||||
Assuming you have the [prerequisites installed](serve-docs-locally#prerequisites), running a local instance of Docusaurus takes three steps:
|
||||
Assuming you have the [prerequisites installed](/docs/development/documentation/local-dev#prerequisites), running a local instance of Docusaurus takes three steps:
|
||||
|
||||
1. Fork/Clone the [meshtastic/meshtastic](https://github.com/meshtastic/meshtastic) repository and navigate to the root directory of the project.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
id: serve-docs-locally
|
||||
title: Setting up Local Documentation
|
||||
sidebar_label: Serve Docs Locally
|
||||
id: local-dev
|
||||
title: Serving Docs Locally for Development
|
||||
sidebar_label: Local Development
|
||||
---
|
||||
|
||||
:::note
|
|
@ -1,10 +1,12 @@
|
|||
---
|
||||
id: publish
|
||||
title: Publishing Meshtastic.org
|
||||
sidebar_label: Publish Meshtastic.org
|
||||
sidebar_label: Publish
|
||||
---
|
||||
|
||||
## Device
|
||||
## Publish Live
|
||||
|
||||
### Device
|
||||
|
||||
- Update protobufs
|
||||
|
||||
|
@ -21,11 +23,11 @@ run bin/regen-protos.sh
|
|||
- commit and push (or merge) to root of repo - this should cause GitHub to start a release build (see the CI actions)
|
||||
- edit the draft release text and click publish
|
||||
|
||||
### Update Protobufs
|
||||
#### Update Protobufs
|
||||
|
||||
## Android
|
||||
### Android
|
||||
|
||||
### Pre-requisites
|
||||
#### Pre-requisites
|
||||
|
||||
- Add repository secrets
|
||||
- - KEYSTORE_FILENAME
|
||||
|
@ -39,31 +41,31 @@ run bin/regen-protos.sh
|
|||
keyAlias=upload
|
||||
storeFile=nononononono.jks
|
||||
|
||||
### Instructions - Automated
|
||||
#### Instructions - Automated
|
||||
|
||||
- Update protobufs
|
||||
- Go to Actions / Make Release / Run Workflow
|
||||
- Pick the Releases branch
|
||||
- Enter the version found in app/gradle.build
|
||||
|
||||
## iOS
|
||||
### iOS
|
||||
|
||||
TBD
|
||||
|
||||
## Meshtastic-flasher
|
||||
### Meshtastic-flasher
|
||||
|
||||
A `meshtastic-flasher` release consists of publishing the release to PyPi https://pypi.org/project/meshtastic-flasher/ as well as producing single-executable files that are downloadable from Github https://github.com/meshtastic/Meshtastic-gui-installer/releases.
|
||||
|
||||
### Instructions - automated
|
||||
#### Instructions - automated
|
||||
|
||||
- Go to Actions / Make Release / Run Workflow https://github.com/meshtastic/Meshtastic-gui-installer/actions/workflows/release.yml
|
||||
- Draft & Publish release https://github.com/meshtastic/Meshtastic-gui-installer/releases
|
||||
|
||||
## Python
|
||||
### Python
|
||||
|
||||
A python release consists of publishing the release to PyPi https://pypi.org/project/meshtastic/ as well as producing single-executable files that are downloadable from Github https://github.com/meshtastic/Meshtastic-python/releases.
|
||||
|
||||
### Pre-requisites
|
||||
#### Pre-requisites
|
||||
|
||||
No pre-requisites are needed locally to make a release. All builds are done via Github Actions currently.
|
||||
|
||||
|
@ -74,7 +76,7 @@ pip3 install -r requirements.txt
|
|||
pip install .
|
||||
```
|
||||
|
||||
### Instructions
|
||||
#### Instructions
|
||||
|
||||
- Update protobufs by running the "Update protobufs" workflow in Actions: https://github.com/meshtastic/Meshtastic-python/actions/workflows/update_protobufs.yml
|
||||
|
||||
|
@ -98,9 +100,43 @@ pytest -m smoke1
|
|||
You need permissions in the GitHub project to make a build
|
||||
:::
|
||||
|
||||
## Web
|
||||
### Web
|
||||
|
||||
Releases are automatically generated for every commit as per out [CI](https://github.com/meshtastic/web/blob/master/.github/workflows/main.yml). This performs two actions:
|
||||
|
||||
1. Generates a perpetually updated [GitHub release](https://github.com/meshtastic/web/releases/tag/latest) with an accompanying `build.tar` that a automatically get's pulled by the firmware CI at build time.
|
||||
2. A hosted version is deployed to [client.meshtastic.org](https://client.meshtastic.org).
|
||||
|
||||
|
||||
## Publish to Vercel
|
||||
|
||||
Setting up a Vercel account is an optional step that can help you view your changes to the documentation in a server environment just like the actual docs. This can be helpful to include when submitting a pull request so that developers can review your changes and visually check that things look correct.
|
||||
|
||||
### Set up Vercel account
|
||||
|
||||
- Go to [vercel.com](https://vercel.com)
|
||||
- Login with your GitHub account, click `Continue with GitHub`
|
||||
|
||||
### Link your fork of the project
|
||||
|
||||
- Click `New Project`
|
||||
- Under `Import Git Repository` select `+ Add GitHub Account`
|
||||
You'll be redirected to GitHub to allow access to select repositories.
|
||||
- Select your fork of the project: `username/Meshtastic`
|
||||
|
||||
### Configure project
|
||||
|
||||
Configure project:
|
||||
|
||||
- Set a name for the project
|
||||
- Select a framework preset: `Docusaurus 2`
|
||||
- Click `Deploy`
|
||||
|
||||
That's it! You should now see your project with a green or orange status dot showing that your fork of the project has been compiled. There will be a commit-specific url that you can share to view your changes. There also will be a branch-specific url that you can view. If there are any errors it will show up red and include the logs for you to figure out what has gone wrong.
|
||||
|
||||
:::tip
|
||||
There is a limited number of branch urls that you will be able to view. If you notice that option has disappeared, you can delete unused branches on your fork and that will enable that feature again.
|
||||
|
||||
Branch urls are helpful in PRs because they will remain constant, and you won't need to resubmit a new url for review each new commit if changes are requested.
|
||||
:::
|
||||
|
||||
|
|
|
@ -3,5 +3,6 @@ position: 1 # float position is supported
|
|||
label: 'Style Guides'
|
||||
collapsible: true # make the category collapsible
|
||||
link:
|
||||
slug: /development/docs/style-guide
|
||||
type: generated-index
|
||||
title: Style Guides
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
id: markdown-features
|
||||
title: Style Guide - Markdown Features
|
||||
id: markdown
|
||||
title: Markdown Features
|
||||
sidebar_label: Markdown Features
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
id: style-guide-settings
|
||||
title: Style Guide - Settings Pages
|
||||
sidebar_label: Settings Pages
|
||||
id: config-pages
|
||||
title: Config Pages
|
||||
sidebar_label: Config Pages
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
id: vercel
|
||||
title: Vercel
|
||||
sidebar_label: Vercel
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Setting up a Vercel account is an optional step that can help you view your changes to the documentation in a server environment just like the actual docs. This can be helpful to include when submitting a pull request so that developers can review your changes and visually check that things look correct.
|
||||
|
||||
## Set up Vercel account
|
||||
|
||||
- Go to [vercel.com](https://vercel.com)
|
||||
- Login with your GitHub account, click `Continue with GitHub`
|
||||
|
||||
## Link your fork of the project
|
||||
|
||||
- Click `New Project`
|
||||
- Under `Import Git Repository` select `+ Add GitHub Account`
|
||||
You'll be redirected to GitHub to allow access to select repositories.
|
||||
- Select your fork of the project: `username/Meshtastic`
|
||||
|
||||
## Configure project
|
||||
|
||||
Configure project:
|
||||
|
||||
- Set a name for the project
|
||||
- Select a framework preset: `Docusaurus 2`
|
||||
- Click `Deploy`
|
||||
|
||||
That's it! You should now see your project with a green or orange status dot showing that your fork of the project has been compiled. There will be a commit-specific url that you can share to view your changes. There also will be a branch-specific url that you can view. If there are any errors it will show up red and include the logs for you to figure out what has gone wrong.
|
||||
|
||||
:::tip
|
||||
There is a limited number of branch urls that you will be able to view. If you notice that option has disappeared, you can delete unused branches on your fork and that will enable that feature again.
|
||||
|
||||
Branch urls are helpful in PRs because they will remain constant, and you won't need to resubmit a new url for review each new commit if changes are requested.
|
||||
:::
|
|
@ -4,4 +4,4 @@ position: 1
|
|||
link:
|
||||
type: generated-index
|
||||
title: Firmware
|
||||
slug: /firmware
|
||||
slug: /development/firmware
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
id: build
|
||||
title: Building Meshtastic Firmware
|
||||
sidebar_label: Building Meshtastic
|
||||
sidebar_label: Building Firmware
|
||||
---
|
||||
|
||||
Meshtastic uses [PlatformIO](https://platformio.org), a development environment that enables easy multi-platform development and centralized tooling.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
id: oled-l10n-guide
|
||||
id: oled-guide
|
||||
title: OLED Localization Guide
|
||||
sidebar_label: OLED Localization
|
||||
---
|
|
@ -1,12 +1,14 @@
|
|||
---
|
||||
id: stacktrace-decode
|
||||
title: Decoding Stacktraces
|
||||
sidebar_label: Decoding Stacktraces
|
||||
id: stacktraces
|
||||
title: Stacktraces
|
||||
sidebar_label: Stacktraces
|
||||
---
|
||||
|
||||
## Decoding Stacktraces
|
||||
|
||||
You may encounter a situation where your device crashes and are left with a stacktrace, below are two methods of decoding them.
|
||||
|
||||
## Manual
|
||||
### Manual
|
||||
|
||||
:::info
|
||||
This method uses the symbols of the `firmware.elf` file generated from your latest build, you may wish to rebuild to get up-to-date symbols.
|
||||
|
@ -24,9 +26,9 @@ Now run the exception decoder:
|
|||
bin/exception_decoder.py backtrace.txt
|
||||
```
|
||||
|
||||
## Real Time
|
||||
### Real-Time
|
||||
|
||||
In order to decode stack traces in real time, kep the following command (replacing `DEVICE_PORT` with your device's port) running in your terminal with the suspect device connected
|
||||
In order to decode stack traces in real time, keep the following command (replacing `DEVICE_PORT` with your device's port) running in your terminal with the suspect device connected
|
||||
|
||||
```shell
|
||||
pio device monitor --port DEVICE_PORT -f esp32_exception_decoder
|
|
@ -1,7 +0,0 @@
|
|||
position: 6 # float position is supported
|
||||
label: 'Javascript'
|
||||
collapsible: true # make the category collapsible
|
||||
link:
|
||||
type: generated-index
|
||||
title: Javascript
|
||||
slug: /software/js
|
|
@ -5,7 +5,7 @@ sidebar_label: HTTP API
|
|||
---
|
||||
|
||||
:::info
|
||||
Methods and types for using the device [HTTP API](http://example.com) are exported
|
||||
Methods and types for using the device [HTTP API](/docs/development/device/http-api) are exported
|
||||
:::
|
||||
|
||||
```typescript
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
---
|
||||
id: getting-started
|
||||
title: Getting Started
|
||||
sidebar_label: Getting Started
|
||||
id: js
|
||||
title: Getting Started with Meshtastic.js
|
||||
slug: /development/js
|
||||
sidebar_position: 6
|
||||
sidebar_label: Javascript
|
||||
---
|
||||
|
||||
:::tip
|
|
@ -1,7 +0,0 @@
|
|||
label: Python
|
||||
collapsible: true # make the category collapsible
|
||||
position: 5 # float position is supported
|
||||
link:
|
||||
type: generated-index
|
||||
title: Python
|
||||
slug: /software/python-cli
|
|
@ -1,7 +1,8 @@
|
|||
---
|
||||
id: development
|
||||
id: python
|
||||
title: Meshtastic Python Development
|
||||
sidebar_label: Development
|
||||
sidebar_position: 5
|
||||
sidebar_label: Python
|
||||
---
|
||||
|
||||
## A note to developers of this lib
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
id: python-library
|
||||
id: library
|
||||
title: Using the Meshtastic Python Library
|
||||
sidebar_label: Python Library
|
||||
---
|
||||
|
|
|
@ -13,7 +13,6 @@ All of Meshtastic's code and documentation is hosted on GitHub. If you would lik
|
|||
- Go to [github.com](https://github.com)
|
||||
- Click `Sign Up`
|
||||
|
||||
|
||||
## README Template
|
||||
|
||||
All Meshtastic developers should follow this convention when writing a README for a repository.
|
8
docs/development/reference/lora-design.mdx
Normal file
8
docs/development/reference/lora-design.mdx
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
id: lora-design
|
||||
title: LoRa Design Guide
|
||||
sidebar_label: LoRa Datasheet
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
- [LoRa Design Guide Datasheet](/documents/LoRa_Design_Guide.pdf)
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
id: web-development-software
|
||||
id: web-interface
|
||||
title: Development Overview of the Web Interface
|
||||
sidebar_label: Web Interface
|
||||
sidebar_position: 4
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
id: web-partitions-software
|
||||
id: esp32-partitions
|
||||
title: Managing ESP32 partitions
|
||||
sidebar_label: ESP32 partitions
|
||||
---
|
||||
|
|
|
@ -12,22 +12,21 @@ import TabItem from '@theme/TabItem';
|
|||
Before flashing confirm that you have [RAK4631](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/) and not a [RAK4631-R](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631-R/) If this is not the case, fear not. The hardware is identical but requires changing the bootloader. Instructions on how to do this are located [here](/docs/getting-started/flashing-firmware/nrf52/#convert-rak4631-r-to-rak4631).
|
||||
:::
|
||||
|
||||
## Upgrading from a previous version of Meshtastic
|
||||
|
||||
If you are upgrading your NRF52 device from a previous version of Meshtastic rather than starting from scratch, you may need to do a full factory reset of the internal flash memory. Stale data saved by previous versions of the Meshtastic firmware can cause devices to get stuck in a crash loop at startup.
|
||||
|
||||
Follow the guide to [factory erase your NRF52](/docs/guides/nrf52-erase) device before continuing to [flash firmware](#flash-firmware).
|
||||
|
||||
|
||||
## Flash Firmware
|
||||
|
||||
Download and unzip the latest firmware from [Meshtastic Downloads](https://meshtastic.org/downloads).
|
||||
|
||||
1. Connect your device to your computer with a data USB cable.
|
||||
1. Connect your device to your computer with a USB data cable.
|
||||
2. Double click the reset button on your device (this will put it into bootloader mode)
|
||||
3. Notice a new drive will be mounted on your computer (Windows, Mac, or Linux)
|
||||
4. Open this drive and you should see three files: `CURRENT.UF2`, `INDEX.HTM`, and `INFO_UF2.TXT`
|
||||
5. Drop the appropriate appropriate `firmware-DEVICE_NAME-vx.x.x-xxxxxxx.uf2` file from the release you want to install onto this drive
|
||||
5. Drop the appropriate firmware file (`firmware-DEVICE_NAME-vx.x.x-xxxxxxx.uf2`) from the release onto this drive.
|
||||
|
||||
Once the file has finished copying onto the drive, the device will reboot and install the Meshtastic firmware.
|
||||
|
||||
:::caution
|
||||
If you're upgrading your NRF52 device from a previous version of Meshtastic rather than starting from scratch, you may need to do a full factory reset of the internal flash memory. Stale data saved by previous versions of the Meshtastic firmware can cause devices to get stuck in a crash loop at startup.
|
||||
:::
|
||||
|
||||
Meshtastic uses the [littlefs](https://github.com/littlefs-project/littlefs) library to store configuration, logs, and other data in the internal flash of NRF52 devices. Updating the firmware does _not_ erase this additional data, which can cause issues when the format and location of data changes between releases.
|
||||
|
||||
To reset the flash storage on your NRF52 board, first follow steps 1-4 above. At step 5, copy the included file named `Meshtastic_nRF52_factory_erase.uf2` onto the virtual disk device instead of a `firmware-DEVICE_NAME...` binary. After the device resets, connect to it via serial console using the [Meshtastic CLI `--noproto`](/docs/software/python/cli/#--noproto) mode or a standalone serial client like `minicom`. When you connect to the serial console, press any key; you should see the message `Formating ... Done`.
|
||||
|
||||
Once the flash is erased you can use steps 2-5 above to re-install the latest Meshtastic firmware on a clean storage filesystem.
|
||||
|
|
|
@ -5,6 +5,6 @@ sidebar_label: Setup MQTT
|
|||
sidebar_position: 1
|
||||
---
|
||||
|
||||
import MFlasher from '../software/mqtt/index.mdx'
|
||||
import MQTT from '../software/mqtt/index.mdx'
|
||||
|
||||
<MFlasher components={props.components} />
|
||||
<MQTT components={props.components} />
|
|
@ -2,9 +2,9 @@
|
|||
id: remote-nodes
|
||||
title: Remote Node Administration
|
||||
sidebar_label: Administer Remote Nodes
|
||||
sidebar_position: 1
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
import MFlasher from '../configuration/remote-admin.mdx'
|
||||
import RemoteAdmin from '../configuration/remote-admin.mdx'
|
||||
|
||||
<MFlasher components={props.components} />
|
||||
<RemoteAdmin components={props.components} />
|
22
docs/guides/nrf52-erase.mdx
Normal file
22
docs/guides/nrf52-erase.mdx
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
id: nrf52-erase
|
||||
title: Flash NRF52 Factory Erase
|
||||
sidebar_label: Factory Erase NRF52
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
Meshtastic uses the [littlefs](https://github.com/littlefs-project/littlefs) library to store configuration, logs, and other data in the internal flash of NRF52 devices. Updating the firmware does _not_ erase this additional data, which can cause issues when the format and location of data changes between releases.
|
||||
|
||||
To reset the flash storage on your NRF52 board:
|
||||
|
||||
Download and unzip the latest firmware from [Meshtastic Downloads](https://meshtastic.org/downloads).
|
||||
|
||||
1. Connect your device to your computer with a USB data cable.
|
||||
2. Double click the reset button on your device (this will put it into bootloader mode)
|
||||
3. Notice a new drive will be mounted on your computer (Windows, Mac, or Linux)
|
||||
4. Open this drive and you should see three files: `CURRENT.UF2`, `INDEX.HTM`, and `INFO_UF2.TXT`
|
||||
5. Copy the included file named `Meshtastic_nRF52_factory_erase.uf2` onto the virtual disk device. The device should reboot.
|
||||
6. Connect to the device via serial console using the [Meshtastic CLI `--noproto`](/docs/software/python/cli/#--noproto) mode or a standalone serial client like `minicom`.
|
||||
7. Press any key, you should see the message: `Formatting... Done`.
|
||||
|
||||
Once the device has been erased, you can proceed to install the latest Meshtastic firmware on a clean storage filesystem by following the [flash firmware](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop#flash-firmware) steps.
|
|
@ -35,6 +35,7 @@ values={[
|
|||
- Power, Program and Reset switches
|
||||
- **Comes with 0.96 inch OLED display (some soldering required to assemble)**
|
||||
|
||||
|
||||
- Firmware file: `firmware-tbeam-1.x.x.bin`
|
||||
- [Purchase link](https://www.aliexpress.com/item/4001178678568.html)
|
||||
|
||||
|
|
|
@ -85,4 +85,4 @@ Option 3) Flash the device with the SPIFFS instructions in platform.io.
|
|||
This issue is likely found on old versions of the web interface. Device firmware now includes the web interface and the file system has been changed. Flashing the device with [Meshtastic-flasher](/docs/software/python/flasher) will update you to the current web interface. Access to the files in the filesystem is actively being developed, but is not currently available.
|
||||
:::
|
||||
|
||||
Cause: Typically a small partition has been set aside from previous firmware installed on the module. Instructions for how to fix this can be found on the [ESP32-Partitions](/docs/development/web/web-partitions-software) page.
|
||||
Cause: Typically a small partition has been set aside from previous firmware installed on the module. Instructions for how to fix this can be found on the [ESP32-Partitions](/docs/development/web/esp32-partitions) page.
|
||||
|
|
Loading…
Reference in a new issue