3.9 KiB
id | title | sidebar_label |
---|---|---|
build-instructions | Build Instructions | Building |
This project uses the simple PlatformIO build system. PlatformIO is an extension to Microsoft VSCode. Workflows from building from the GUI or from the command line are listed below.
If you encounter any problems, please post a question in our forum. And when you learn a fix, update these instructions for the next person (i.e. edit this file and send in a pull-request which we will eagerly merge).
GUI
- Purchase a suitable radio.
- Install Python.
- Install Git.
- Reboot your computer.
- Install PlatformIO.
- Click the PlatformIO icon on the side bar.
- Under
Quick Access, Miscellaneous, Clone Git Project
enter the URL of the Meshtastic repo found here. - Select a file location to save the repo.
- Once loaded, open the
platformio.ini
file. - At the line
default_envs
you can change it to the board type you are building for ie.tlora-v2, tlora-v1, tlora-v2-1-1.6, tbeam, heltec, tbeam0.7
(boards are listed further down in the file). - The hardware can be configured for different countries by adding a definition to the
configuration.h
file.#define HW_VERSION_US
orHW_VERSION_EU433, HW_VERSION_EU865, HW_VERSION_CN, HW_VERSION_JP
. Other country settings can be found inMeshRadio.h
. The default isHW_VERSION_US
. - Click the PlatformIO icon on the side bar. Under
Project Tasks
you can now build or upload.
Note - To get a clean build you may have to delete the auto-generated file ./.vscode/c_cpp_properties.json
, close and re-open Visual Studio and WAIT until the file is auto-generated before compiling again.
Command Line
-
Purchase a suitable radio.
-
Install PlatformIO
-
Download this git repo and cd into it:
git clone https://github.com/meshtastic/Meshtastic-device.git cd Meshtastic-device
-
Run
git submodule update --init --recursive
to pull in dependencies this project needs. -
If you are outside the USA, run
export COUNTRY=EU865
(or whatever) to set the correct frequency range for your country. Options are provided forEU433
,EU865
,CN
,JP
andUS
(default). Pull-requests eagerly accepted for other countries. -
Plug the radio into your USB port.
-
Type
pio run --environment XXX -t upload
(This command will fetch dependencies, build the project and install it on the board via USB). For XXX, use the board type you have (eithertlora-v2, tlora-v1, tlora-v2-1-1.6, tbeam, heltec, tbeam0.7
). -
PlatformIO also installs a very nice VisualStudio Code based IDE, see their tutorial if you'd like to use it.
Decoding stack traces
Option 1
If you get a crash, you can decode the addresses from the Backtrace:
line:
- Save the
Backtrace: 0x....
line to a file, e.g.,backtrace.txt
. - Run
bin/exception_decoder.py backtrace.txt
(this uses symbols from the lastfirmware.elf
, so you must be running the same binary that's still in your.pio/build
directory).
Option 2
You can run the exception decoder to monitor the serial output and decode backtraces in real time.
- From within PlatformIO, open a new terminal.
- At the terminal, enter:
pio device monitor --port /dev/cu.SLAB_USBtoUART -f esp32_exception_decoder
Replace the value of port with the location of your serial port.