This consists of code to display characters received from the transmitter and displays them on the shiftbrites. The color can be chosen dynamically.

Dependencies:   ADXL345 mbed

Committer:
abarve9
Date:
Fri Dec 07 16:20:17 2012 +0000
Revision:
0:26a9f2b8a0c7
This consists of code to display characters received from the transmitter on the shiftbrite LEDs. The color of display can be chosen dynamically.

Who changed what in which revision?

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