Home Contents | # Projects | Development | Core4 Manager

### Starting a new project

Select File->New Project to get the new project dialog:

Choose a name and directory for your project. Make sure you do not pick My Documents directly, but always choose a subdirectory.

The Targets field chooses which controller models you want the software to be built. This is a comma separated list of names. Core4Manager always presets this to all models it knows about.

The SDK box selects a version of the Core4 SDK. The SDK contains the operating system and all other base files needed to build a working firmware. Core4Manager presets this to the latest SDK that is installed.

After clicking Ok, the initial files needed for a project are created in the specified directory. A complimentary dialog box offers a few things that you might want to do now:

### Opening an existing project

Select File->Open Project and navigate to the project file, which has the file ending .c4p.

### Preparing a controller for development

When a project is open, it is listed on the Firmware Server tab where you can add one or more controllers to the project which you want to use during development.

Steps for developing with a controller:

- Configure controller into development mode.
- Add controller to the project.

### Lua development

You will find the main startup Lua file of your project in the directory <path-to-project>\root\usr\lib\lua\main.lua within your project's file tree. All other Lua files you plan to use must be loaded from the main file by calling the Lua command dofile.

Files in your development directory correspond to files on the target system like this example: <path-to-project>\root\usr\lib\lua\xyzzy.lua would be /usr/lib/lua/xyzzy.lua on the target.

### Testing

Whenever you feel like trying your changes on the hardware, you need to have Core4Manager build it into a firmware file. There are several ways:

- Select Project->Build
- Press F5 in Core4Manager
- Click the Buld button on the project's tab.
- When the manager is minimized to the system tray, right click on it's icon and select the project.

When the project builds successfully, the manager will automatically send a reset command to all controllers that are part of the project. Note that a remote reset works only while the debug DIP switch or jumper is active, for security reasons.