To upload an application fork this repository and create a pull request in which you add a folder for your app.
The name of your app must clearly indicate its author by referencing a reversed URL name.
For example if your website is example.com and the name of your app is test then your folder name becomes com.example.test.
We refer to the name of this folder as the slug name of your app.
Put all the relevant files (firmware binaries and assets) in your app folder and add a file called metadata.json.
The metadata file should contain an object with information about your app.
name: the name of your app as a human readable stringdescription: a short description of your app, will be displayed on small screens so keep it shortcategories: an array of categories in which your application fitsversion: version number of your app, change to trigger an update of your app on devices which have it installedicon: an object containing string entries for each available icon size. We recommend at least providing16x16,32x32and64x64icons inpngformat.author: your (company) namelicense_type: the SPDX identifier for the license of your app orproprietaryfor other licence terms, specified in the license file providedlicense_file: the filename of a file containing the full license text of your app (optional)application: an array of objects describing which target devices your app supports and how your app should be installed onto each target device
Each object in the application array must contain the following entries:
target: an array containing the names of supported boards, currently onlytanmatsuandkonsoolare supported entries. Since Tanmatsu and Konsool are essentially the same device we recommend always adding both to apps that have been developed for one of these boards.type: the application type, currently onlyappfsis supportedexecutable: the firmware binary to installassets: an array containing a list of objects, each object represents a file that will be installed to either the internal FAT partition or to an inserted SD card, if you target a board which supports SD cards be sure to check both the internal FAT filesystem and the SD card for your files. The files will be copied to the<mountpoint>/apps/<slug>/folder. The object should be formatted as{"source_file": "source_file.txt", "target_file": "destination_file.txt"}. You may of course use the same name for both source and destination, but this approach allows for example for having one of multiple source files be copied to one destination depending on the target device.
Example:
{
"name": "My example app",
"description": "Saying hello to the world",
"categories": [
"communication"
],
"version": "0.0.1",
"icon": {
"16x16": "icon16.png",
"32x32": "icon32.png",
"64x64": "icon64.png"
},
"author": "John Smith",
"license_type": "MIT",
"license_file": "LICENSE",
"application": [
{
"targets": [
"tanmatsu",
"konsool"
],
"revision": 1,
"type": "appfs",
"executable": "myawesomeapp.bin",
"assets": [
{
"source_file": "someresource.png",
"target_file": "someresource.png"
}
]
}
]
}
By agreeing to the contributors license agreement you (among many other grants) grant us (Nicolai Electronics) the right to distribute your application, regardless of the terms specified in the license file, as specified in section 2.1 of the CLA.