Publishing Libraries
Libraries may be published via this website using the automated library packaging system.
To use it:
- Libraries must be stored on github
- You must create a
uecide.json
file in your repository (details below) - You need to create a "library" node on here with the link to the repsitory (ask in the Forum to have this permission granted).
Here is an example uecide.json
file:
{
"name": "CLI",
"provides": "CLI.h",
"license": "LICENSE",
"readme": "README.md",
"description": "Command-line Interface library for Arduino",
"category": "Communications",
"subcategory": "Serial",
"maintainer": "Matt Jenkins <matt@majenko.co.uk>",
"version": "1.2.0",
"family": "all",
"core": "all",
"install": {
"examples": "/",
"CLI.cpp": "/",
"CLI.h": "/"
},
"depends": [
]
}
Most fields are required.
-
name
should be a single word - spaces are not allowed. It should be the same as the main include file without the.h
extension. -
license
andreadme
should point to files within your repository. -
description
is a one-line "sentence" describing the library -
maintainer
is your name and email address in the format shown above. -
version
is the version number of the library. This should follow good version numbering rules and only ever increase. -
family
should be "all" for a family-agnostic library or one of the UECIDE Families -
core
should be "all" for any core or the codename of a core this library works with. -
install
is an object of files and directories (relative to the root of your repository) and the location within the packaged library where those files should be placed. - The readme and license files are automatically bundled and are not required.
-
depends
is an array of package codenames that this library relies on. If the library is specific to a core it's common to include that core's codename as a dependency. Also if SPI or Wire are needed those libraries are often also included. It is not required, but makes for a better installation experience for the user.
Once a library page has been created the library will be included in the next build run.
Categories and subcategories
Please try and keep the category and subcategory to within this tree. If you really need something not in this tree then consider adding it to this tree for other people to use.
- Audio
- Amplifier
- CODEC
- Control
- Communications
- Serial
- Networking
- Wireless
- Display
- LCD
- LED
- OLED
- TFT
- Emulation
- IO
- Digital
- Analog
- Math
- Algorithms
- Signal Processing
- Motor
- Driver
- Servo
- Stepper
- Sensors
- Attitude
- Distance
- Environmental
- Position
- Power
- Storage
- Buffer
- EEPROM
- Flash
- RAM
- SD and MMC
- System
- Languages
- Power
- Support
- Watchdog
- Time
- RTC
- Timers
Support Us
Running this server costs money. This server not only hosts this website, but is also the main build platform for creating the download files for UECIDE. Just a couple of pounds (or Dollars, Yen, Mongolian tögrög... we're not fussy) can help to offset the costs.
Alternatively, if you want to be more personal, you could buy me something on Amazon. I have a small wish-list of low-cost items that I'd quite like to receive. Make it a surprise.