Project Layout
When you download the firmware package, you'll see a handful of directories in there. The main directories we're concerned with are the core and libraries. Core contains the basic Make Controller code, and libraries contains modules that can be added/removed from projects as needed.
The doc folder contains the API documentation for the Make Controller. Inside the projects directory are some example projects. The heavy directory, for example, contains the project used to create the main heavy.bin. To create your own project, it's easiest to make a copy of one of the projects, rename it for your project, and then start making changes.
- firmware
|
+-core
|
+-libraries
|
+-doc
|
+-projects
Relevant Files
Each project, at the very least, has two relevant files - make.c and config.h.
config.h
This file contains configuration options for your program. You can choose which systems you'd like to include - Ethernet, USB, OSC, etc. Most of these systems take up lots of resources on the board so if you don't need them, you should comment them out and regain that space. You can also set the amount of memory available to your project - this depends on a number of things and is discussed in further detail in the memory section of this tutorial. By default, this is set to a value that should generally work for the heavy firmware.
make.c
This is where you actually start to write your program. If you've started off by copying heavy, you can probably start to comment things out as heavy uses just about everything in the firmware API. The Run( ) task in make.c gets called at startup and is a good place to fire up any initialization for your project. In heavy this is where OSC systems are registered, the LED blink task is started and the Network and USB systems are turned on.
Shopping Cart