Project packages
2 minute read
A project on motorcortex.io holds the packages you deploy to a controller. Each package has a type, and the type decides what the controller does with it. A Motorcortex application needs three packages. Click a package to open its page.
- Binary package: the compiled application and the libraries it depends on, as Debian packagesA Debian package, a
.debfile, is a software package in the format of theaptpackage manager, which the controller uses to install it. . - Config package: everything the application reads at startup, such as parameter values, the EtherCAT bus layout and the links between modules.
- GRID package: the user interface, with the images, 3D models and other files it needs.
Versions
Every package has a name and a version. A deployed config or GRID package lands on the controller in a folder named <name>-<version>-<timestamp>, so deploying a new version does not overwrite the folder of an earlier one.
A package as a zip file
A package that you upload as a zip file carries a meta.json at the top of the zip. The portal reads the package type, name and version from it, and takes the package files from the folder that directory.name.composed names:
{
"directory": {
"type": "config",
"name": {
"original": "robot-config",
"composed": "robot-config-1.0-1712345678"
},
"version": "1.0"
}
}
For the three packages on this page, type is binary, config or grid. The portal rejects a zip without meta.json, or with a type it does not know.