Minimal config package structure

The smallest config package layout, as generated for a hand-written control application.

A hand-written control application needs far fewer files than a standard application does. This is the smallest layout that runs:

├── motorcortex.conf           # executable command line
├── config.json                # application startup parameters
├── linking.json               # links between parameters
├── license.pem                # license file
├── control
│   ├── control.xml            # application parameter values
│   └── persistence.bin        # persistent parameter values
├── io
│   └── master.xml             # bus (EtherCAT) configuration
└── user
    └── parameters.json        # user parameter definitions

Neither linking.json nor license.pem is a fixed name. config.json names both — the licence through its License setting, and the links through a Linking key on each feature that uses them. A standard application splits its links into one file per feature under a linking/ directory instead; both layouts are correct.

Each of these files is documented in the Config Package chapter, which also shows the layout of a shipped application.