diff options
author | Cristian Maglie <c.maglie@bug.st> | 2013-08-08 16:43:19 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2013-08-08 16:43:19 +0200 |
commit | a8193ed933d9c9954cefbfb541cde56770ab5b74 (patch) | |
tree | 80796833fecca5d7426f1d09f7ac9870bab5f062 /libraries/Firmata/examples/AnalogFirmata | |
parent | a4c9fee673342304a5b12f7f2f7f9ecb9cb26d30 (diff) | |
parent | 5527c44aa443b20d63cf7a276180a36695233924 (diff) |
Merge branch 'ide-1.5.x-library-to-new-format' into ide-1.5.x
Diffstat (limited to 'libraries/Firmata/examples/AnalogFirmata')
-rw-r--r-- | libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino b/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino deleted file mode 100644 index ff1d664..0000000 --- a/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Firmata is a generic protocol for communicating with microcontrollers - * from software on a host computer. It is intended to work with - * any host computer software package. - * - * To download a host software package, please clink on the following link - * to open the download page in your default browser. - * - * http://firmata.org/wiki/Download - */ - -/* This firmware supports as many analog ports as possible, all analog inputs, - * four PWM outputs, and two with servo support. - * - * This example code is in the public domain. - */ -#include <Servo.h> -#include <Firmata.h> - -/*============================================================================== - * GLOBAL VARIABLES - *============================================================================*/ - -/* servos */ -Servo servo9, servo10; // one instance per pin -/* analog inputs */ -int analogInputsToReport = 0; // bitwise array to store pin reporting -int analogPin = 0; // counter for reading analog pins -/* timer variables */ -unsigned long currentMillis; // store the current value from millis() -unsigned long previousMillis; // for comparison with currentMillis - - -/*============================================================================== - * FUNCTIONS - *============================================================================*/ - -void analogWriteCallback(byte pin, int value) -{ - switch(pin) { - case 9: servo9.write(value); break; - case 10: servo10.write(value); break; - case 3: - case 5: - case 6: - case 11: // PWM pins - analogWrite(pin, value); - break; - } -} -// ----------------------------------------------------------------------------- -// sets bits in a bit array (int) to toggle the reporting of the analogIns -void reportAnalogCallback(byte pin, int value) -{ - if(value == 0) { - analogInputsToReport = analogInputsToReport &~ (1 << pin); - } - else { // everything but 0 enables reporting of that pin - analogInputsToReport = analogInputsToReport | (1 << pin); - } - // TODO: save status to EEPROM here, if changed -} - -/*============================================================================== - * SETUP() - *============================================================================*/ -void setup() -{ - Firmata.setFirmwareVersion(0, 2); - Firmata.attach(ANALOG_MESSAGE, analogWriteCallback); - Firmata.attach(REPORT_ANALOG, reportAnalogCallback); - - servo9.attach(9); - servo10.attach(10); - Firmata.begin(57600); -} - -/*============================================================================== - * LOOP() - *============================================================================*/ -void loop() -{ - while(Firmata.available()) - Firmata.processInput(); - currentMillis = millis(); - if(currentMillis - previousMillis > 20) { - previousMillis += 20; // run this every 20ms - for(analogPin=0;analogPin<TOTAL_ANALOG_PINS;analogPin++) { - if( analogInputsToReport & (1 << analogPin) ) - Firmata.sendAnalog(analogPin, analogRead(analogPin)); - } - } -} - |