Simple framework for allowing Arduino applications / examples / libraries to be built in a modular, event-driven fashion. Aiko enables more events and less delay()s !
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
aiko_commands
aiko_devices
examples
notes
nursery
tests
.gitignore
AikoCallback.h
AikoCommands.cpp
AikoCommands.h
AikoCommandsHack.h
AikoDeviceMCP320x.cpp
AikoDeviceMCP320x.h
AikoDeviceSPIBus.cpp
AikoDeviceSPIBus.h
AikoDevices.cpp
AikoDevices.h
AikoEvents.cpp
AikoEvents.h
AikoSExpression.cpp
AikoSExpression.h
AikoTiming.cpp
AikoTiming.h
Makefile
readme.markdown

readme.markdown

Aiko: Arduino Framework

This project is part of the Aiko Platform

Contents

Introduction ------------ A small modular, event-driven framework for structuring Arduino sketches, such that individual device drivers can be easily componentized and combined into a single application.

Aiko allows you to write event-driven code:

#include <AikoEvents.h>
using namespace Aiko;

int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Events.addHandler(blink, 1000);  // Every 1000ms
}

void loop() {
  Events.loop();
}

void blink() {
  static boolean on = HIGH;
  digitalWrite(ledPin, on);
  on = !on;
}

Writing individual device drivers as event-driven functions makes it simpler to create device specific modules that can be shared with others and easier to then combine and integrate them with less code changes.

Community --------- Please join the developer community on the [Aiko-Platform Google Group](http://groups.google.com/group/aiko-platform) and subscribe to the email list.

Report bugs on our GitHub bug tracker

Download -------- The Aiko Arduino framework is a library that requires the Arduino IDE or compiler tool chain. Feedback and issues ------------------- Tracking is managed via GitHub ... Installation ------------ Change into your Arduino libraries folder and use git to clone the project.

On a Mac this looks like:

cd /Applications/arduino-0022/hardware/libraries
git clone git://github.com/geekscape/aiko_arduino.git

On Linux, this will directory will be wherever you install your Arduino software.

Alternatively you can download a tarball or ZIP archive from the Aiko repository by clicking the "download" link at:

http://github.com/geekscape/aiko_arduino/tree/master

Note: Since Arduino IDE 0017, you can create a "libraries/" directory and "git clone" the "aiko_arduino" repository in that directory.

Upgrading --------- To upgrade to the latest version:
cd /Applications/arduino-0022/hardware/libraries/aiko_arduino
git pull
make clean

(If you're on a Mac, you'll need XCode installed.)

Modules ------- - **Callback** - Easy to use function and method callbacks. - **Events** - Schedule regular callbacks so you can easily deal with a bunch of devices connected to your Arduino. - **SExpression** - Parse simple SExpressions. Think of this as the Arduino equivalent of JSON. - **Timing** - Accurate timing, including better replacements for the standard Arduino timing functions.

See the corresponding files in the docs directory for more info on each module.

Known problems -------------- - TO DO

Written by Andy Gelme and Pete Yandell.

Copyright (C) 2009 by Geekscape Pty. Ltd.

Copyright (C) 2009 by Pete Yandell.

Released under the GPLv3 license (dual-licensed).