Skip to content

Robot Library Specification

Dan Royer edited this page Apr 16, 2023 · 1 revision

This is the specification for the robot library format, to be used with version 2.5.0 onwards.

It is based on the Arduino Library Specification rev2.2.

Library format (rev 1.0)

The most significant addition to the format is the ability to add information about the library itself through a properties file called robot.properties.

This file allows the Package Manager to search and install a library and its dependencies in an easy and automated way. It must be located in the root of the library folder.

robot.properties file format

The robot.properties file is a key=value properties list. Every field in this file is UTF-8 encoded. Unless noted otherwise below, all fields are required. The available fields are:

  • name - the name of the robot. names must contain only basic letters (A-Z or a-z) and numbers (0-9), spaces ( ), underscores (_), dots (.) and dashes (-). They must start with a letter or number. They must contain at least one letter.
  • version - the version of your robot. Version should be semver compliant. 1.2.0 is correct; 1.2 is accepted; r5, 003, 1.1c are invalid.
  • author - name/nickname of the authors and their email addresses (not mandatory) separated by comma (,)
  • maintainer - name and email of the maintainer
  • sentence - describes the robot in one line.
  • paragraph - optional. longer description that is displayed after the first sentence.
  • image_url - link to thumbnail preview of the robot. jpg or png format. The ideal image size is 128x128.
  • url - the URL of the library project, for a person to visit. For example, the project's GitHub page. This is used for the "More info" links in Package Manager

sample

name=Sixi 3
version=1.0.0
author=Dan Royer <r.royer@example.com>, Pippo Pluto <pippo@example.com>
maintainer=Dan Royer <r.royer@example.com>
sentence=A 6DOF robot arm.
paragraph=here are some details about the arm's capabilities
image_url=http://example.com/sample.jpg
url=http://example.com/

Clone this wiki locally