topical media & game development

talk show tell print

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.