Build-time plugin generation package for Meshtastic firmware.
This package automatically:
- Scans PlatformIO library dependencies for plugins (libraries with
src/plugin.h) - Generates protobuf files from
.protofiles found in plugins - Generates
DynamicModules.cppfor plugin module initialization
Install as a local symlink package:
cd vendor/firmware
pio pkg install --symlink ../meshtastic-pluginsOr add to platformio.ini:
lib_deps =
file://../meshtastic-plugins- Python package
nanopb>=0.4.9(automatically installed if missing) - PlatformIO libraries installed in
.pio/libdeps/<env>/
Plugins must:
- Be PlatformIO libraries installed via
lib_deps - Have an
include/plugin.hfile containing#pragma MPM_MODULE(ClassName, varName?) - Optionally have
.protofiles insrc/directory for protobuf generation
- Scans
.pio/libdeps/<env>/*/include/plugin.hfor plugins - Installs
nanopbPython package if missing - Generates
.pb.hand.pb.cfiles from.protofiles - Generates
src/mesh/generated/DynamicModules.cppwith module initialization code