mirror of
https://github.com/meshtastic/meshtastic.git
synced 2024-12-28 23:19:47 -08:00
Merge branch 'master' into canned-messages-youtube
This commit is contained in:
commit
ce227a7b53
|
@ -4,14 +4,16 @@ sidebar_label: Contributing
|
||||||
slug: /contributing
|
slug: /contributing
|
||||||
sidebar_position: 3
|
sidebar_position: 3
|
||||||
---
|
---
|
||||||
|
### Volunteer Based Development
|
||||||
|
|
||||||
Meshtastic is a team of volunteers, and as such there is always plenty of ways to help. This project gets great contributions from people in their off hours. Those contributors work on the features they are interested in. It is a very open and welcoming developer community, and we are always looking for help to improve Meshtastic.
|
Meshtastic is a team of volunteers, and as such there are always plenty of ways to help. This project gets great contributions from people in their off hours. Those contributors work on the features they are interested in. It is a very open and welcoming developer community, and we are always looking for help to improve Meshtastic.
|
||||||
|
|
||||||
- If you're a developer, there's plenty stuff to do. Dig in!
|
- If you're a developer, there's plenty stuff to do. Dig in!
|
||||||
- If you're interacting with Meshtastic radios, we could use help with testing, documenting, and providing feedback.
|
- If you're interacting with Meshtastic radios, we could use help with testing, documenting, and providing feedback.
|
||||||
- If you're into Web Development, check out the different web repos.
|
- If you're into Web Development, check out the different web repos.
|
||||||
- If you're into Kotlin and Android, check out the link to the repo below.
|
- If you're into Kotlin and Android, check out the link to the repo below.
|
||||||
- If you're into Python, check out the link to the repo below
|
- If you're into Python, check out the link to the repo below
|
||||||
|
- If you're into SwiftUI, check out the link to the repo below
|
||||||
- If you're into Ham Radio and LoRa, then this is a great project for you!
|
- If you're into Ham Radio and LoRa, then this is a great project for you!
|
||||||
- ... basically... we would love to have your help and feedback
|
- ... basically... we would love to have your help and feedback
|
||||||
|
|
||||||
|
@ -27,20 +29,20 @@ Most communication and interactions happen with protocol buffers. The [Meshtasti
|
||||||
|
|
||||||
### Device Firmware
|
### Device Firmware
|
||||||
|
|
||||||
The [firmware](https://github.com/meshtastic/firmware) is where all of the firmware development happens. This is where the code for the ESP32 and nRF52 based devices is developed. It is mainly C and C++ code. Think Arduino. It is where the first level of hardware interaction begins and ends.
|
The [firmware repo](https://github.com/meshtastic/firmware) is where all of the device firmware development happens. This is where the code for the ESP32 and nRF52 based devices is developed. It is mainly C and C++ code. Think Arduino. It is where the first level of hardware interaction begins and ends.
|
||||||
|
|
||||||
### Firmware Modules
|
### Firmware Modules
|
||||||
|
|
||||||
[Modules](/docs/settings/moduleconfig) are also implemented mainly in the firmware repo above. Typically, you would add functionality in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client/device use/interact with the module and that is where the Device support comes into play.
|
[Modules](/docs/settings/moduleconfig) extend device and mesh functionality beyond core functions. These are also implemented mainly in the firmware repo above. Typically, you would add functions in the protobufs repo and the device repo to implement module functionality. You probably also want to have some client or device, use or interact with the module. This is where Device Interface support comes into play.
|
||||||
|
|
||||||
### CLI Apps (Device Interface)
|
### CLI Apps (Device Interface)
|
||||||
|
|
||||||
- **Meshtastic Python CLI** - The [meshtastic/Meshtastic-python](https://github.com/meshtastic/Meshtastic-python) repository is typically where the first device interaction takes place, but that is not a requirement. This repo has a command line utility that allows you to interact with most functionality with the devices. This python library can also be consumed for other applications.
|
- **Meshtastic Python CLI** - The [meshtastic/Meshtastic-python repository](https://github.com/meshtastic/Meshtastic-python) is a command line utility that allows you to interact with most of the device settings and functionality. This python library can also be consumed for other applications. See [Meshtastic Python Development](/docs/development/python/) for more details
|
||||||
|
|
||||||
### Web Apps (Device Interface)
|
### Web Apps (Device Interface)
|
||||||
|
|
||||||
- **Meshtastic Web** - The [meshtastic/web](https://github.com/meshtastic/web) repository is where the hosted web server on the ESP32 devices in Typescript is developed. See the [Web interface overview](/docs/software/web-client) for more details.
|
- **Meshtastic Web** - The [meshtastic/web repository](https://github.com/meshtastic/web) is where the hosted web server on the ESP32 devices in Typescript is developed. See the [Web Development Overview](/docs/development/web/) for more details.
|
||||||
- **Meshtastic JS** - The [meshtastic/meshtastic.js](https://github.com/meshtastic/meshtastic.js) repository is a JavaScript library that provides an interface for Meshtastic devices.
|
- **Meshtastic JS** - The [meshtastic/meshtastic.js](https://github.com/meshtastic/meshtastic.js) repository is a JavaScript library that provides an interface for Meshtastic devices. See [Javascript Development](/docs/development/js) for more details
|
||||||
|
|
||||||
@sachaw has been making tons of progress on the web app and would love help with:
|
@sachaw has been making tons of progress on the web app and would love help with:
|
||||||
|
|
||||||
|
@ -49,13 +51,13 @@ The [firmware](https://github.com/meshtastic/firmware) is where all of the firmw
|
||||||
- Chat scroll lock
|
- Chat scroll lock
|
||||||
- Various module support
|
- Various module support
|
||||||
|
|
||||||
### Mobile Apps (Device Interface)
|
### Mobile and Desktop Apps (Device Interface)
|
||||||
|
|
||||||
There are two phone apps that interact with the Meshtastic devices:
|
There are Android, iOS, iPadOS, and macOS apps that interact with Meshtastic devices:
|
||||||
|
|
||||||
- **Android App** - The [meshtastic/Meshtastic-Android](https://github.com/meshtastic/Meshtastic-Android) repository repo contains the Kotlin code for Android based interactions with Meshtastic devices. See the [Android development instructions](/docs/development/android) on how to create a development environment and build the Meshtastic Android App.
|
- **Android App** - The [meshtastic/Meshtastic-Android](https://github.com/meshtastic/Meshtastic-Android) repository contains the Kotlin code for Android based interactions with Meshtastic devices. See the [Android development instructions](/docs/development/android) on how to create a development environment and build the Meshtastic Android App.
|
||||||
- **Apple Apps** - The iOS applications are in the process of a complete re-write in Swift and will have the new repo published soon. Note: There are a couple of earlier implementations.
|
- **Apple Apps** - The [meshtastic/Meshtastic-Apple](https://github.com/meshtastic/Meshtastic-Apple) repository contains the SwiftUI client applications code for iPhone, iPad and Mac.
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
This website is in the [Meshtastic](https://github.com/meshtastic/meshtastic) repository.
|
The Meshtastic website (the one you are looking at right now) is in the [meshtastic/Meshtastic](https://github.com/meshtastic/meshtastic) repository. See [Maintaining Documentation](docs/development/docs) for more details.
|
||||||
|
|
|
@ -157,15 +157,6 @@ If you use your HAM radio license with Meshtastic, consider both the privileges
|
||||||
- On iPhone navigate to Settings -> User and set Long Name to your Ham Radio callsign, then activate the slider for 'Licensed Operator'.
|
- On iPhone navigate to Settings -> User and set Long Name to your Ham Radio callsign, then activate the slider for 'Licensed Operator'.
|
||||||
- Instructions for Enabling HAM License from the Python CLI can be found [here](/docs/software/python/cli/usage#ham-radio-support).
|
- Instructions for Enabling HAM License from the Python CLI can be found [here](/docs/software/python/cli/usage#ham-radio-support).
|
||||||
|
|
||||||
|
|
||||||
<!-- Flasher -->
|
|
||||||
|
|
||||||
## Flasher
|
|
||||||
|
|
||||||
### Why does my operating system flag Meshtastic Flasher as having malware?
|
|
||||||
|
|
||||||
The flasher contains no malware and completely passed the Microsoft malware scanning. It appears that a lot of file download services are using the Windows Defender data, so if you're seeing alerts of a detected trojan please [update your Windows Defender definitions](https://www.microsoft.com/en-us/wdsi/defenderupdates).
|
|
||||||
|
|
||||||
### What if I'm still having issues on Windows 10?
|
### What if I'm still having issues on Windows 10?
|
||||||
|
|
||||||
It's been reported that `App execution aliases` might conflict with one another and prevent python3 from being able to run properly. There is an example of a fix located [here](https://github.com/meshtastic/Meshtastic-gui-installer/issues/154).
|
It's been reported that `App execution aliases` might conflict with one another and prevent python3 from being able to run properly. There is an example of a fix located [here](https://github.com/meshtastic/Meshtastic-gui-installer/issues/154).
|
||||||
|
|
|
@ -28,16 +28,16 @@ Specify pairing mode.
|
||||||
`FIXED_PIN` uses the fixed PIN that should then be additionally specified.
|
`FIXED_PIN` uses the fixed PIN that should then be additionally specified.
|
||||||
Finally, `NO_PIN` disables PIN authentication.
|
Finally, `NO_PIN` disables PIN authentication.
|
||||||
|
|
||||||
### Fixed PIN
|
|
||||||
|
|
||||||
If your pairing mode is set to `FIXED_PIN`, the default value is 123456. For all other pairing modes, this number is ignored. A custom integer (6 digits) can be set via the Bluetooth config options.
|
|
||||||
|
|
||||||
### Default Pairing Mode
|
### Default Pairing Mode
|
||||||
|
|
||||||
The default pairing mode will be determined based on whether the device has or does not have a screen attached to it during the first boot (or with a stale device state) unless manually configured via the Bluetooth config options.
|
The default pairing mode will be determined based on whether the device has or does not have a screen attached to it during the first boot (or with a stale device state) unless manually configured via the Bluetooth config options.
|
||||||
|
|
||||||
- **Screen Attached:** If your device boots up for the first time (or with a stale device state), and a screen is detected, the default pairing mode will be set to `RANDOM_PIN`. Should the attached screen be removed after the device has already been booted, the default pairing mode of `RANDOM_PIN` will remain unless manually changed to `FIXED_PIN` or `NO_PIN`. It is recommended the pairing mode be updated prior to removing the attached screen.
|
- **Screen Attached:** If your device boots up for the first time (or with a stale device state), and a screen is detected, the default pairing mode will be set to `RANDOM_PIN`. Should the attached screen be removed after the device has already been booted, the default pairing mode of `RANDOM_PIN` will remain unless manually changed to `FIXED_PIN` or `NO_PIN`. It is recommended the pairing mode be updated prior to removing the attached screen.
|
||||||
- **No Screen Attached:** If your device boots up for the first time (or with a stale device state), and no screen is detected, the default paring mode will be set to `FIXED_PIN` with the aforementioned default value unless manually configured to a custom value.
|
- **No Screen Attached:** If your device boots up for the first time (or with a stale device state), and no screen is detected, the default paring mode will be set to `FIXED_PIN` with the default value listed below unless manually configured to a custom value.
|
||||||
|
|
||||||
|
### Fixed PIN
|
||||||
|
|
||||||
|
If your pairing mode is set to `FIXED_PIN`, the default value is 123456. For all other pairing modes, this number is ignored. A custom integer (6 digits) can be set via the Bluetooth config options.
|
||||||
|
|
||||||
## Configure Bluetooth Config
|
## Configure Bluetooth Config
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ sidebar_label: Display
|
||||||
import Tabs from "@theme/Tabs";
|
import Tabs from "@theme/Tabs";
|
||||||
import TabItem from "@theme/TabItem";
|
import TabItem from "@theme/TabItem";
|
||||||
|
|
||||||
The display config options are: Screen On Duration, Auto Carousel Interval, Always Point North and GPS Format. Display config uses an admin message sending a `Config.Display` protobuf.
|
The display config options are: Screen On Duration, Auto Carousel Interval, Always Point North, GPS Format, Preferred Display Units, OLED Definition, Display Mode, Heading Bold, and Wake on Tap or Motion. Display config uses an admin message sending a `Config.Display` protobuf.
|
||||||
|
|
||||||
## Device Config Values
|
## Device Config Values
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ How long the screen remains on after the user button is pressed or messages are
|
||||||
|
|
||||||
### Auto Carousel Interval
|
### Auto Carousel Interval
|
||||||
|
|
||||||
Automatically toggles to the next page on the screen like a carousel, based the specified interval.
|
Automatically toggles to the next page on the screen like a carousel, based on the specified interval.
|
||||||
|
|
||||||
### Always Point North
|
### Always Point North
|
||||||
|
|
||||||
|
@ -39,15 +39,15 @@ Acceptable values:
|
||||||
| `OLC` | Open Location Code (Plus Codes) |
|
| `OLC` | Open Location Code (Plus Codes) |
|
||||||
| `OSGR` | Ordnance Survey Grid Reference |
|
| `OSGR` | Ordnance Survey Grid Reference |
|
||||||
|
|
||||||
### Prefered display units
|
### Preferred Display Units
|
||||||
|
|
||||||
switch between `METRIC` (default) and `IMPERIAL` units
|
Switch between `METRIC` (default) and `IMPERIAL` units
|
||||||
|
|
||||||
### Flip Screen
|
### Flip Screen
|
||||||
|
|
||||||
If enabled, the screen will be rotated 180 degrees, for cases that mount the screen upside down
|
If enabled, the screen will be rotated 180 degrees, for cases that mount the screen upside down
|
||||||
|
|
||||||
### OLED Defintion
|
### OLED Definition
|
||||||
|
|
||||||
The type of OLED Controller is auto-detected by default, but can be defined with this setting if the auto-detection fails. For the SH1107, we assume a square display with 128x128 Pixels like the GME128128-1.
|
The type of OLED Controller is auto-detected by default, but can be defined with this setting if the auto-detection fails. For the SH1107, we assume a square display with 128x128 Pixels like the GME128128-1.
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ Acceptable values:
|
||||||
|
|
||||||
### Display Mode
|
### Display Mode
|
||||||
|
|
||||||
The display mode can be set to `NORMAL` (default), `TWOCOLOR` or `INVERTED`. The `TWOCOLOR` mode is intended for OLED displays with the first line of output being a different color than the rest of the display. The `INVERTED` mode will invert that bicolor area, resulting in a white background headline on monochrome displays.
|
The display mode can be set to `DEFAULT` (default), `TWOCOLOR`, `INVERTED` or `COLOR`. The `TWOCOLOR` mode is intended for OLED displays with the first line of output being a different color than the rest of the display. The `INVERTED` mode will invert that bicolor area, resulting in a white background headline on monochrome displays.
|
||||||
|
|
||||||
### Heading Bold
|
### Heading Bold
|
||||||
|
|
||||||
|
@ -114,12 +114,12 @@ All display config options are available in the python CLI. Example commands are
|
||||||
| --------------------------------- | --------------------------------------------------------- | ----------------------------- |
|
| --------------------------------- | --------------------------------------------------------- | ----------------------------- |
|
||||||
| display.auto_screen_carousel_secs | `integer` | Default of `0` is off. |
|
| display.auto_screen_carousel_secs | `integer` | Default of `0` is off. |
|
||||||
| display.compass_north_top | `false`, `true` | `false` |
|
| display.compass_north_top | `false`, `true` | `false` |
|
||||||
| display.flip_screen | `fasle`, `true` | `false` |
|
| display.flip_screen | `false`, `true` | `false` |
|
||||||
| display.gps_format | `DEC`, `DMS`, `UTM`, `MGRS`, `OLC`, `OSGR` | `DEC` |
|
| display.gps_format | `DEC`, `DMS`, `UTM`, `MGRS`, `OLC`, `OSGR` | `DEC` |
|
||||||
| display.oled | `OLED_AUTO`, `OLED_SSD1306`, `OLED_SH1106`, `OLED_SH1107` | `OLED_AUTO` |
|
| display.oled | `OLED_AUTO`, `OLED_SSD1306`, `OLED_SH1106`, `OLED_SH1107` | `OLED_AUTO` |
|
||||||
| display.screen_on_secs | `integer` | Default of `0` is 10 minutes. |
|
| display.screen_on_secs | `integer` | Default of `0` is 10 minutes. |
|
||||||
| display.units | `METRIC`, `IMPERIAL` | `METRIC` |
|
| display.units | `METRIC`, `IMPERIAL` | `METRIC` |
|
||||||
| display.displaymode | `NORMAL`, `TWOCOLOR`, `INVERTED` | `NORMAL` |
|
| display.displaymode | `DEFAULT`, `TWOCOLOR`, `INVERTED`, `COLOR` | `DEFAULT` |
|
||||||
| display.heading_bold | `false`, `true` | `false` |
|
| display.heading_bold | `false`, `true` | `false` |
|
||||||
| display.wake_on_tap_or_motion | `false`, `true` | `false` |
|
| display.wake_on_tap_or_motion | `false`, `true` | `false` |
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,6 @@ values={[
|
||||||
{label: 'Android', value: 'android'},
|
{label: 'Android', value: 'android'},
|
||||||
{label: 'Apple', value: 'apple'},
|
{label: 'Apple', value: 'apple'},
|
||||||
{label: 'CLI', value: 'cli'},
|
{label: 'CLI', value: 'cli'},
|
||||||
{label: 'Flasher', value: 'flasher'},
|
|
||||||
{label: 'Web', value: 'web'},
|
{label: 'Web', value: 'web'},
|
||||||
]}>
|
]}>
|
||||||
<TabItem value="android">
|
<TabItem value="android">
|
||||||
|
@ -205,15 +204,6 @@ meshtastic --set lora.override_duty_cycle true
|
||||||
meshtastic --set lora.override_duty_cycle false
|
meshtastic --set lora.override_duty_cycle false
|
||||||
```
|
```
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="flasher">
|
|
||||||
|
|
||||||
:::info
|
|
||||||
|
|
||||||
Only `lora.region` can be set via the GUI flasher. Refer to other clients for any other config.
|
|
||||||
|
|
||||||
:::
|
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="web">
|
<TabItem value="web">
|
||||||
|
|
||||||
|
|
|
@ -41,10 +41,6 @@ pytest -m smoke1
|
||||||
You need permissions in the GitHub project to make a build
|
You need permissions in the GitHub project to make a build
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### 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
|
- Go to Actions / Make Release / Run Workflow https://github.com/meshtastic/Meshtastic-gui-installer/actions/workflows/release.yml
|
||||||
|
|
|
@ -5,8 +5,7 @@ sidebar_label: ESP32 partitions
|
||||||
---
|
---
|
||||||
|
|
||||||
:::caution
|
:::caution
|
||||||
It has been reported that some of this information is out of date. Flashing the device with [Meshtastic-flasher](/docs/software/python/flasher) should fix these partition issues and update you to the current web interface.
|
It has been reported that some of this information is out of date.
|
||||||
|
|
||||||
FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation.
|
FIXME - Investigate and rewrite document to reflect the current ESP32 Partition mitigation.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import TabItem from "@theme/TabItem";
|
||||||
import Link from "@docusaurus/Link";
|
import Link from "@docusaurus/Link";
|
||||||
|
|
||||||
:::info
|
:::info
|
||||||
This information will likely only be helpful if you've already attempted to go through the prerequisites and processes outlined in [meshtastic flasher](/docs/software/python/flasher) or [manually flashing](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
This information will likely only be helpful if you've already attempted to go through the prerequisites and processes outlined in [manually flashing](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::caution
|
:::caution
|
||||||
|
@ -55,10 +55,7 @@ Disconnect your USB to Serial Adapter from the computer before starting this pro
|
||||||
|
|
||||||
### Flashing
|
### Flashing
|
||||||
|
|
||||||
After following the steps above, your device should be in flash mode. You can flash your device using the [Meshtastic flasher](/docs/software/python/flasher) or [manual method](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
After following the steps above, your device should be in flash mode. You can flash your device using the [manual method](/docs/getting-started/flashing-firmware/esp32/cli-script)
|
||||||
|
|
||||||
Example using the Meshtastic Flasher
|
|
||||||
![image](https://user-images.githubusercontent.com/9000580/168447086-313e0649-1bfe-4ccb-b891-0f56059d8063.png)
|
|
||||||
|
|
||||||
After flashing the device is complete, reset your device (via the RST button if available).
|
After flashing the device is complete, reset your device (via the RST button if available).
|
||||||
If you have the Meshtastic Python CLI installed, you can run `meshtastic --noproto` to connect the device again over the adapter and view the serial output to confirm Meshtastic installed correctly.
|
If you have the Meshtastic Python CLI installed, you can run `meshtastic --noproto` to connect the device again over the adapter and view the serial output to confirm Meshtastic installed correctly.
|
||||||
|
@ -66,14 +63,9 @@ If you have the Meshtastic Python CLI installed, you can run `meshtastic --nopro
|
||||||
|
|
||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
In the Meshtastic Flasher, device detection may not work when using the external USB to Serial adapter. You might need to manually select the correct device type from the drop-down.
|
You might receive an error for COM port permission in the manual device install scripts, this can be caused by a number of different issues.
|
||||||
|
|
||||||
![image](https://user-images.githubusercontent.com/9000580/168447197-206f7e14-debe-4b6a-bb2a-7647418075e4.png)
|
|
||||||
|
|
||||||
Sometimes you might receive an error for COM port permission in the Meshtastic Flasher or the manual device install scripts, this can be caused by a number of different issues.
|
|
||||||
|
|
||||||
You might need to run the process as an administrator, check to ensure software like Cura isn't monopolizing COM ports, or reboot.
|
You might need to run the process as an administrator, check to ensure software like Cura isn't monopolizing COM ports, or reboot.
|
||||||
![image](https://user-images.githubusercontent.com/9000580/168447232-1a3af39b-e3cc-44b9-bc3a-32843a9e6f1f.png)
|
|
||||||
|
|
||||||
## Connect and Configure Device
|
## Connect and Configure Device
|
||||||
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
id: python-flasher
|
|
||||||
title: Using Meshtastic Python Flasher
|
|
||||||
sidebar_label: Python Flasher
|
|
||||||
sidebar_position: 2
|
|
||||||
---
|
|
||||||
|
|
||||||
import MFlasher from "../../../software/python-flasher.mdx";
|
|
||||||
import Link from "@docusaurus/Link";
|
|
||||||
|
|
||||||
<MFlasher components={props.components} />
|
|
|
@ -9,4 +9,11 @@ sidebar_position: 2
|
||||||
|
|
||||||
The nRF52 based devices have the easiest firmware upgrade process. No driver or software install is required on any platform.
|
The nRF52 based devices have the easiest firmware upgrade process. No driver or software install is required on any platform.
|
||||||
|
|
||||||
1. The [Drag & Drop](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop) firmware installation method is considered the "manual process" and recommended as the easiest solution.
|
### Drag & Drop
|
||||||
|
nRF52 devices use the [Drag & Drop](/docs/getting-started/flashing-firmware/nrf52/drag-n-drop) installation method to install firmware releases.
|
||||||
|
|
||||||
|
### Factory Erase
|
||||||
|
You may wish to perform a [Factory Erase](/docs/getting-started/flashing-firmware/nrf52/nrf52-erase) prior to installing firmware to clear data that may change format and location between releases.
|
||||||
|
|
||||||
|
### Convert RAK4631-R to RAK4631
|
||||||
|
If your device did not come with the Arduino bootloader you will need to [perform the conversion](/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r).
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
id: python-flasher
|
|
||||||
title: Using Meshtastic Python Flasher
|
|
||||||
sidebar_label: Python Flasher
|
|
||||||
sidebar_position: 2
|
|
||||||
---
|
|
||||||
|
|
||||||
import Link from "@docusaurus/Link";
|
|
||||||
import MFlasher from "../../../software/python-flasher.mdx";
|
|
||||||
|
|
||||||
<MFlasher components={props.components} />
|
|
|
@ -59,7 +59,7 @@ Some cables only provide _charging_, verify that your cable is also capable of _
|
||||||
|
|
||||||
:::caution
|
:::caution
|
||||||
|
|
||||||
With the latest versions of MacOS, USB Serial drivers are built-in. Do _NOT_ download the USB device drivers unless required. You may [test for installed serial drivers](/docs/getting-started/serial-drivers/test-serial-driver-installation) before continuing.
|
nRF52 devices typically do not require serial drivers. They use the UF2 bootloader which makes the devices appear as flash drives. Do _NOT_ download the USB device drivers unless required to install UF2 support.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,12 @@ import Link from "@docusaurus/Link";
|
||||||
|
|
||||||
## Install nRF52 USB to Serial Drivers
|
## Install nRF52 USB to Serial Drivers
|
||||||
|
|
||||||
|
:::caution
|
||||||
|
|
||||||
|
nRF52 devices typically do not require serial drivers. They use the UF2 bootloader which makes the devices appear as flash drives. Do _NOT_ download the USB device drivers unless required to install UF2 support.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
<Tabs
|
<Tabs
|
||||||
groupId="operating-system"
|
groupId="operating-system"
|
||||||
defaultValue="windows"
|
defaultValue="windows"
|
||||||
|
@ -22,17 +28,16 @@ values={[
|
||||||
|
|
||||||
<TabItem value="linux">
|
<TabItem value="linux">
|
||||||
|
|
||||||
- [CH9102 Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
|
- [CH34x Driver - Linux Download](http://www.wch-ic.com/downloads/CH341SER_LINUX_ZIP.html)
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
<TabItem value="macos">
|
<TabItem value="macos">
|
||||||
|
|
||||||
- [CH9102 Driver - macOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
|
|
||||||
|
|
||||||
:::caution
|
:::info
|
||||||
|
|
||||||
With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ download the USB device drivers unless required. If you downloaded/installed any already, please remove them.
|
With the latest versions of MacOS, the USB Serial driver is built-in. If you downloaded/installed any already, please remove them.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
@ -47,11 +52,18 @@ Uninstall the kernel extension:
|
||||||
3. `sudo rm -rf /Library/Extensions/usbserial.kext`
|
3. `sudo rm -rf /Library/Extensions/usbserial.kext`
|
||||||
4. Reboot
|
4. Reboot
|
||||||
|
|
||||||
|
|
||||||
|
### Install the CH34x Driver
|
||||||
|
|
||||||
|
- [CH34x Driver- macOS Download](https://github.com/WCHSoftGroup/ch34xser_macos)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
<TabItem value="windows">
|
<TabItem value="windows">
|
||||||
|
|
||||||
- [CH9102 Driver - Windows Download](http://www.wch-ic.com/downloads/CH341SER_EXE.html)
|
- [CH34x Driver - Windows Download](http://www.wch-ic.com/downloads/CH341SER_EXE.html)
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
||||||
|
|
|
@ -1,218 +0,0 @@
|
||||||
---
|
|
||||||
id: flasher
|
|
||||||
title: Using Meshtastic Python Flasher
|
|
||||||
sidebar_label: Python Flasher
|
|
||||||
slug: /software/python/flasher
|
|
||||||
sidebar_position: 5
|
|
||||||
---
|
|
||||||
|
|
||||||
import Tabs from "@theme/Tabs";
|
|
||||||
import TabItem from "@theme/TabItem";
|
|
||||||
import Link from "@docusaurus/Link";
|
|
||||||
|
|
||||||
:::caution
|
|
||||||
This method is no longer supported. Please use a [supported method](/docs/getting-started/flashing-firmware).
|
|
||||||
:::
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
:::caution
|
|
||||||
Make sure not to power the radio on without first attaching the antenna! You could damage the radio chip!
|
|
||||||
:::
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
Meshtastic Flasher (aka m-flasher) is a graphical user interface for flashing [supported devices](/docs/hardware) with Meshtastic.
|
|
||||||
The following operating systems are currently supported: Windows, Mac, and Ubuntu.
|
|
||||||
|
|
||||||
## Prerequisites
|
|
||||||
|
|
||||||
### Verify that Python3 is installed
|
|
||||||
|
|
||||||
<Tabs
|
|
||||||
groupId="operating-system"
|
|
||||||
defaultValue="linux"
|
|
||||||
values={[
|
|
||||||
{label: 'Linux', value: 'linux'},
|
|
||||||
{label: 'macOS', value: 'macos'},
|
|
||||||
{label: 'Windows', value: 'windows'},
|
|
||||||
]}>
|
|
||||||
<TabItem value="linux">
|
|
||||||
|
|
||||||
```shell title="Check python3 version"
|
|
||||||
python3 --version
|
|
||||||
# If version is less than v3.6, please update python3
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="macos">
|
|
||||||
|
|
||||||
```shell title="Check python3 version"
|
|
||||||
python3 --version
|
|
||||||
# If version is less than v3.6, please update python3
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="windows">
|
|
||||||
|
|
||||||
```shell title="Check python3 version"
|
|
||||||
python3 --version
|
|
||||||
# If version is less than v3.9+, please update python3
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
</Tabs>
|
|
||||||
|
|
||||||
### Install or Update Python3
|
|
||||||
|
|
||||||
<Tabs
|
|
||||||
groupId="operating-system"
|
|
||||||
defaultValue="linux"
|
|
||||||
values={[
|
|
||||||
{label: 'Linux', value: 'linux'},
|
|
||||||
{label: 'macOS', value: 'macos'},
|
|
||||||
{label: 'Windows', value: 'windows'},
|
|
||||||
]}>
|
|
||||||
<TabItem value="linux">
|
|
||||||
|
|
||||||
```shell title="Install python3, pip, and venv"
|
|
||||||
sudo apt update
|
|
||||||
sudo apt upgrade
|
|
||||||
sudo apt install -y python3 python3-pip python3-venv
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="macos">
|
|
||||||
|
|
||||||
- [Download directly from python.org](https://www.python.org/downloads/macos/)
|
|
||||||
- [Homebrew](https://brew.sh/): `brew install python@3.9`
|
|
||||||
- [MacPorts](https://www.macports.org/)
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="windows">
|
|
||||||
|
|
||||||
- [Download directly from python.org](https://www.python.org/downloads/windows/)
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
</Tabs>
|
|
||||||
|
|
||||||
### Install or Upgrade App
|
|
||||||
|
|
||||||
For **Windows**, the [installer](https://github.com/meshtastic/Meshtastic-gui-installer/releases/download/winapp1.0.3/meshtastic-flasher.zip) will manage installing python and flasher updates automatically.
|
|
||||||
|
|
||||||
For **macOS** and **Linux**, it is recommended that you install using `pip`.
|
|
||||||
|
|
||||||
Note: Update an existing installation using `pip install meshtastic-flasher -U`
|
|
||||||
|
|
||||||
<Tabs
|
|
||||||
groupId="operating-system"
|
|
||||||
defaultValue="linux"
|
|
||||||
values={[
|
|
||||||
{label: 'Linux', value: 'linux'},
|
|
||||||
{label: 'macOS', value: 'macos'},
|
|
||||||
{label: 'Windows', value: 'windows'},
|
|
||||||
]}>
|
|
||||||
<TabItem value="linux">
|
|
||||||
|
|
||||||
```shell title="Install Meshtastic Flasher"
|
|
||||||
python3 --version
|
|
||||||
# ensure you are using at least python v3.6
|
|
||||||
# change to a directory where you want to create a python virtual environment
|
|
||||||
mkdir some_dir
|
|
||||||
cd some_dir
|
|
||||||
# if the following command fails, it might tell you what package to install
|
|
||||||
python3 -m venv venv
|
|
||||||
# activate the python virtual environment
|
|
||||||
source venv/bin/activate
|
|
||||||
# your prompt should change - it should include "(venv) in the front
|
|
||||||
# upgrade pip
|
|
||||||
pip install --upgrade pip
|
|
||||||
pip install meshtastic-flasher
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Running Meshtastic Flasher"
|
|
||||||
meshtastic-flasher
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="macos">
|
|
||||||
|
|
||||||
```shell title="Install Meshtastic Flasher"
|
|
||||||
python3 --version
|
|
||||||
# ensure you are using at least python v3.6
|
|
||||||
# change to a directory where you want to create a python virtual environment
|
|
||||||
mkdir some_dir
|
|
||||||
cd some_dir
|
|
||||||
python3 -m venv venv
|
|
||||||
# activate the python virtual environment
|
|
||||||
source venv/bin/activate
|
|
||||||
# your prompt should change - it should include "(venv) in the front
|
|
||||||
# upgrade pip
|
|
||||||
pip install --upgrade pip
|
|
||||||
pip install meshtastic-flasher
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Running Meshtastic Flasher"
|
|
||||||
meshtastic-flasher
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
<TabItem value="windows">
|
|
||||||
|
|
||||||
```shell title="Install Meshtastic Flasher"
|
|
||||||
# open a command prompt
|
|
||||||
# create a new directory for the python virtual environment
|
|
||||||
cd c:\
|
|
||||||
mkdir some_dir
|
|
||||||
cd some_dir
|
|
||||||
# check that python version is sufficient, must be at least v3.9+
|
|
||||||
python -m venv venv
|
|
||||||
# activate the python virtual environment
|
|
||||||
venv\Scripts\activate
|
|
||||||
# your prompt should change - it should have (venv) at the beginning
|
|
||||||
pip install meshtastic-flasher
|
|
||||||
```
|
|
||||||
|
|
||||||
```shell title="Running Meshtastic Flasher"
|
|
||||||
meshtastic-flasher
|
|
||||||
```
|
|
||||||
|
|
||||||
</TabItem>
|
|
||||||
</Tabs>
|
|
||||||
|
|
||||||
## Flashing the Device
|
|
||||||
|
|
||||||
The Meshtastic Flasher will flash the latest firmware on esp32 and nrf52 devices. This is a newly developed application (as of February 1, 2022), so there may be some issues discovered as it is tested by users.
|
|
||||||
|
|
||||||
There are three steps:
|
|
||||||
|
|
||||||
1. Click the **GET VERSIONS** button to get the versions available (from GitHub).
|
|
||||||
2. Click the **DETECT DEVICE** button to determine the port and device variant connected.
|
|
||||||
3. Click the **FLASH** button to flash the version selected using the port selected to the device.
|
|
||||||
|
|
||||||
## Issues?
|
|
||||||
|
|
||||||
If you run into an issue, please create a ticket here: [Flasher Issues](https://github.com/meshtastic/Meshtastic-gui-installer/issues)
|
|
||||||
|
|
||||||
The code can be found at the [Meshtastic-gui-installer repo](https://github.com/meshtastic/Meshtastic-gui-installer)
|
|
||||||
|
|
||||||
## Known limitations
|
|
||||||
|
|
||||||
The following are known limitations:
|
|
||||||
|
|
||||||
- Raspberry Pi is not available, since it is arm-based and there are no pre-built libraries for [PySide](https://wiki.qt.io/Qt_for_Python)
|
|
||||||
- Ubuntu 20.04 is the version used for testing, it may work with other versions.
|
|
||||||
- See [README](https://github.com/meshtastic/Meshtastic-gui-installer/blob/master/README.md) for more details.
|
|
||||||
|
|
||||||
## Connect and Configure Device
|
|
||||||
|
|
||||||
After flashing the Meshtastic firmware to the device, you can proceed with the initial configuration.
|
|
||||||
|
|
||||||
<div className="indexCtasBody">
|
|
||||||
<Link
|
|
||||||
className={"button button--outline button--lg cta--button"}
|
|
||||||
to={"/docs/getting-started/initial-config"}
|
|
||||||
>
|
|
||||||
Connect and Configure Device
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
|
@ -284,8 +284,8 @@ function Home() {
|
||||||
style={{ display: "flex", justifyContent: "center" }}
|
style={{ display: "flex", justifyContent: "center" }}
|
||||||
>
|
>
|
||||||
<p>
|
<p>
|
||||||
The Meshtastic Flasher application can assist you in flashing
|
The Meshtastic Web-Based Flasher & Clients can assist you in
|
||||||
the firmware and configuring settings.
|
flashing the firmware and configuring settings.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue