Which develop kit should I use?

Flymaple is based on Maple project by Leaflab.com. By default, Maple support both IDE and Command line(makefile) for development, so you can develop flymaple both in IDE or/and command-line.

Whatever you chose is both comfortable for Flymaple development. But our code not same between IDE and Command-line, so it may cause problem when one updated but another not. We will updated all code more recently.

And other IDE, like Code::blocks or Eclipse are also supported, but we never test it for flymaple, if you want to use or want to test it, so please write your documents for help others.

USE IDE

Flymaple is based on Maple project, so we can use Maple IDE, and it support Windows, Linux and Mac OS.

Maple IDE is forked from Arduino IDE, for more info please visit: http://leaflabs.com/docs/maple-ide-install.html

For developer who use IDE, you have to install git for Linux Distributions or Github for Windows

For IDE, codes not same for command-line, so please

git clone https://github.com/opendrone/flymaple-ide.git

USE Makefile

Now a day, it only support Linux and Mac OS system. Now I will introduce how to develop in Linux Distributions, for Mac OS please visit: http://leaflabs.com/docs/unix-toolchain.html

System Requirements

  • Flymaple board
  • Micro-USB cable
  • root permission to install packages
  • Have Linux terminal abilities
  • VI/vim or other editors
  • bash and its configure file(.bashrc/.tcshrc)

Install Flymaple SDK

All below is tested on Debian/Ubuntu, Fedora/OpenSUSE, and both OK.

I will take the Debian/Ubuntu as example, other dist please search relevant packages.

And, now we have two ways to install SDK. For Debian/Ubuntu you could choose both Automatic way or Manuel way, others distributions only try this in Manuel way.

Automatic Install Flymaple SDK

First of all, we should install these dependency packages by:

sudo apt-get install build-essential git-core wget screen dfu-util \
                        openocd python python-serial

we use git to manage our codes, dfu-util for upload program via USB, screen is a terminal, openocd is for debug via JTAG(Optical).

Then download this DEB package - flymaple-sdk_0.1.1-1.all.deb, and install it by:

sudo dpkg -i install flymaple-sdk_0.1.1-1.all.deb

If no error is reported, All Done! Let's try compile flymaple source code !


Manuel Install Flymaple SDK

Install packages & Cross Compiler

First of all, we should install these packages by:

sudo apt-get install build-essential git-core wget screen dfu-util \
                        openocd python python-serial

We can gain cross compiler from leaflabs.com, will download about 20MB file. Then decompress it to /opt or other position.

$ wget http://static.leaflabs.com/pub/codesourcery/gcc-arm-none-eabi-latest-linux32.tar.gz
$ sudo tar xvzf gcc-arm-none-eabi-latest-linux32.tar.gz -C /opt  # Or other position you like

Add this line to your startup script($HOME/.bashrc or /etc/profile ):

export PATH=$PATH:/opt/arm/bin   #Make sure it is same with decompression position.

Then restart your terminal or reboot.

Gain opendrone/flymaple code

Just use git to clone it:

git clone https://github.com/opendrone/flymaple.git

Or you can click the [Download] button in the web page https://github.com/opendrone/flymaple

Install udev script

$ groups   # Make sure your belong to plugdev group and dailout group, otherwise add by yourself
$ cd flymaple
$ sudo cp libmaple/support/scripts/45-maple.rules /etc/udev/rules.d/45-maple.rules
$sudo restart udev

Compile & Upload

If you use Automatic way so could download flymaple source code via Git:

git clone https://github.com/opendrone/flymaple.git

To flymaple directory and:

make clean && make

Plugin flympale board, and press [RESET] button, then:

make install  # Debian will require root privilege

Ok, if no error reported, it will done soon.

Serial Terminal

We use screen for serial terminal:

ls /dev/ttyACM*

It will show something like ttyACM0, ttyACM1, so you can use it as your own.

Open screen as serial terminal:

screen /dev/ttyACM0  # put it as your port
                     # Debian will require root privilege

If you want to use minicom, please set the bond rate to 38400, and try

minicom -o /dev/ttyACM0

It all done now!