Profiles
Profiles are reusable configuration presets for ArmorLink firmware.
They are intended for hardware variants that share the same firmware shape but need different values, such as servo positions, GPIO pins, LED counts or faceplate timing.
Profile Target
A firmware declares which profile family it supports:
module.profileTarget("muehliindustries.armorlink.helmet.v1");
The target should be stable and specific enough to prevent incompatible profiles from being applied to the wrong firmware.
Recommended format:
vendor.product.device.schemaVersion
Example:
muehliindustries.armorlink.helmet.v1
Profile Name
A firmware can also expose the active/default profile name:
module.profileName("Iron Patriot Generic Helmet");
Setup tools can show this name and include it when saving or sharing a profile.
What Profiles Store
Profiles store configuration values, not firmware code.
Typical values:
- Servo GPIOs
- Servo open/closed positions
- Pulse ranges
- LED pins and counts
- Brightness and color
- Durations and delays
- Feature toggles
Compatibility
A profile should only be applied when its target matches the firmware descriptor's profileTarget.
If firmware does not define a profile target, setup tools should not offer profile browsing or saving for that node.
App and Web Configurator
Profiles are most useful with the Web Node Configurator and community profile library:
- Browse compatible profiles.
- Import profile values into the connected node.
- Save a working setup as a profile.
- Submit board, servo or complete device profiles.
Summary
Profiles make hardware setup repeatable. The firmware defines a compatible target, and setup tools apply values through the standard Configuration API.