Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Firmata.h>
- #include <FirmataDefines.h>
- #include <FirmataConstants.h>
- #include <Boards.h>
- #include <FirmataParser.h>
- #include <FirmataMarshaller.h>
- /*
- Blink modded
- */
- const byte btnUpload = 2;
- const byte outReset = 3;
- const int maxLED = 8;
- int count = 0;
- //void(* resetFunc) (void) = 0;
- void resetBoard () {
- digitalWrite(outReset, LOW);
- }
- void serialEvent() {
- int uploadVal = digitalRead(btnUpload);
- if(uploadVal == LOW) {
- delay(3600);
- resetBoard();
- }
- /*
- if (Serial.available()) {
- char inChar = (char)Serial.read();
- if (inChar == '0') {
- resetBoard();
- }
- }
- */
- }
- // the setup function runs once when you press reset or power the board
- void setup() {
- // initialize digital pin LED_BUILTIN as an output.
- int i;
- for(i=0; i < maxLED; i++) {
- pinMode(LED_BUILTIN-i, OUTPUT);
- }
- pinMode(btnUpload, INPUT_PULLUP);
- pinMode(outReset, INPUT_PULLUP);
- pinMode(outReset, OUTPUT);
- //attachuploadBtn(digitalPinTouploadBtn(btnUpload), resetBoard, LOW);
- Serial.begin(115200);
- }
- void displayLED (int bit, int val) {
- int pin = LED_BUILTIN - bit;
- --------------------------------------- digitalWrite(pin, val);
- }
- void displayOFF() {
- int i;
- for(i=0; i < maxLED; i++) {
- displayLED(i, LOW);
- }
- }
- void displayNum(int num) {
- int i;
- int bitval = 1;
- displayOFF();
- for (i = 0; i < maxLED; i++) {
- if (bitval & num) displayLED(i, HIGH);
- bitval = bitval * 2;
- }
- }
- void countLoop() {
- displayNum(count);
- delay(200);
- count = count + 1;
- if (count > 255) {
- count = 0;
- }
- }
- void sequenceLoop() {
- displayNum(count);
- delay(20);
- switch(count) {
- case 0:
- count = 1;
- break;
- case 255:
- count = 0;
- break;
- default:
- count = count * 2;
- break;
- }
- if( count > 255) {
- count = 0;
- }
- }
- void loop () {
- countLoop();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement