GithubHelp home page GithubHelp logo

kingbbq / aiko Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samotage/aiko

0.0 2.0 0.0 545 KB

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 !

Home Page: http://geekscape.org/static/arduino.html

aiko's Introduction

Aiko: Arduino Framework

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.

Installation

Get the samotage fork of the Aiko codeline: https://github.com/samotage/Aiko

You will need some libraries for Arduino to compile correctly,

Change into your Arduino libraries folder and use git to clone the project.

On a Mac this looks like:

cd /Applications/Arduino.app/Contents/Resources/Java/libraries

into this directory copy the whole Aiko directory as a library.
this will include necessary resources for the SEGmeter.

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

Other dependencies

There are some other things that the SEGmeter code needs to work fully, these are separate Arduino libraries that need to be instlled into the library directory above.

They are:

NewSoftSerial PString OneWire DallasTemperature

Whilst it's possible to search for these resources in the intertubes, they have been packaged up here for your benifit.

So, go to here: https://github.com/samotage/Aiko/tree/master/other_arduino_libraries/

And add each of the above directories into the above mentioned Arduino Library directory.

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.

Community

Report bugs on our GitHub bug tracker.

Written by Andy Gelme, Jonathan Oxer, and Pete Yandell.

Copyright (C) 2009 by Geekscape Pty. Ltd. Copyright (C) 2009 by Jonathan Oxer. Copyright (C) 2009 by Pete Yandell. Released under the GPLv3 license (dual-licensed).

aiko's People

Contributors

jonoxer avatar notahat avatar samotage avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.