e

Dependencies:   NeoStrip USBDevice mbed

Committer:
baraki
Date:
Tue Sep 22 21:49:44 2015 +0000
Revision:
0:5b9f87a086ce
for use with blue mbed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
baraki 0:5b9f87a086ce 1 #include "mbed.h"
baraki 0:5b9f87a086ce 2 #include "math.h"
baraki 0:5b9f87a086ce 3 #include "bluetoothComm.h"
baraki 0:5b9f87a086ce 4 #include "NeoStrip.h"
baraki 0:5b9f87a086ce 5
baraki 0:5b9f87a086ce 6 #define BT_BAUD 9600
baraki 0:5b9f87a086ce 7 #define NUM_LRAS 5
baraki 0:5b9f87a086ce 8 #define NUM_ENS NUM_LRAS
baraki 0:5b9f87a086ce 9 #define NUM_LEVELS 7
baraki 0:5b9f87a086ce 10 #define NUM_PULSES 5
baraki 0:5b9f87a086ce 11
baraki 0:5b9f87a086ce 12 #define NUM_LIDAR 7 //number of lidar
baraki 0:5b9f87a086ce 13
baraki 0:5b9f87a086ce 14 #define LED_NUM NUM_LIDAR
baraki 0:5b9f87a086ce 15 #define LED_PIN p16
baraki 0:5b9f87a086ce 16
baraki 0:5b9f87a086ce 17 NeoStrip leds(LED_PIN, LED_NUM);
baraki 0:5b9f87a086ce 18
baraki 0:5b9f87a086ce 19 PwmOut lra[NUM_LRAS] = {
baraki 0:5b9f87a086ce 20 PwmOut(p25), PwmOut(p24),PwmOut(p23),PwmOut(p22),
baraki 0:5b9f87a086ce 21 PwmOut(p21)
baraki 0:5b9f87a086ce 22 };
baraki 0:5b9f87a086ce 23
baraki 0:5b9f87a086ce 24 DigitalOut myLED(LED1);
baraki 0:5b9f87a086ce 25
baraki 0:5b9f87a086ce 26 Ticker motorPulse;
baraki 0:5b9f87a086ce 27 Timeout motorOff;
baraki 0:5b9f87a086ce 28
baraki 0:5b9f87a086ce 29 // given a number between 0 and NUM_PULSES, returns the number of times
baraki 0:5b9f87a086ce 30 // the LRA should be pulsed during the maximum pulse interval
baraki 0:5b9f87a086ce 31 int pulse[NUM_PULSES] = {9, 8, 4, 2, 1};
baraki 0:5b9f87a086ce 32
baraki 0:5b9f87a086ce 33 // given a number between 0 and NUM_LEVELS, returns the
baraki 0:5b9f87a086ce 34 // corresponding intensity of the LRA
baraki 0:5b9f87a086ce 35 float intensity[8] = {0.0, 150.0/255.0, 170.0/255.0, 190.0/255.0,210.0/255.0,230.0/255.0, 250.0/255.0,255.0/255.0};
baraki 0:5b9f87a086ce 36
baraki 0:5b9f87a086ce 37 DigitalOut lra_en[NUM_ENS] = {
baraki 0:5b9f87a086ce 38 DigitalOut(p7), DigitalOut(p8),DigitalOut(p12),DigitalOut(p13),
baraki 0:5b9f87a086ce 39 DigitalOut(p14)
baraki 0:5b9f87a086ce 40 };
baraki 0:5b9f87a086ce 41
baraki 0:5b9f87a086ce 42 //length of the longest period in milliseconds
baraki 0:5b9f87a086ce 43 int longPeriod=600; //1024
baraki 0:5b9f87a086ce 44 int shortPeriod=longPeriod/pulse[0];
baraki 0:5b9f87a086ce 45 int onPeriod=60; //100
baraki 0:5b9f87a086ce 46
baraki 0:5b9f87a086ce 47 bool isOn[NUM_LRAS+2];
baraki 0:5b9f87a086ce 48 volatile int lraPulse[NUM_LRAS + 2];
baraki 0:5b9f87a086ce 49 volatile int lraCount;
baraki 0:5b9f87a086ce 50 volatile char lraIntensity[NUM_LRAS + 2];
baraki 0:5b9f87a086ce 51 // currently three modes of vibrating
baraki 0:5b9f87a086ce 52 // vibration period is divided into three sections
baraki 0:5b9f87a086ce 53 // motor can be: on/mid ; on/off ; on/mid
baraki 0:5b9f87a086ce 54 // MODE 1: ON ON ON
baraki 0:5b9f87a086ce 55 // MODE 2: MID OFF ON
baraki 0:5b9f87a086ce 56 // MODE 3: ON OFF MID
baraki 0:5b9f87a086ce 57 int lraMode[NUM_LRAS+2];
baraki 0:5b9f87a086ce 58
baraki 0:5b9f87a086ce 59 Serial pc(USBTX,USBRX);
baraki 0:5b9f87a086ce 60
baraki 0:5b9f87a086ce 61 void motorOff3_cb(void);
baraki 0:5b9f87a086ce 62 void motorOff2_cb(void);
baraki 0:5b9f87a086ce 63 void motorOff1_cb(void);
baraki 0:5b9f87a086ce 64 void processData(char *n);
baraki 0:5b9f87a086ce 65
baraki 0:5b9f87a086ce 66 void setColor(int num, int power){
baraki 0:5b9f87a086ce 67 int lednum = num*2;
baraki 0:5b9f87a086ce 68 if(num == 5)
baraki 0:5b9f87a086ce 69 lednum = 3;
baraki 0:5b9f87a086ce 70 if(num == 6)
baraki 0:5b9f87a086ce 71 lednum = 5;
baraki 0:5b9f87a086ce 72 if(power >= 240)
baraki 0:5b9f87a086ce 73 leds.setPixel(lednum, 100, 0, 0);
baraki 0:5b9f87a086ce 74 else if(power >= 220 && power < 240)
baraki 0:5b9f87a086ce 75 leds.setPixel(lednum, 0, 100,0);
baraki 0:5b9f87a086ce 76 else if(power >= 200 && power < 220)
baraki 0:5b9f87a086ce 77 leds.setPixel(lednum,100,0,100);
baraki 0:5b9f87a086ce 78 else if(power >= 100 && power < 200)
baraki 0:5b9f87a086ce 79 leds.setPixel(lednum,0,0,100);
baraki 0:5b9f87a086ce 80 else
baraki 0:5b9f87a086ce 81 leds.setPixel(lednum,0,0,0);
baraki 0:5b9f87a086ce 82 }
baraki 0:5b9f87a086ce 83
baraki 0:5b9f87a086ce 84 void processData(char *n) {
baraki 0:5b9f87a086ce 85 //try to take these variables out and make them globals to speed processing
baraki 0:5b9f87a086ce 86 int i = 0;
baraki 0:5b9f87a086ce 87 int index = 0;
baraki 0:5b9f87a086ce 88
baraki 0:5b9f87a086ce 89 char input = n[i];
baraki 0:5b9f87a086ce 90
baraki 0:5b9f87a086ce 91 unsigned char newIntensity = 0;
baraki 0:5b9f87a086ce 92
baraki 0:5b9f87a086ce 93 int m1pulse = 0;
baraki 0:5b9f87a086ce 94 int m1int = 0;
baraki 0:5b9f87a086ce 95
baraki 0:5b9f87a086ce 96 int m2pulse = 0;
baraki 0:5b9f87a086ce 97 int m2int = 0;
baraki 0:5b9f87a086ce 98
baraki 0:5b9f87a086ce 99 while(input !='\0'){
baraki 0:5b9f87a086ce 100 switch ( index ) {
baraki 0:5b9f87a086ce 101 case 0: {
baraki 0:5b9f87a086ce 102 // bits 0-2: m1 pulse
baraki 0:5b9f87a086ce 103 // bits 3-5: m1 intensity
baraki 0:5b9f87a086ce 104 // bits 6-7: first 2 bits of m1 mode
baraki 0:5b9f87a086ce 105 lraPulse[0] = pulse[(int)((input & 0xE0) >> 5) - 1]; //0b11100000
baraki 0:5b9f87a086ce 106 m1pulse = ((input & 0xE0) >> 5);
baraki 0:5b9f87a086ce 107 m1int = ((input & 0x1C) >> 2);
baraki 0:5b9f87a086ce 108 lraIntensity[0] = intensity[(int) ((input & 0x1C) >> 2)]; //0b00011100
baraki 0:5b9f87a086ce 109 setColor(0, lraIntensity[0]);
baraki 0:5b9f87a086ce 110 lraMode[0] = (input & 0x3) << 1; //0b00000011
baraki 0:5b9f87a086ce 111 break;
baraki 0:5b9f87a086ce 112 }
baraki 0:5b9f87a086ce 113 case 1: {
baraki 0:5b9f87a086ce 114 // bit 0: last bit of m1 mode
baraki 0:5b9f87a086ce 115 // bits 1-3: m2 pulse
baraki 0:5b9f87a086ce 116 // bits 4-6: m2 intensity
baraki 0:5b9f87a086ce 117 // bit 7: first bit of m2 mode
baraki 0:5b9f87a086ce 118 lraMode[0] = lraMode[0] | ((input & 0x80) >> 7); //0b10000000
baraki 0:5b9f87a086ce 119 //printf("m1 pulse: %d, intensity: %d, mode: %d \n",m1pulse,m1int,lraMode[0]);
baraki 0:5b9f87a086ce 120 printf("m1 pulse: %d, intensity: %f, mode: %d \n",lraPulse[0],lraIntensity[0],lraMode[0]);
baraki 0:5b9f87a086ce 121 m2pulse = ((input & 0x70) >> 4);
baraki 0:5b9f87a086ce 122 m2int = ((input & 0xE) >> 1);
baraki 0:5b9f87a086ce 123 lraPulse[1] = pulse[(int)((input & 0x70) >> 4) - 1]; //0b01110000
baraki 0:5b9f87a086ce 124 lraIntensity[1] = intensity[(int)((input & 0xE) >> 1)]; //0b00001110
baraki 0:5b9f87a086ce 125 setColor(1, lraIntensity[1]);
baraki 0:5b9f87a086ce 126 lraMode[1] = (input & 0x01) << 2; //0b00000001
baraki 0:5b9f87a086ce 127 break;
baraki 0:5b9f87a086ce 128 }
baraki 0:5b9f87a086ce 129 case 2: {
baraki 0:5b9f87a086ce 130 // bits 0-1: last 2 bits of m2 mode
baraki 0:5b9f87a086ce 131 // bits 2-4: m3 pulse
baraki 0:5b9f87a086ce 132 // bits 5-7: m3 intensity
baraki 0:5b9f87a086ce 133 lraMode[1] = lraMode[1] | ((input & 0xC0) >> 6); //0b11000000
baraki 0:5b9f87a086ce 134 //printf("m2 pulse: %d, intensity: %d, mode: %d \n",m2pulse,m2int,lraMode[1]);
baraki 0:5b9f87a086ce 135 printf("m2 pulse: %d, intensity: %f, mode: %d \n",lraPulse[1],lraIntensity[1],lraMode[1]);
baraki 0:5b9f87a086ce 136 lraPulse[2] = pulse[(int)((input & 0x38) >> 3) - 1]; //0b00111000
baraki 0:5b9f87a086ce 137 lraIntensity[2] = intensity[(int)(input & 0x7)]; //0b00000111
baraki 0:5b9f87a086ce 138 setColor(2, lraIntensity[2]);
baraki 0:5b9f87a086ce 139 break;
baraki 0:5b9f87a086ce 140 }
baraki 0:5b9f87a086ce 141 case 3: {
baraki 0:5b9f87a086ce 142 // bits 0-2: m3 mode
baraki 0:5b9f87a086ce 143 // bits 3-5: m4 pulse
baraki 0:5b9f87a086ce 144 // bits 6-7: first 2 bits of m4 intensity
baraki 0:5b9f87a086ce 145 lraMode[2] = (input & 0xE0) >> 5; //0b11100000
baraki 0:5b9f87a086ce 146 //printf("m3 pulse: %d, intensity: %d, mode: %d \n",((input & 0x38) >> 3),(input & 0x7),lraMode[2]);
baraki 0:5b9f87a086ce 147 printf("m3 pulse: %d, intensity: %f, mode: %d \n",lraPulse[2],lraIntensity[2],lraMode[2]);
baraki 0:5b9f87a086ce 148 lraPulse[3] = pulse[(int)((input & 0x1C) >> 2) - 1]; //0b00011100
baraki 0:5b9f87a086ce 149 newIntensity = (input & 0x03) << 1; //0b00000011
baraki 0:5b9f87a086ce 150 break;
baraki 0:5b9f87a086ce 151 }
baraki 0:5b9f87a086ce 152 case 4: {
baraki 0:5b9f87a086ce 153 // bit 0: last bit of m4 intensity
baraki 0:5b9f87a086ce 154 // bits 1-3: m4 mode
baraki 0:5b9f87a086ce 155 // bits 4-6: m5 pulse
baraki 0:5b9f87a086ce 156 // bit 7: first bit of m5 intensity
baraki 0:5b9f87a086ce 157 newIntensity = newIntensity | ((input & 0x80) >> 7); //0b10000000
baraki 0:5b9f87a086ce 158 lraIntensity[3] = intensity[(int)newIntensity];
baraki 0:5b9f87a086ce 159 setColor(3, lraIntensity[3]);
baraki 0:5b9f87a086ce 160 lraMode[3] = (input & 0x70) >> 4; //0b01110000
baraki 0:5b9f87a086ce 161 lraPulse[4] = pulse[(int)((input & 0xE) >> 1) - 1]; //0b00001110
baraki 0:5b9f87a086ce 162 newIntensity = (input & 0x01) << 2; //0b00000001
baraki 0:5b9f87a086ce 163 break;
baraki 0:5b9f87a086ce 164 }
baraki 0:5b9f87a086ce 165 case 5: {
baraki 0:5b9f87a086ce 166 // bits 0-1: last 2 bits of m5 intensity
baraki 0:5b9f87a086ce 167 // bits 2-4: m5 mode
baraki 0:5b9f87a086ce 168 // bits 5-7: 3 bit checksum supposedly
baraki 0:5b9f87a086ce 169 newIntensity = newIntensity | ((input & 0xC0) >> 6); //0b11000000
baraki 0:5b9f87a086ce 170 lraIntensity[4] = intensity[(int)newIntensity];
baraki 0:5b9f87a086ce 171 setColor(4, lraIntensity[4]);
baraki 0:5b9f87a086ce 172 lraMode[4] = (input & 0x38) >> 3; //0b00111000
baraki 0:5b9f87a086ce 173 break;
baraki 0:5b9f87a086ce 174 }
baraki 0:5b9f87a086ce 175 case 6: { //UP
baraki 0:5b9f87a086ce 176 // bits 0-2: m3 pulse UP
baraki 0:5b9f87a086ce 177 // bits 3-5: m3 intensity UP
baraki 0:5b9f87a086ce 178 lraPulse[5] = pulse[(int)((input & 0xE0) >> 5) - 1]; //0b11100000
baraki 0:5b9f87a086ce 179 //m3pulse = ((input & 0xE0) >> 5);
baraki 0:5b9f87a086ce 180 //m3int = ((input & 0x1C) >> 2);
baraki 0:5b9f87a086ce 181 lraIntensity[5] = intensity[(int) ((input & 0x1C) >> 2)]; //0b00011100
baraki 0:5b9f87a086ce 182 setColor(5, lraIntensity[5]);
baraki 0:5b9f87a086ce 183 break;
baraki 0:5b9f87a086ce 184 }
baraki 0:5b9f87a086ce 185 case 7: { //DOWN
baraki 0:5b9f87a086ce 186 // bits 0-2: m3 pulse DOWN
baraki 0:5b9f87a086ce 187 // bits 3-5: m3 intensity1 mode DOWN
baraki 0:5b9f87a086ce 188 lraPulse[6] = pulse[(int)((input & 0xE0) >> 5) - 1]; //0b11100000
baraki 0:5b9f87a086ce 189 //m3pulse = ((input & 0xE0) >> 5);
baraki 0:5b9f87a086ce 190 //m3int = ((input & 0x1C) >> 2);
baraki 0:5b9f87a086ce 191 lraIntensity[6] = intensity[(int) ((input & 0x1C) >> 2)]; //0b00011100
baraki 0:5b9f87a086ce 192 setColor(6, lraIntensity[6]);
baraki 0:5b9f87a086ce 193
baraki 0:5b9f87a086ce 194 //if lraPulse 5 or 6 are >3, that means set middle motor to highest pulse
baraki 0:5b9f87a086ce 195 if(lraPulse[5] < 4 || lraPulse[6] < 4){
baraki 0:5b9f87a086ce 196 lraPulse[2] = pulse[NUM_PULSES-1];
baraki 0:5b9f87a086ce 197 lraIntensity[2] = intensity[NUM_LEVELS];
baraki 0:5b9f87a086ce 198 }
baraki 0:5b9f87a086ce 199 break;
baraki 0:5b9f87a086ce 200 }
baraki 0:5b9f87a086ce 201 default: {
baraki 0:5b9f87a086ce 202 // do nothing
baraki 0:5b9f87a086ce 203 break;
baraki 0:5b9f87a086ce 204 }
baraki 0:5b9f87a086ce 205 }
baraki 0:5b9f87a086ce 206 index++;
baraki 0:5b9f87a086ce 207 i++;
baraki 0:5b9f87a086ce 208 input = n[i];
baraki 0:5b9f87a086ce 209 }
baraki 0:5b9f87a086ce 210 }
baraki 0:5b9f87a086ce 211
baraki 0:5b9f87a086ce 212 void motorPulse_cb(void){
baraki 0:5b9f87a086ce 213 pc.printf("hi\n");
baraki 0:5b9f87a086ce 214 for(int n=0; n<NUM_LRAS; n++) {
baraki 0:5b9f87a086ce 215 //pulse motor if lraCount is 0
baraki 0:5b9f87a086ce 216 if(lraCount % lraPulse[n] == 0) {
baraki 0:5b9f87a086ce 217 isOn[n] = true;
baraki 0:5b9f87a086ce 218 //Set LRA PWM to desired intensity
baraki 0:5b9f87a086ce 219 //if((lraMode[n] == 1) || (lraMode[n] == 3))
baraki 0:5b9f87a086ce 220 lra[n] = lraIntensity[n]; //full intensity
baraki 0:5b9f87a086ce 221 pc.printf("M%d : %f\n",n,lraIntensity[n]);
baraki 0:5b9f87a086ce 222 //else if(lraMode[n] == 2)
baraki 0:5b9f87a086ce 223 // lra[n] = lraIntensity[n] - 0.1; //"mid" intensity
baraki 0:5b9f87a086ce 224 //Turn LRA On by setting enable pin to 1
baraki 0:5b9f87a086ce 225 lra_en[n] = 1;
baraki 0:5b9f87a086ce 226 }
baraki 0:5b9f87a086ce 227 }
baraki 0:5b9f87a086ce 228 lraCount++;
baraki 0:5b9f87a086ce 229 if(lraCount > 8)
baraki 0:5b9f87a086ce 230 lraCount = 1;
baraki 0:5b9f87a086ce 231 motorOff.detach();
baraki 0:5b9f87a086ce 232 motorOff.attach(&motorOff3_cb,((float)onPeriod)/1300.0);
baraki 0:5b9f87a086ce 233 }
baraki 0:5b9f87a086ce 234
baraki 0:5b9f87a086ce 235 int main (void)
baraki 0:5b9f87a086ce 236 {
baraki 0:5b9f87a086ce 237 //Init communication
baraki 0:5b9f87a086ce 238 robotSetup(BT_BAUD); //set baud rate of bluetooth connection
baraki 0:5b9f87a086ce 239 pc.baud(9600);
baraki 0:5b9f87a086ce 240
baraki 0:5b9f87a086ce 241 leds.clear();
baraki 0:5b9f87a086ce 242 leds.setBrightness(0.15);
baraki 0:5b9f87a086ce 243
baraki 0:5b9f87a086ce 244 //initialize and start everything
baraki 0:5b9f87a086ce 245 lraCount = 0;
baraki 0:5b9f87a086ce 246 for(int i = 0; i < NUM_LRAS; i++) {
baraki 0:5b9f87a086ce 247 //set pwm frequency
baraki 0:5b9f87a086ce 248 lra[i].period_us(90);
baraki 0:5b9f87a086ce 249 //initialize values
baraki 0:5b9f87a086ce 250 //set starting vibration
baraki 0:5b9f87a086ce 251 lraIntensity[i] = 0.5f;
baraki 0:5b9f87a086ce 252 lraPulse[i] = 0;
baraki 0:5b9f87a086ce 253 lraMode[i] = 0;
baraki 0:5b9f87a086ce 254
baraki 0:5b9f87a086ce 255 lra_en[i] = 0;
baraki 0:5b9f87a086ce 256 lra[i] = lraIntensity[i]; //set initial intensity
baraki 0:5b9f87a086ce 257 isOn[i] = false;
baraki 0:5b9f87a086ce 258 }
baraki 0:5b9f87a086ce 259
baraki 0:5b9f87a086ce 260 motorPulse.attach(&motorPulse_cb, ((float) shortPeriod)/1000.0);
baraki 0:5b9f87a086ce 261
baraki 0:5b9f87a086ce 262 while(1){
baraki 0:5b9f87a086ce 263 if(getBluetoothData()){ //if the bluetooth data has finished sending (there is a \0 detected)
baraki 0:5b9f87a086ce 264 processData(bluetoothData);
baraki 0:5b9f87a086ce 265 }
baraki 0:5b9f87a086ce 266 }
baraki 0:5b9f87a086ce 267 }
baraki 0:5b9f87a086ce 268 void motorOff1_cb(void) {
baraki 0:5b9f87a086ce 269 for(int n=0;n<NUM_LRAS;n++){
baraki 0:5b9f87a086ce 270 if(isOn[n]) {
baraki 0:5b9f87a086ce 271 if(lraMode[n] == 2 || lraMode[n] == 3){//turn off motor
baraki 0:5b9f87a086ce 272 //do NOT set isOn to 0
baraki 0:5b9f87a086ce 273 //isOn is used to tell if the motor is in the midst of a pulse
baraki 0:5b9f87a086ce 274 //even if it is turned off during this phase
baraki 0:5b9f87a086ce 275 //Set LRA PWM to 0.5
baraki 0:5b9f87a086ce 276 lra[n] = 0.5f; // that turns off the motor!
baraki 0:5b9f87a086ce 277 //Turn LRA Off by setting enable pin to 0
baraki 0:5b9f87a086ce 278 lra_en[n] = 0; // no braking happening
baraki 0:5b9f87a086ce 279 }
baraki 0:5b9f87a086ce 280 //if mode is 1, leave it on
baraki 0:5b9f87a086ce 281 }
baraki 0:5b9f87a086ce 282 //motorOff[n].detach();
baraki 0:5b9f87a086ce 283 //motorOff[n].attach(&motorOff2_cb,((float)onPeriod)/3000.0);
baraki 0:5b9f87a086ce 284 }
baraki 0:5b9f87a086ce 285 }
baraki 0:5b9f87a086ce 286
baraki 0:5b9f87a086ce 287 void motorOff2_cb(void) {
baraki 0:5b9f87a086ce 288 for(int n=0;n<NUM_LRAS;n++){
baraki 0:5b9f87a086ce 289 if(isOn[n]) {
baraki 0:5b9f87a086ce 290 if(lraMode[n] == 2){ //turn motor back on
baraki 0:5b9f87a086ce 291 lra[n] = lraIntensity[n];
baraki 0:5b9f87a086ce 292 lra_en[n] = 1;
baraki 0:5b9f87a086ce 293 }
baraki 0:5b9f87a086ce 294 else if(lraMode[n] == 3){//turn motor to mid intensity
baraki 0:5b9f87a086ce 295 lra[n] = lraIntensity[n] - 0.1;
baraki 0:5b9f87a086ce 296 lra_en[n] = 1;
baraki 0:5b9f87a086ce 297 }
baraki 0:5b9f87a086ce 298 }
baraki 0:5b9f87a086ce 299 //motorOff[n].detach();
baraki 0:5b9f87a086ce 300 //motorOff[n].attach(&motorOff3_cb,((float)onPeriod)/3000.0);
baraki 0:5b9f87a086ce 301 }
baraki 0:5b9f87a086ce 302 }
baraki 0:5b9f87a086ce 303
baraki 0:5b9f87a086ce 304 void motorOff3_cb(void) {
baraki 0:5b9f87a086ce 305 lra[0] = 0.2f;
baraki 0:5b9f87a086ce 306 lra[1] = 0.2f;
baraki 0:5b9f87a086ce 307 lra[2] = 0.2f;
baraki 0:5b9f87a086ce 308 lra[3] = 0.2f;
baraki 0:5b9f87a086ce 309 lra[4] = 0.2f;
baraki 0:5b9f87a086ce 310 lra_en[0] = 0.2f;
baraki 0:5b9f87a086ce 311 lra_en[1] = 0.2f;
baraki 0:5b9f87a086ce 312 lra_en[2] = 0.2f;
baraki 0:5b9f87a086ce 313 lra_en[3] = 0.2f;
baraki 0:5b9f87a086ce 314 lra_en[4] = 0.2f;
baraki 0:5b9f87a086ce 315 //for(int n=0;n<NUM_LRAS;n++){
baraki 0:5b9f87a086ce 316 // if(isOn[n]) {
baraki 0:5b9f87a086ce 317 // //turn em off
baraki 0:5b9f87a086ce 318 // isOn[n] = 0;
baraki 0:5b9f87a086ce 319 // lra[n] = 0.2f;
baraki 0:5b9f87a086ce 320 // lra_en[n] = 0;
baraki 0:5b9f87a086ce 321 // }
baraki 0:5b9f87a086ce 322 //}
baraki 0:5b9f87a086ce 323 }