topical media & game development
lib-of-vs-apps-examples-firmataExample-src-testApp.cpp / cpp
include <testApp.h>
//--------------------------------------------------------------
void testApp::setup(){
ofSetVerticalSync(true);
ofSetFrameRate(60);
ofBackground(255,0,130);
bgImage.loadImage("firmata.png");
font.loadFont("franklinGothic.otf", 20);
ard.connect("/dev/ttyUSB0", 115200);
bSetupArduino = false; // flag so we setup arduino when its ready, you don't need to touch this :)
}
//--------------------------------------------------------------
void testApp::update(){
if ( ard.isArduinoReady()){
// 1st: setup the arduino if haven't already:
if (bSetupArduino == false){
setupArduino();
bSetupArduino = true; // only do this once
}
// 2nd do the update of the arduino
updateArduino();
}
}
//--------------------------------------------------------------
void testApp::setupArduino(){
// this is where you setup all the pins and pin modes, etc
for (int i = 0; i < 13; i++){
ard.sendDigitalPinMode(i, ARD_OUTPUT);
}
ard.sendDigitalPinMode(13, ARD_OUTPUT);
ard.sendAnalogPinReporting(0, ARD_ANALOG); // AB: report data
ard.sendDigitalPinMode(11, ARD_PWM); // on diecimelia: 11 pwm?*/
}
//--------------------------------------------------------------
void testApp::updateArduino(){
// update the arduino, get any data or messages:
ard.update();
ard.sendPwm(11, (int)(128 + 128 * sin(ofGetElapsedTimef()))); // pwm...
}
//--------------------------------------------------------------
void testApp::draw(){
bgImage.draw(0,0);
if (!ard.isArduinoReady()){
font.drawString("arduino not ready\n", 545, 40);
} else {
font.drawString("analog pin 0: " + ofToString(ard.getAnalog(0)) +
"\nsending pwm: " + ofToString((int)(128 + 128 * sin(ofGetElapsedTimef()))), 545, 40);
}
}
//--------------------------------------------------------------
void testApp::keyPressed (int key){
}
//--------------------------------------------------------------
void testApp::keyReleased(int key){
}
//--------------------------------------------------------------
void testApp::mouseMoved(int x, int y ){
}
//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
ard.sendDigital(13, ARD_HIGH);
}
//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){
ard.sendDigital(13, ARD_LOW);
}
//--------------------------------------------------------------
void testApp::windowResized(int w, int h){
}
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.