jeudi 26 février 2015

What is causing my expected-unqualified id before '{' I only get it when I add the web code


the only portion that fails is the web block half way down. exact syntax is sketch_feb26b.ino:652:1: error: expected unqualified-id before '{' token I'm thinking too many brackets/wrong place?


some of the memory calls have been omitted to save space


the includes all work #include




#include <Ethernet.h>
#include <avr/pgmspace.h>
#define DATA_1 (PORTC |= 0X01) // DEFINE a value for DATA as 1 // for UNO



the defines all work




#define DATA_0 (PORTC &= 0XFE) // DEFINE a value for DATA 0 // for UNO
#define STRIP_PINOUT (DDRC=0x3F) // DEFINE PORTC as OUTPUT // for UNO (change pins 0-5; leave PORTC 6 & 7 alone)
#define NOP "nop\n\t"
#define RED 0x0000ff
#define ORG 0x7700ee
#define YEL 0xff00ff
#define GRN 0xff0000
#define CYN 0x666600
#define BLU 0x00ff00
#define VIO 0x004040
#define MAG 0x00ffff
#define WHT 0xffffff
#define BLK 0x000000
#define R1 {RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
#define R2 {BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
#define R3 {BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
#define R4 {BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK},
#define R5 {BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK},
#define R6 {BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK},
#define R7 {BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK},
#define R8 {BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK},
#define R9 {BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK},
#define R10 {BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED},
#define RALL R1 R2 R3 R4 R5 R6 R7 R8 R9 R10
#define G1 {GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
#define G2 {BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
#define G3 {BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
#define G4 {BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK},
#define G5 {BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK},
#define G6 {BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK},
#define G7 {BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK},
#define G8 {BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK},
#define G9 {BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK},
#define G10 {BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN},
#define GALL G1 G2 G3 G4 G5 G6 G7 G8 G9 G10


\
PROGMEM const unsigned long chasing_RED[][10]={RALL};
PROGMEM const unsigned long chasing_GREEN[][10]={GALL};
PROGMEM const unsigned long knight_rider_red[38][10]={
{RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{RED,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
};

PROGMEM const unsigned long knight_rider_green[38][10]={
{GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{GRN,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
};

PROGMEM const unsigned long chasing_green[][10]={
{'GRN',BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,'GRN',BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,'GRN',BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,'GRN',BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,'GRN',BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,'GRN',BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,'GRN',BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,'GRN',BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,'GRN',BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,'GRN'},
};

PROGMEM const unsigned long chasing_BLUE[][10]={
{'BLUE',BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,'BLUE',BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,'BLUE',BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,'BLUE',BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,'BLUE',BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,'BLUE',BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,'BLUE',BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,'BLUE',BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,'BLUE',BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,'BLUE'},
};

PROGMEM const unsigned long pattern_test_comet1[][10]={
{0xfdfdfd,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{0x444444,0xfdfdfd,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{0x111111,0x444444,0xfdfdfd,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,0x111111,0x444444,0xfdfdfd,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,0x111111,0x444444,0xfdfdfd,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,0x111111,0x444444,0xfdfdfd,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,0x111111,0x444444,0xfdfdfd,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,0x111111,0x444444,0xfdfdfd,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,0x111111,0x444444,0xfdfdfd,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,0x111111,0x444444,0xfdfdfd},
};

PROGMEM const unsigned long red_cylon_L[][10]={
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,BLK,0x0000f0,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,0x0000f0,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,BLK,0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{BLK,0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
{0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK},
};

PROGMEM const unsigned long star_trek_bridge[][10]={
{0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0},
{BLK,0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0,BLK},
{BLK,BLK,0x0000f0,BLK,BLK,BLK,BLK,0x0000f0,BLK,BLK},
{BLK,BLK,BLK,0x0000f0,BLK,BLK,0x0000f0,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,0x0000f0,0xf000f0,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,BLK,0xd000d0,0xd000d0,BLK,BLK,BLK,BLK},
{BLK,BLK,BLK,0x0000f0,BLK,BLK,0x0000f0,BLK,BLK,BLK},
{BLK,BLK,0x0000f0,BLK,BLK,BLK,BLK,0x0000f0,BLK,BLK},
{BLK,0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0,BLK},
{0x0000f0,BLK,BLK,BLK,BLK,BLK,BLK,BLK,BLK,0x0000f0},
};

const int arduinoPin2 = 2;
const int arduinoPin3 = 3;
const int arduinoPin4 = 4;
const int arduinoPin5 = 5;
const int arduinoPin6 = 6;
const int arduinoPin7 = 7;

void setup() {STRIP_PINOUT;

Serial.begin(9600);
pinMode(arduinoPin2, INPUT);
pinMode(arduinoPin3, INPUT);
pinMode(arduinoPin4, INPUT);
pinMode(arduinoPin5, INPUT);
pinMode(arduinoPin6, INPUT);
pinMode(arduinoPin7, INPUT);
delay(1); reset_strip();
}



loop works fine with out web/ethernet portion




void loop(){

if (digitalRead(8))
{
client.print(” LED is <font color=’green’>ON</font>”);
}
else
{
client.print(” LED is <font color=’red’>OFF</font>”);
client.println(“<br />”);

}



web button problem from here




client.print("<FORM action=\"http://192.168.2.118/\" >");
//client.print(“<FORM action=\"http://192.168.1.177/\” >”);
client.print(“<P> <INPUT type=\”radio\” name=\”status\” value=\”1\”>ON”);
client.print(“<P> <INPUT type=\”radio\” name=\”status\” value=\”0\”>OFF”);
client.print(“<P> <INPUT type=\”submit\” value=\”Submit\”> </FORM>”);



web problem to here




break;
}


send_1M_pattern(chasing_WHITE, 10, 35); delay(1500);
send_1M_pattern(chasing_WHITE, 10, 35); delay(1500);
send_1M_pattern(chasing_WHITE, 10, 20); delay(300);
send_1M_pattern(chasing_WHITE, 10, 20); delay(300);
send_1M_pattern(chasing_WHITE, 10, 15); delay(20);
send_1M_pattern(chasing_WHITE, 10, 20); delay(20);
send_1M_pattern(chasing_WHITE, 10, 15); delay(50);
send_1M_pattern(chasing_WHITE, 10, 25); delay(50);
send_1M_pattern(chasing_WHITE, 13, 25); delay(50);
send_1M_pattern(chasing_WHITE, 13, 25); delay(50);
send_1M_pattern(chasing_WHITE, 10, 20); delay(20);
send_1M_pattern(chasing_WHITE, 10, 20); delay(20);
//
send_1M_pattern(pattern_test_comet1, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet2, 10, 70); delay(500);
send_1M_pattern(pattern_test_comet3, 10, 70); delay(500);
//
send_1M_pattern(rainbow1, 10, 255); delay(2000);
send_1M_pattern(rainbow1, 10, 10); delay(1000);
send_1M_pattern(rainbow1, 10, 10); delay(1000);
send_1M_pattern(rainbow1, 10, 10); delay(1000);
send_1M_pattern(rainbow1, 10, 255); delay(1500);
send_1M_pattern(rainbow1, 10, 255); delay(2000);
send_1M_pattern(rainbow1, 10, 255); delay(2500);
send_1M_pattern(rainbow1, 10, 255); delay(1000);
send_1M_pattern(rainbow1, 10, 255); delay(1500);
send_1M_pattern(rainbow1, 10, 255); delay(1000);
send_1M_pattern(rainbow1, 10, 255); delay(1000);
//
send_1M_pattern(chasing_RED, 10, 30); delay(25);
send_1M_pattern(chasing_RED, 10, 30); delay(25);
send_1M_pattern(chasing_RED, 10, 30); delay(25);
send_1M_pattern(chasing_RED, 10, 30); delay(25);
send_1M_pattern(chasing_RED, 10, 30); delay(25);
send_1M_pattern(chasing_RED, 10, 30); delay(25);
send_1M_pattern(chasing_WHITE, 10, 30); delay(25);
send_1M_pattern(chasing_WHITE, 10, 30); delay(25);
send_1M_pattern(chasing_WHITE, 10, 30); delay(25);
send_1M_pattern(chasing_WHITE, 10, 30); delay(25);
send_1M_pattern(chasing_WHITE, 10, 30); delay(25);
send_1M_pattern(chasing_WHITE, 10, 30); delay(25);
send_1M_pattern(chasing_BLUE, 10, 30); delay(25);
send_1M_pattern(chasing_BLUE, 10, 30); delay(25);
send_1M_pattern(chasing_BLUE, 10, 30); delay(25);
send_1M_pattern(chasing_BLUE, 10, 30); delay(25);
send_1M_pattern(chasing_BLUE, 10, 30); delay(25);
send_1M_pattern(chasing_BLUE, 10, 30); delay(25);
//
send_1M_pattern(chasing_WHITE, 10, 20); delay(25);
send_1M_pattern(chasing_WHITE, 10, 20); delay(25);
send_1M_pattern(chasing_WHITE, 10, 20); delay(25);
//

send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
send_1M_pattern(chasing_RED, 10, 30); delay(5);
send_1M_pattern(chasing_WHITE, 10, 30); delay(5);
send_1M_pattern(chasing_BLUE, 10, 30); delay(5);
//
send_1M_pattern(chasing_GREEN, 1, 500); delay(500);
send_1M_pattern(chasing_GREEN, 2, 500); delay(500);
send_1M_pattern(chasing_GREEN, 3, 500); delay(500);
send_1M_pattern(chasing_GREEN, 4, 500); delay(500);
send_1M_pattern(chasing_GREEN, 5, 500); delay(500);
send_1M_pattern(chasing_GREEN, 6, 500); delay(500);
send_1M_pattern(chasing_GREEN, 7, 500); delay(500);
//
send_1M_pattern(chasing_BLUE, 10, 500); delay(500);
7 send_1M_pattern(star_trek_bridge, 10, 500); delay(300);
send_1M_pattern(rainbow1, 10, 100); delay(100);
send_1M_pattern(cylon_test_red, 100, 100); delay(900);
send_1M_pattern(red_cylon_L, 10, 70);
send_1M_pattern(red_white_blue, 10, 100); delay(300);

digitalWrite(arduinoPin2, LOW);
digitalWrite(arduinoPin3, LOW);
digitalWrite(arduinoPin4, LOW);
digitalWrite(arduinoPin5, LOW);

if (digitalRead(arduinoPin2) == HIGH)
{send_1M_pattern(chasing_RED, 10, 70);}

else

if (digitalRead(arduinoPin3) == HIGH)
{send_1M_pattern(chasing_GREEN, 10, 100);}
{send_1M_pattern(knight_rider_red, 38, 100);}
{send_1M_pattern(knight_rider_green, 38, 100);}//}

void send_1M_pattern(const unsigned long data[][10], int pattern_no, int frame_rate)

{int i=0;
int j=0;
uint32_t temp_data;
for (i=0;i<pattern_no;i++)
{
noInterrupts(); // Turn OFF Interupts for more precise Pulse Timing using MCU processing cycles
for (j=0;j<10;j++)
{
temp_data=pgm_read_dword_near(&data[i][j]);
send_strip(temp_data);
}
interrupts(); // Turn ON Interrupts after data is sent
delay(frame_rate); // ion of each FRAME, before the next series is sent;
}}
void send_strip(uint32_t data)
{int i;
unsigned long j=0x800000;
int d;
for (i=0;i<24;i++)
{if (data & j)
{DATA_1; for (d=1;d<13;d++)
{__asm__(NOP);}
DATA_0; // Set OUTPUT PIN LOW ;
}
else
{DATA_1; for (d=1;d<5;d++)
{__asm__(NOP);}
DATA_0;
__asm__(NOP);
__asm__(NOP);
__asm__(NOP);}
j>>=1;
}}
void reset_strip() {DATA_0; delayMicroseconds(20);}




Aucun commentaire:

Enregistrer un commentaire