Skip to content

Getting Started

Amir Nathoo edited this page Dec 8, 2024 · 3 revisions

Development Environment

Installing VSCode

Visual Studio Code is our recommended IDE for development:

  1. Download VSCode from the official website
  2. Install for your operating system (Windows, macOS, or Linux)
  3. Launch VSCode and proceed to installing the required extensions

Installing Extensions

The following extensions are essential for development:

PlatformIO

C++ Development

Optional Extensions

Building and deploying RadioMesh

RadioMesh comes with a simple build tool written in python that provides a wrapper around platformIO CLI tool. The tool is located in the tools directory and is called builder.py. It can be used instead of the platformio cli for building both the library and the example.

All you have to do is run the script from a folder containing a platformio.ini.

usage: builder.py [-h] {version,build,test,clean,list-targets} ...

builder - A PlatformIO CLI Wrapper to build RadioMesh library and examples.

positional arguments:
  {version,build,test,clean,list-targets}
                        Available commands
    version             Print cli version
    build               build the project for a specific target
    test                test the project for a specific target
    clean               clean the project for a specific target
    list-targets        list all available target environments

options:
  -h, --help            show this help message and exit

With builder, you can:

Show help for commands

./tools/builder.py build --help

List library build targets (from the project root)

% ./tools/builder.py list-targets

Build the library

Example: .

% ./tools/builder.py build --target heltec_wifi_lora_32_V3 --clean - A clean library build for the Heltec WiFi LoRa v3 board.

Build and deploy one of the examples

This will build an example Arduino sketch along with your local RadioMesh library source.

Examples (from ./examples/HubDevice)

  • ../../tool/builder.py build --target local_heltec_wifi_lora_32_V3 --clean - A clean build for Heltec Wifi LoRa v3 board.
  • ../../tool/builder.py build --target local_heltec_wifi_lora_32_V3 --clean --deploy - A clean build and deploy for Heltec Wifi LoRa v3 board.

Run and deploy a unit test on one of the targets

Examples (from the project root)

  • % ./tool/builder.py test --target heltec_wifi_lora_32_V3 - Run all the tests.
  • % ./tool/builder.py test --target heltec_wifi_lora_32_V3 --suite test_DeviceBuilder - Run a specific test suite.

Note: tests are uploaded and run on the device, so you will need to connect your Arduino board using a USB cable for the command to work.

Hardware

Currently, RadioMesh supports the following Arduino boards:

Project source documentation

RadioMesh source documentation can be found here