This consists of code to receive the characters transmitted via zigbee and display them on shiftbrite RGB LEDs with color properties.

Dependencies:   ADXL345 mbed

Committer:
abarve9
Date:
Fri Dec 07 07:41:04 2012 +0000
Revision:
0:b4494ee6461c
This consists of code to receive the characters transmitted via zigbee and display them on shiftbrite RGB  LEDs with color properties.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
abarve9 0:b4494ee6461c 1 #include "ADXL345.h"
abarve9 0:b4494ee6461c 2 #include "mbed.h"
abarve9 0:b4494ee6461c 3 #include "iostream"
abarve9 0:b4494ee6461c 4 #include "stdio.h"
abarve9 0:b4494ee6461c 5 #include "stdlib.h"
abarve9 0:b4494ee6461c 6 #include "string"
abarve9 0:b4494ee6461c 7
abarve9 0:b4494ee6461c 8 using namespace std;
abarve9 0:b4494ee6461c 9
abarve9 0:b4494ee6461c 10 PortOut ledport(Port1, 0xFFFFFFFF);
abarve9 0:b4494ee6461c 11 ADXL345 accelerometer(p5, p6, p7, p8);
abarve9 0:b4494ee6461c 12 //Serial pc(USBTX, USBRX);
abarve9 0:b4494ee6461c 13 //---shiftbrite
abarve9 0:b4494ee6461c 14 DigitalOut latch(p15);
abarve9 0:b4494ee6461c 15 DigitalOut enable(p16);
abarve9 0:b4494ee6461c 16 SPI spi(p11, p12, p13);
abarve9 0:b4494ee6461c 17
abarve9 0:b4494ee6461c 18 DigitalOut led8(p28);
abarve9 0:b4494ee6461c 19 DigitalOut led7(p27);
abarve9 0:b4494ee6461c 20 DigitalOut led6(p26);
abarve9 0:b4494ee6461c 21 DigitalOut led5(p25);
abarve9 0:b4494ee6461c 22 DigitalOut led4(p24);
abarve9 0:b4494ee6461c 23 DigitalOut led3(p23);
abarve9 0:b4494ee6461c 24 DigitalOut led2(p22);
abarve9 0:b4494ee6461c 25 DigitalOut led1(p21);
abarve9 0:b4494ee6461c 26
abarve9 0:b4494ee6461c 27 // ------------------------- Zigbee -------------
abarve9 0:b4494ee6461c 28
abarve9 0:b4494ee6461c 29 Serial xbee2(p9, p10);
abarve9 0:b4494ee6461c 30 DigitalOut rst1(p17);
abarve9 0:b4494ee6461c 31 Serial pc1(USBTX, USBRX);
abarve9 0:b4494ee6461c 32 DigitalOut myled(LED2);
abarve9 0:b4494ee6461c 33
abarve9 0:b4494ee6461c 34 //----RGB Led function
abarve9 0:b4494ee6461c 35
abarve9 0:b4494ee6461c 36 void RGB_LED(int red, int green, int blue)
abarve9 0:b4494ee6461c 37 {
abarve9 0:b4494ee6461c 38 unsigned int low_color=0;
abarve9 0:b4494ee6461c 39 unsigned int high_color=0;
abarve9 0:b4494ee6461c 40 high_color=(blue<<4)|((red&0x3C0)>>6);
abarve9 0:b4494ee6461c 41 low_color=(((red&0x3F)<<10)|(green));
abarve9 0:b4494ee6461c 42 spi.write(high_color);
abarve9 0:b4494ee6461c 43 spi.write(low_color);
abarve9 0:b4494ee6461c 44 latch=1;
abarve9 0:b4494ee6461c 45 latch=0;
abarve9 0:b4494ee6461c 46 }
abarve9 0:b4494ee6461c 47
abarve9 0:b4494ee6461c 48 int main()
abarve9 0:b4494ee6461c 49 {
abarve9 0:b4494ee6461c 50 int count=0;
abarve9 0:b4494ee6461c 51 int readings[3] = {0, 0, 0};
abarve9 0:b4494ee6461c 52 //int del = 0;
abarve9 0:b4494ee6461c 53 int16_t sum = 0;
abarve9 0:b4494ee6461c 54 int16_t xval[50];
abarve9 0:b4494ee6461c 55 int i = 0;
abarve9 0:b4494ee6461c 56 char text[30];
abarve9 0:b4494ee6461c 57 int len,len1;
abarve9 0:b4494ee6461c 58 len1 = 0;
abarve9 0:b4494ee6461c 59 len = 0;
abarve9 0:b4494ee6461c 60
abarve9 0:b4494ee6461c 61 //---------SHift brite
abarve9 0:b4494ee6461c 62
abarve9 0:b4494ee6461c 63 int red=0;
abarve9 0:b4494ee6461c 64 int green=0;
abarve9 0:b4494ee6461c 65 int blue=0;
abarve9 0:b4494ee6461c 66 spi.format(16,0);
abarve9 0:b4494ee6461c 67 spi.frequency(500000);
abarve9 0:b4494ee6461c 68 enable=0;
abarve9 0:b4494ee6461c 69 latch=0;
abarve9 0:b4494ee6461c 70
abarve9 0:b4494ee6461c 71 // --------- Zigbee
abarve9 0:b4494ee6461c 72
abarve9 0:b4494ee6461c 73 char character;
abarve9 0:b4494ee6461c 74 rst1 = 0; //Set reset pin to 0
abarve9 0:b4494ee6461c 75 myled = 0;
abarve9 0:b4494ee6461c 76 wait_ms(1);
abarve9 0:b4494ee6461c 77 rst1 = 1; //Set reset pin to 1
abarve9 0:b4494ee6461c 78 wait_ms(1);
abarve9 0:b4494ee6461c 79
abarve9 0:b4494ee6461c 80 char buffer[20];
abarve9 0:b4494ee6461c 81 int global = 0;
abarve9 0:b4494ee6461c 82
abarve9 0:b4494ee6461c 83 //--- Zigbeeee
abarve9 0:b4494ee6461c 84
abarve9 0:b4494ee6461c 85 const char font[0x60][5] = {
abarve9 0:b4494ee6461c 86
abarve9 0:b4494ee6461c 87 {0x00,0x00,0x00,0x00,0x00}, // ASCII - 32 space
abarve9 0:b4494ee6461c 88 {0x00,0x00,0xF9,0x00,0x00}, // ASCII - 33 !
abarve9 0:b4494ee6461c 89 {0x00,0xE0,0x00,0xE0,0x00}, // ASCII - 34 "
abarve9 0:b4494ee6461c 90 {0x24,0x7E,0x24,0x7E,0x24}, // ASCII - 35 #
abarve9 0:b4494ee6461c 91 {0x34,0x4A,0xFF,0x49,0x26}, // ASCII - 36 $
abarve9 0:b4494ee6461c 92 {0x22,0x04,0x08,0x10,0x22}, // ASCII - 37 %
abarve9 0:b4494ee6461c 93 {0x26,0x59,0x4D,0x52,0x25}, // ASCII - 38 &
abarve9 0:b4494ee6461c 94 {0x00,0x00,0xE0,0x00,0x00}, // ASCII - 39 '
abarve9 0:b4494ee6461c 95 {0x00,0x3C,0x42,0x81,0x00}, // ASCII - 40 (
abarve9 0:b4494ee6461c 96 {0x00,0x81,0x42,0x3C,0x00}, // ASCII - 41 )
abarve9 0:b4494ee6461c 97 {0x28,0x30,0xE0,0x30,0x28}, // ASCII - 42 *
abarve9 0:b4494ee6461c 98 {0x08,0x08,0x3E,0x08,0x08}, // ASCII - 43 +
abarve9 0:b4494ee6461c 99 {0x00,0x01,0x02,0x00,0x00}, // ASCII - 44 ,
abarve9 0:b4494ee6461c 100 {0x08,0x08,0x08,0x08,0x08}, // ASCII - 45 -
abarve9 0:b4494ee6461c 101 {0x00,0x00,0x01,0x00,0x00}, // ASCII - 46 .
abarve9 0:b4494ee6461c 102 {0x02,0x04,0x08,0x10,0x20}, // ASCII - 47 /
abarve9 0:b4494ee6461c 103 {0x7E,0x81,0x81,0x81,0x7E}, // ASCII - 48 0
abarve9 0:b4494ee6461c 104 {0x00,0x21,0xFF,0x01,0x00}, // ASCII - 49 1
abarve9 0:b4494ee6461c 105 {0x41,0x83,0x85,0x89,0x71}, // ASCII - 50 2
abarve9 0:b4494ee6461c 106 {0x42,0x91,0x91,0x91,0x6E}, // ASCII - 51 3
abarve9 0:b4494ee6461c 107 {0xF0,0x10,0x10,0x10,0xFF}, // ASCII - 52 4
abarve9 0:b4494ee6461c 108 {0xF2,0x91,0x91,0x91,0x8E}, // ASCII - 53 5
abarve9 0:b4494ee6461c 109 {0x3E,0x51,0x91,0x91,0x8E}, // ASCII - 54 6
abarve9 0:b4494ee6461c 110 {0x87,0x88,0x90,0xA0,0xC0}, // ASCII - 55 7
abarve9 0:b4494ee6461c 111 {0x76,0x89,0x89,0x89,0x76}, // ASCII - 56 8
abarve9 0:b4494ee6461c 112 {0x62,0x91,0x91,0x91,0x7e}, // ASCII - 57 9
abarve9 0:b4494ee6461c 113 {0x00,0x00,0x24,0x00,0x00}, // ASCII - 58 :
abarve9 0:b4494ee6461c 114 {0x00,0x01,0x12,0x00,0x00}, // ASCII - 59 ;
abarve9 0:b4494ee6461c 115 {0x00,0x08,0x14,0x22,0x41}, // ASCII - 60 <
abarve9 0:b4494ee6461c 116 {0x14,0x14,0x14,0x14,0x14}, // ASCII - 61 =
abarve9 0:b4494ee6461c 117 {0x00,0x41,0x22,0x14,0x08}, // ASCII - 62 >
abarve9 0:b4494ee6461c 118 {0x40,0x80,0x8D,0x90,0x60}, // ASCII - 63 ?
abarve9 0:b4494ee6461c 119 {0x7E,0x81,0xBD,0xA5,0x78}, // ASCII - 64 @
abarve9 0:b4494ee6461c 120 {0x3F,0x48,0x88,0x48,0x3F}, // ASCII - 65 A
abarve9 0:b4494ee6461c 121 {0xFF,0x91,0x91,0x99,0x66}, // ASCII - 66 B
abarve9 0:b4494ee6461c 122 {0x3C,0x42,0x81,0x81,0x42}, // ASCII - 67 C
abarve9 0:b4494ee6461c 123 {0xFF,0x81,0x81,0x42,0x3C}, // ASCII - 68 D
abarve9 0:b4494ee6461c 124 {0xFF,0x91,0x91,0x91,0x81}, // ASCII - 69 E
abarve9 0:b4494ee6461c 125 {0xFF,0x90,0x90,0x90,0x80}, // ASCII - 70 F
abarve9 0:b4494ee6461c 126 {0x3E,0x41,0x8F,0x88,0x4F}, // ASCII - 71 G
abarve9 0:b4494ee6461c 127 {0xFF,0x10,0x10,0x10,0xFF}, // ASCII - 72 H
abarve9 0:b4494ee6461c 128 {0x00,0x81,0xFF,0x81,0x00}, // ASCII - 73 I
abarve9 0:b4494ee6461c 129 {0x06,0x01,0x81,0xFE,0x80}, // ASCII - 74 J
abarve9 0:b4494ee6461c 130 {0xFF,0x18,0x24,0x42,0x81}, // ASCII - 75 K
abarve9 0:b4494ee6461c 131 {0xFF,0x01,0x01,0x01,0x01}, // ASCII - 76 L
abarve9 0:b4494ee6461c 132 {0xFF,0x40,0x30,0x40,0xFF}, // ASCII - 77 M
abarve9 0:b4494ee6461c 133 {0xFF,0x40,0x20,0x10,0xFF}, // ASCII - 78 N
abarve9 0:b4494ee6461c 134 {0x7E,0x81,0x81,0x81,0x7E}, // ASCII - 79 O
abarve9 0:b4494ee6461c 135 {0xFF,0x90,0x90,0x90,0x60}, // ASCII - 80 P
abarve9 0:b4494ee6461c 136 {0x7E,0x81,0x85,0x82,0x7D}, // ASCII - 81 Q
abarve9 0:b4494ee6461c 137 {0xFF,0x98,0x94,0x92,0x61}, // ASCII - 82 R
abarve9 0:b4494ee6461c 138 {0x72,0x89,0x89,0x89,0x46}, // ASCII - 83 S
abarve9 0:b4494ee6461c 139 {0x80,0x80,0xFF,0x80,0x80}, // ASCII - 84 T
abarve9 0:b4494ee6461c 140 {0xFE,0x01,0x01,0x01,0xFE}, // ASCII - 85 U
abarve9 0:b4494ee6461c 141 {0xFC,0x02,0x01,0x02,0xFC}, // ASCII - 86 V
abarve9 0:b4494ee6461c 142 {0xFF,0x02,0x1C,0x02,0xFF}, // ASCII - 87 W
abarve9 0:b4494ee6461c 143 {0xC3,0x24,0x18,0x24,0xC3}, // ASCII - 88 X
abarve9 0:b4494ee6461c 144 {0xC0,0x20,0x1F,0x20,0xC0}, // ASCII - 89 Y
abarve9 0:b4494ee6461c 145 {0x87,0x89,0x91,0xA1,0xC1}, // ASCII - 90 Z
abarve9 0:b4494ee6461c 146 {0x00,0xFF,0x81,0x81,0x00}, // ASCII - 91 [
abarve9 0:b4494ee6461c 147 {0x20,0x10,0x08,0x04,0x02}, // ASCII - 92 '\'
abarve9 0:b4494ee6461c 148 {0x00,0x81,0x81,0xFF,0x00}, // ASCII - 93 ]
abarve9 0:b4494ee6461c 149 {0x20,0x40,0x80,0x40,0x20}, // ASCII - 94 ^
abarve9 0:b4494ee6461c 150 {0x01,0x01,0x01,0x01,0x01}, // ASCII - 95 _
abarve9 0:b4494ee6461c 151 {0x00,0x80,0x40,0x20,0x00}, // ASCII - 96 `
abarve9 0:b4494ee6461c 152 {0x26,0x29,0x29,0x1F,0x01}, // ASCII - 97 a
abarve9 0:b4494ee6461c 153 {0xFF,0x11,0x11,0x11,0x0E}, // ASCII - 98 b
abarve9 0:b4494ee6461c 154 {0x0E,0x11,0x11,0x11,0x11}, // ASCII - 99 c
abarve9 0:b4494ee6461c 155 {0x0E,0x11,0x11,0x11,0xFF}, // ASCII - 500 d
abarve9 0:b4494ee6461c 156 {0x0E,0x15,0x15,0x15,0x0D}, // ASCII - 101 e
abarve9 0:b4494ee6461c 157 {0x10,0x10,0x7F,0x90,0x90}, // ASCII - 102 f
abarve9 0:b4494ee6461c 158 {0x08,0x15,0x15,0x15,0x0E}, // ASCII - 103 g
abarve9 0:b4494ee6461c 159 {0xFF,0x08,0x08,0x08,0x07}, // ASCII - 104 h
abarve9 0:b4494ee6461c 160 {0x00,0x00,0x9F,0x00,0x00}, // ASCII - 105 i
abarve9 0:b4494ee6461c 161 {0x02,0x01,0x01,0x9F,0x00}, // ASCII - 106 j
abarve9 0:b4494ee6461c 162 {0xFF,0x04,0x0A,0x11,0x00}, // ASCII - 107 k
abarve9 0:b4494ee6461c 163 {0x00,0x01,0xFF,0x01,0x00}, // ASCII - 108 l
abarve9 0:b4494ee6461c 164 {0x1F,0x10,0x0F,0x10,0x0F}, // ASCII - 109 m
abarve9 0:b4494ee6461c 165 {0x10,0x0F,0x10,0x10,0x0F}, // ASCII - 110 n
abarve9 0:b4494ee6461c 166 {0x0E,0x11,0x11,0x11,0x0E}, // ASCII - 111 o
abarve9 0:b4494ee6461c 167 {0x1F,0x14,0x14,0x14,0x08}, // ASCII - 112 p
abarve9 0:b4494ee6461c 168 {0x08,0x14,0x14,0x14,0x1F}, // ASCII - 113 q
abarve9 0:b4494ee6461c 169 {0x1F,0x08,0x10,0x10,0x08}, // ASCII - 114 r
abarve9 0:b4494ee6461c 170 {0x09,0x15,0x15,0x15,0x12}, // ASCII - 115 s
abarve9 0:b4494ee6461c 171 {0x10,0x10,0x7F,0x11,0x12}, // ASCII - 116 t
abarve9 0:b4494ee6461c 172 {0x1F,0x01,0x01,0x1F,0x01}, // ASCII - 117 u
abarve9 0:b4494ee6461c 173 {0x1C,0x02,0x01,0x02,0x1C}, // ASCII - 118 v
abarve9 0:b4494ee6461c 174 {0x1E,0x01,0x0F,0x01,0x1E}, // ASCII - 119 w
abarve9 0:b4494ee6461c 175 {0x11,0x0A,0x04,0x0A,0x11}, // ASCII - 120 x
abarve9 0:b4494ee6461c 176 {0x11,0x0A,0x04,0x08,0x10}, // ASCII - 121 y
abarve9 0:b4494ee6461c 177 {0x11,0x13,0x15,0x19,0x11}, // ASCII - 122 z
abarve9 0:b4494ee6461c 178 {0x18,0x66,0x81,0x81,0x00}, // ASCII - 123 {
abarve9 0:b4494ee6461c 179 {0x00,0x00,0xFF,0x00,0x00}, // ASCII - 124 |
abarve9 0:b4494ee6461c 180 {0x00,0x81,0x81,0x66,0x18}, // ASCII - 125 }
abarve9 0:b4494ee6461c 181 {0x0C,0x10,0x08,0x04,0x18}, // ASCII - 126 ~
abarve9 0:b4494ee6461c 182 };
abarve9 0:b4494ee6461c 183
abarve9 0:b4494ee6461c 184 char currentchar = 0;
abarve9 0:b4494ee6461c 185 int LED_MASK = 0xFFFFFFFF;
abarve9 0:b4494ee6461c 186
abarve9 0:b4494ee6461c 187
abarve9 0:b4494ee6461c 188 //pc.printf("Starting ADXL345 test...\r\n");
abarve9 0:b4494ee6461c 189 // pc.printf("Device ID is: 0x%02x\r\n", accelerometer.getDevId());
abarve9 0:b4494ee6461c 190 wait(3);
abarve9 0:b4494ee6461c 191
abarve9 0:b4494ee6461c 192 //Go into standby mode to configure the device.
abarve9 0:b4494ee6461c 193 accelerometer.setPowerControl(0x00);
abarve9 0:b4494ee6461c 194
abarve9 0:b4494ee6461c 195 //Full resolution, +/-16g, 4mg/LSB.
abarve9 0:b4494ee6461c 196 accelerometer.setDataFormatControl(0x0B);
abarve9 0:b4494ee6461c 197
abarve9 0:b4494ee6461c 198 //3.2kHz data rate.
abarve9 0:b4494ee6461c 199 accelerometer.setDataRate(ADXL345_3200HZ);
abarve9 0:b4494ee6461c 200
abarve9 0:b4494ee6461c 201 //Measurement mode.
abarve9 0:b4494ee6461c 202 accelerometer.setPowerControl(0x08);
abarve9 0:b4494ee6461c 203
abarve9 0:b4494ee6461c 204 while (1) {
abarve9 0:b4494ee6461c 205 global=0;
abarve9 0:b4494ee6461c 206
abarve9 0:b4494ee6461c 207 while(1) {
abarve9 0:b4494ee6461c 208 // test = xbee2.readable();
abarve9 0:b4494ee6461c 209
abarve9 0:b4494ee6461c 210 if(xbee2.readable()) {
abarve9 0:b4494ee6461c 211 character = xbee2.getc();
abarve9 0:b4494ee6461c 212
abarve9 0:b4494ee6461c 213 if(character == 13) {
abarve9 0:b4494ee6461c 214
abarve9 0:b4494ee6461c 215 buffer[global] = '\0';
abarve9 0:b4494ee6461c 216 break;
abarve9 0:b4494ee6461c 217 } else {
abarve9 0:b4494ee6461c 218 buffer[global]= character;
abarve9 0:b4494ee6461c 219 global++;
abarve9 0:b4494ee6461c 220
abarve9 0:b4494ee6461c 221 }
abarve9 0:b4494ee6461c 222 }
abarve9 0:b4494ee6461c 223
abarve9 0:b4494ee6461c 224 }
abarve9 0:b4494ee6461c 225
abarve9 0:b4494ee6461c 226 pc1.printf("\n\rbuffer = %s\n\r" ,buffer);
abarve9 0:b4494ee6461c 227 //pc1.printf(" \n\rBuffer = %s", buffer);
abarve9 0:b4494ee6461c 228 len1 = strlen(buffer);
abarve9 0:b4494ee6461c 229
abarve9 0:b4494ee6461c 230 for( int m =0; m < (len1 + 2); m++) {
abarve9 0:b4494ee6461c 231
abarve9 0:b4494ee6461c 232 text[m] = 0x20;
abarve9 0:b4494ee6461c 233 }
abarve9 0:b4494ee6461c 234
abarve9 0:b4494ee6461c 235 for( int m =(len1 + 2); m <( 2*len1 + 2); m++) {
abarve9 0:b4494ee6461c 236
abarve9 0:b4494ee6461c 237 text[m] = buffer[m - (len1 +2)];
abarve9 0:b4494ee6461c 238 }
abarve9 0:b4494ee6461c 239
abarve9 0:b4494ee6461c 240 text[2*len1 + 2] = '\0';
abarve9 0:b4494ee6461c 241 len = strlen(text);
abarve9 0:b4494ee6461c 242 for(int p =0; p <len; p++) {
abarve9 0:b4494ee6461c 243 pc1.printf("%c", text[p]);
abarve9 0:b4494ee6461c 244 }
abarve9 0:b4494ee6461c 245 pc1.printf("\n\rstrlen(text) = %d", len);
abarve9 0:b4494ee6461c 246 float waitvalue = 0.08 / ((6*len));
abarve9 0:b4494ee6461c 247
abarve9 0:b4494ee6461c 248
abarve9 0:b4494ee6461c 249
abarve9 0:b4494ee6461c 250 while(!(xbee2.readable())) {
abarve9 0:b4494ee6461c 251 red = 0;
abarve9 0:b4494ee6461c 252 green = 0;
abarve9 0:b4494ee6461c 253 blue = 0;
abarve9 0:b4494ee6461c 254
abarve9 0:b4494ee6461c 255
abarve9 0:b4494ee6461c 256 do {
abarve9 0:b4494ee6461c 257 accelerometer.getOutput(readings);
abarve9 0:b4494ee6461c 258 if(xbee2.readable())
abarve9 0:b4494ee6461c 259 break;
abarve9 0:b4494ee6461c 260 } while((int16_t)readings[1] < 50);
abarve9 0:b4494ee6461c 261 i = 0;
abarve9 0:b4494ee6461c 262
abarve9 0:b4494ee6461c 263 while(text[i] != '\0') {
abarve9 0:b4494ee6461c 264
abarve9 0:b4494ee6461c 265 /*led8 = 0;
abarve9 0:b4494ee6461c 266 led7 = 0;
abarve9 0:b4494ee6461c 267 led6 = 0;
abarve9 0:b4494ee6461c 268 led5 = 0;
abarve9 0:b4494ee6461c 269 led4 = 0;
abarve9 0:b4494ee6461c 270 led3 = 0;
abarve9 0:b4494ee6461c 271 led2 = 0;
abarve9 0:b4494ee6461c 272 led1 = 0;*/
abarve9 0:b4494ee6461c 273 for( int m=0; m < 8; m++) {
abarve9 0:b4494ee6461c 274 red = 0;
abarve9 0:b4494ee6461c 275 green = 0;
abarve9 0:b4494ee6461c 276 blue = 0;
abarve9 0:b4494ee6461c 277 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 278 }
abarve9 0:b4494ee6461c 279 wait(waitvalue);
abarve9 0:b4494ee6461c 280 currentchar = text[i];
abarve9 0:b4494ee6461c 281
abarve9 0:b4494ee6461c 282 for( int m =0; m <5; m++) {
abarve9 0:b4494ee6461c 283 char mal = font[currentchar - 0x20][m];
abarve9 0:b4494ee6461c 284 led8 = mal & 0x80;
abarve9 0:b4494ee6461c 285 led7 = mal & 0x40;
abarve9 0:b4494ee6461c 286 led6 = mal & 0x20;
abarve9 0:b4494ee6461c 287 led5 = mal & 0x10;
abarve9 0:b4494ee6461c 288 led4 = mal & 0x08;
abarve9 0:b4494ee6461c 289 led3 = mal & 0x04;
abarve9 0:b4494ee6461c 290 led2 = mal & 0x02;
abarve9 0:b4494ee6461c 291 led1 = mal & 0x01;
abarve9 0:b4494ee6461c 292 if(led8 == 1) {
abarve9 0:b4494ee6461c 293 green = 0;
abarve9 0:b4494ee6461c 294 red = 500;
abarve9 0:b4494ee6461c 295 blue = 0;
abarve9 0:b4494ee6461c 296 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 297 } else {
abarve9 0:b4494ee6461c 298
abarve9 0:b4494ee6461c 299 red = 0;
abarve9 0:b4494ee6461c 300 green = 0;
abarve9 0:b4494ee6461c 301 blue = 0;
abarve9 0:b4494ee6461c 302 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 303
abarve9 0:b4494ee6461c 304 }
abarve9 0:b4494ee6461c 305
abarve9 0:b4494ee6461c 306 if(led7 == 1) {
abarve9 0:b4494ee6461c 307 green = 0;
abarve9 0:b4494ee6461c 308 red = 500;
abarve9 0:b4494ee6461c 309 blue = 0;
abarve9 0:b4494ee6461c 310 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 311 } else {
abarve9 0:b4494ee6461c 312
abarve9 0:b4494ee6461c 313 red = 0;
abarve9 0:b4494ee6461c 314 green = 0;
abarve9 0:b4494ee6461c 315 blue = 0;
abarve9 0:b4494ee6461c 316 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 317
abarve9 0:b4494ee6461c 318 }
abarve9 0:b4494ee6461c 319
abarve9 0:b4494ee6461c 320 if(led6 == 1) {
abarve9 0:b4494ee6461c 321 green = 0;
abarve9 0:b4494ee6461c 322 red = 500;
abarve9 0:b4494ee6461c 323 blue = 0;
abarve9 0:b4494ee6461c 324 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 325 } else {
abarve9 0:b4494ee6461c 326
abarve9 0:b4494ee6461c 327 red = 0;
abarve9 0:b4494ee6461c 328 green = 0;
abarve9 0:b4494ee6461c 329 blue = 0;
abarve9 0:b4494ee6461c 330 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 331
abarve9 0:b4494ee6461c 332 }
abarve9 0:b4494ee6461c 333
abarve9 0:b4494ee6461c 334 if(led5 == 1) {
abarve9 0:b4494ee6461c 335 green = 500;
abarve9 0:b4494ee6461c 336 red = 0;
abarve9 0:b4494ee6461c 337 blue = 0;
abarve9 0:b4494ee6461c 338 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 339 } else {
abarve9 0:b4494ee6461c 340
abarve9 0:b4494ee6461c 341 red = 0;
abarve9 0:b4494ee6461c 342 green = 0;
abarve9 0:b4494ee6461c 343 blue = 0;
abarve9 0:b4494ee6461c 344 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 345
abarve9 0:b4494ee6461c 346 }
abarve9 0:b4494ee6461c 347
abarve9 0:b4494ee6461c 348 if(led4 == 1) {
abarve9 0:b4494ee6461c 349 green = 500;
abarve9 0:b4494ee6461c 350 red = 0;
abarve9 0:b4494ee6461c 351 blue = 0;
abarve9 0:b4494ee6461c 352 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 353 } else {
abarve9 0:b4494ee6461c 354
abarve9 0:b4494ee6461c 355 red = 0;
abarve9 0:b4494ee6461c 356 green = 0;
abarve9 0:b4494ee6461c 357 blue = 0;
abarve9 0:b4494ee6461c 358 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 359
abarve9 0:b4494ee6461c 360 }
abarve9 0:b4494ee6461c 361
abarve9 0:b4494ee6461c 362 if(led3 == 1) {
abarve9 0:b4494ee6461c 363 green = 500;
abarve9 0:b4494ee6461c 364 red = 0;
abarve9 0:b4494ee6461c 365 blue = 0;
abarve9 0:b4494ee6461c 366 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 367 } else {
abarve9 0:b4494ee6461c 368
abarve9 0:b4494ee6461c 369 red = 0;
abarve9 0:b4494ee6461c 370 green = 0;
abarve9 0:b4494ee6461c 371 blue = 0;
abarve9 0:b4494ee6461c 372 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 373
abarve9 0:b4494ee6461c 374 }
abarve9 0:b4494ee6461c 375
abarve9 0:b4494ee6461c 376 if(led2 == 1) {
abarve9 0:b4494ee6461c 377 green = 0;
abarve9 0:b4494ee6461c 378 red = 0;
abarve9 0:b4494ee6461c 379 blue = 500;
abarve9 0:b4494ee6461c 380 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 381 } else {
abarve9 0:b4494ee6461c 382
abarve9 0:b4494ee6461c 383 red = 0;
abarve9 0:b4494ee6461c 384 green = 0;
abarve9 0:b4494ee6461c 385 blue = 0;
abarve9 0:b4494ee6461c 386 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 387
abarve9 0:b4494ee6461c 388 }
abarve9 0:b4494ee6461c 389
abarve9 0:b4494ee6461c 390 if(led1 == 1) {
abarve9 0:b4494ee6461c 391 green = 0;
abarve9 0:b4494ee6461c 392 red = 0;
abarve9 0:b4494ee6461c 393 blue = 500;
abarve9 0:b4494ee6461c 394 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 395 } else {
abarve9 0:b4494ee6461c 396
abarve9 0:b4494ee6461c 397 red = 0;
abarve9 0:b4494ee6461c 398 green = 0;
abarve9 0:b4494ee6461c 399 blue = 0;
abarve9 0:b4494ee6461c 400 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 401
abarve9 0:b4494ee6461c 402 }
abarve9 0:b4494ee6461c 403 wait(waitvalue);
abarve9 0:b4494ee6461c 404
abarve9 0:b4494ee6461c 405 }
abarve9 0:b4494ee6461c 406 /*led8 = 0;
abarve9 0:b4494ee6461c 407 led7 = 0;
abarve9 0:b4494ee6461c 408 led6 = 0;
abarve9 0:b4494ee6461c 409 led5 = 0;
abarve9 0:b4494ee6461c 410 led4 = 0;
abarve9 0:b4494ee6461c 411 led3 = 0;
abarve9 0:b4494ee6461c 412 led2 = 0;
abarve9 0:b4494ee6461c 413 led1 = 0;*/
abarve9 0:b4494ee6461c 414 for( int j=0; j< 8; j++) {
abarve9 0:b4494ee6461c 415 red = 0;
abarve9 0:b4494ee6461c 416 green = 0;
abarve9 0:b4494ee6461c 417 blue = 0;
abarve9 0:b4494ee6461c 418 RGB_LED(red,green,blue);
abarve9 0:b4494ee6461c 419 }
abarve9 0:b4494ee6461c 420 wait(waitvalue);
abarve9 0:b4494ee6461c 421 i++;
abarve9 0:b4494ee6461c 422 }
abarve9 0:b4494ee6461c 423 do {
abarve9 0:b4494ee6461c 424 accelerometer.getOutput(readings);
abarve9 0:b4494ee6461c 425 if(xbee2.readable())
abarve9 0:b4494ee6461c 426 break;
abarve9 0:b4494ee6461c 427 } while((int16_t)readings[1] > -50);
abarve9 0:b4494ee6461c 428 }
abarve9 0:b4494ee6461c 429 }
abarve9 0:b4494ee6461c 430 }