Firmware development for use with LF21

Dependencies:   USBDevice max32630fthr

Fork of FTHR_USB_serial by Maxim Integrated

Committer:
nwaskewicz
Date:
Tue Sep 26 20:56:05 2017 +0000
Revision:
11:8a8562282546
Parent:
10:aec9f740a325
updated i2c and pwm declarations

Who changed what in which revision?

UserRevisionLine numberNew contents of line
switches 0:60a522ae2e35 1 #include "mbed.h"
switches 2:57500e991166 2 #include "max32630fthr.h"
switches 1:6923b075c8d7 3 #include "USBSerial.h"
nwaskewicz 8:e985d3e26b75 4 //#include "string.h"
switches 0:60a522ae2e35 5
nwaskewicz 9:3c7f27df0b01 6 #define LF21_I2C_WRITE 0xD2
nwaskewicz 9:3c7f27df0b01 7 #define LF21_I2C_READ 0xD3
nwaskewicz 9:3c7f27df0b01 8
switches 1:6923b075c8d7 9 // Hardware serial port over DAPLink
switches 2:57500e991166 10 Serial daplink(P2_1, P2_0);
switches 1:6923b075c8d7 11
switches 3:601c11238ccb 12 // Virtual serial port over USB
switches 3:601c11238ccb 13 USBSerial microUSB;
switches 3:601c11238ccb 14
nwaskewicz 8:e985d3e26b75 15 SPI spi(P5_1, P5_2, P5_0); // mosi, miso, sclk
nwaskewicz 11:8a8562282546 16 I2C *i2c;
nwaskewicz 8:e985d3e26b75 17 DigitalOut spicsb(P4_0); // spi csb line
nwaskewicz 11:8a8562282546 18 PwmOut *pwm;
nwaskewicz 8:e985d3e26b75 19
nwaskewicz 8:e985d3e26b75 20 DigitalOut p3_0(P3_0);
nwaskewicz 8:e985d3e26b75 21 DigitalOut p3_1(P3_1);
nwaskewicz 8:e985d3e26b75 22 DigitalOut p3_2(P3_2);
nwaskewicz 8:e985d3e26b75 23 DigitalOut p3_3(P3_3);
nwaskewicz 8:e985d3e26b75 24 DigitalOut p5_3(P5_3);
nwaskewicz 8:e985d3e26b75 25 DigitalOut p5_4(P5_4);
nwaskewicz 8:e985d3e26b75 26 DigitalOut p5_5(P5_5);
nwaskewicz 8:e985d3e26b75 27 DigitalOut p5_6(P5_6);
nwaskewicz 8:e985d3e26b75 28
switches 2:57500e991166 29 DigitalOut rLED(LED1);
switches 2:57500e991166 30 DigitalOut gLED(LED2);
switches 2:57500e991166 31 DigitalOut bLED(LED3);
nwaskewicz 9:3c7f27df0b01 32 MAX32630FTHR pegasus(MAX32630FTHR::VIO_1V8);
nwaskewicz 8:e985d3e26b75 33
nwaskewicz 8:e985d3e26b75 34 int ascii(char a, char b);
nwaskewicz 9:3c7f27df0b01 35 int ldo(char a, char b);
switches 0:60a522ae2e35 36
switches 0:60a522ae2e35 37 // main() runs in its own thread in the OS
switches 0:60a522ae2e35 38 // (note the calls to Thread::wait below for delays)
switches 0:60a522ae2e35 39 int main()
switches 0:60a522ae2e35 40 {
nwaskewicz 8:e985d3e26b75 41 char buf[10];
nwaskewicz 8:e985d3e26b75 42
nwaskewicz 8:e985d3e26b75 43 gLED = LED_OFF;
nwaskewicz 8:e985d3e26b75 44 bLED = LED_ON;
switches 2:57500e991166 45 rLED = LED_OFF;
nwaskewicz 10:aec9f740a325 46 spi.format(8,0);
nwaskewicz 8:e985d3e26b75 47 spicsb = 1;
nwaskewicz 9:3c7f27df0b01 48 pegasus.max14690.ldo3SetVoltage(1800);
nwaskewicz 8:e985d3e26b75 49 wait(1.0);
nwaskewicz 11:8a8562282546 50 //i2c.frequency(100000);
nwaskewicz 8:e985d3e26b75 51
nwaskewicz 8:e985d3e26b75 52 p3_0 = 0;
nwaskewicz 8:e985d3e26b75 53 p3_1 = 1;
nwaskewicz 8:e985d3e26b75 54
nwaskewicz 8:e985d3e26b75 55 p3_2 = 1;
nwaskewicz 8:e985d3e26b75 56 p3_3 = 0;
nwaskewicz 8:e985d3e26b75 57
nwaskewicz 8:e985d3e26b75 58 p5_3 = 1;
nwaskewicz 8:e985d3e26b75 59 p5_4 = 0;
nwaskewicz 8:e985d3e26b75 60
nwaskewicz 8:e985d3e26b75 61 p5_5 = 1;
nwaskewicz 8:e985d3e26b75 62 p5_6 = 1;
nwaskewicz 8:e985d3e26b75 63
switches 1:6923b075c8d7 64 while(1) {
nwaskewicz 8:e985d3e26b75 65
nwaskewicz 8:e985d3e26b75 66 microUSB.scanf("%s", buf);
nwaskewicz 8:e985d3e26b75 67
nwaskewicz 8:e985d3e26b75 68 // ping command, responds with pong
nwaskewicz 8:e985d3e26b75 69 if(buf[0]=='p' && buf[1]=='i' && buf[2]=='n' && buf[3]=='g') {
nwaskewicz 8:e985d3e26b75 70 microUSB.printf("pong\r\n");
nwaskewicz 8:e985d3e26b75 71 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 72 wait(0.01);
nwaskewicz 8:e985d3e26b75 73 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 74 wait(0.01);
nwaskewicz 8:e985d3e26b75 75 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 76 }
nwaskewicz 8:e985d3e26b75 77 // spi write command: spiw.addr.data
nwaskewicz 8:e985d3e26b75 78 // addr and data in hex
nwaskewicz 8:e985d3e26b75 79 else if (buf[0]=='s' && buf[1]=='p' && buf[2]=='i' && buf[3]=='w') {
nwaskewicz 9:3c7f27df0b01 80 int resp = 0;
nwaskewicz 9:3c7f27df0b01 81 char payload[2];
nwaskewicz 9:3c7f27df0b01 82 char response[2];
nwaskewicz 8:e985d3e26b75 83 payload[0] = ascii((int)buf[5],(int)buf[6]);
nwaskewicz 8:e985d3e26b75 84 payload[1] = ascii((int)buf[8],(int)buf[9]);
nwaskewicz 8:e985d3e26b75 85 spicsb = 0;
nwaskewicz 9:3c7f27df0b01 86 resp = spi.write(payload, sizeof(payload), response, sizeof(response));
nwaskewicz 8:e985d3e26b75 87 spicsb = 1;
nwaskewicz 9:3c7f27df0b01 88 microUSB.printf("ack.%i\r\n",resp);
nwaskewicz 9:3c7f27df0b01 89 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 90 wait(0.01);
nwaskewicz 9:3c7f27df0b01 91 gLED=LED_ON;
nwaskewicz 9:3c7f27df0b01 92 wait(0.01);
nwaskewicz 9:3c7f27df0b01 93 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 94 }
nwaskewicz 11:8a8562282546 95
nwaskewicz 11:8a8562282546 96 // spi transmit command
nwaskewicz 11:8a8562282546 97 // write to SPITX_EN register and leave CS low
nwaskewicz 11:8a8562282546 98 else if (buf[0]=='s' && buf[1]=='p' && buf[2]=='i' && buf[3]=='t') {
nwaskewicz 9:3c7f27df0b01 99 int resp = 0;
nwaskewicz 9:3c7f27df0b01 100 char payload[2];
nwaskewicz 9:3c7f27df0b01 101 char response[2];
nwaskewicz 11:8a8562282546 102 payload[0] = ascii((int)buf[5],(int)buf[6]);
nwaskewicz 11:8a8562282546 103 payload[1] = ascii((int)buf[8],(int)buf[9]);
nwaskewicz 9:3c7f27df0b01 104 spicsb = 0;
nwaskewicz 9:3c7f27df0b01 105 resp = spi.write(payload, sizeof(payload), response, sizeof(response));
nwaskewicz 11:8a8562282546 106 microUSB.printf("ack.%i\r\n",resp);
nwaskewicz 11:8a8562282546 107 gLED=LED_OFF;
nwaskewicz 11:8a8562282546 108 wait(0.01);
nwaskewicz 11:8a8562282546 109 gLED=LED_ON;
nwaskewicz 11:8a8562282546 110 wait(0.01);
nwaskewicz 11:8a8562282546 111 gLED=LED_OFF;
nwaskewicz 11:8a8562282546 112 }
nwaskewicz 11:8a8562282546 113
nwaskewicz 11:8a8562282546 114 // set csb high
nwaskewicz 11:8a8562282546 115 else if (buf[0]=='c' && buf[1]=='s' && buf[2]=='b' && buf[3]=='h') {
nwaskewicz 9:3c7f27df0b01 116 spicsb = 1;
nwaskewicz 11:8a8562282546 117 microUSB.printf("ack\r\n");
nwaskewicz 11:8a8562282546 118 gLED=LED_OFF;
nwaskewicz 11:8a8562282546 119 wait(0.01);
nwaskewicz 11:8a8562282546 120 gLED=LED_ON;
nwaskewicz 11:8a8562282546 121 wait(0.01);
nwaskewicz 11:8a8562282546 122 gLED=LED_OFF;
nwaskewicz 11:8a8562282546 123 }
nwaskewicz 11:8a8562282546 124
nwaskewicz 11:8a8562282546 125 else if (buf[0]=='p' && buf[1]=='w' && buf[2]=='m' && buf[3]=='o') {
nwaskewicz 11:8a8562282546 126 pwm = new PwmOut(P3_4);
nwaskewicz 11:8a8562282546 127 pwm->period_us(20);
nwaskewicz 11:8a8562282546 128 pwm->write(0.50f);
nwaskewicz 9:3c7f27df0b01 129
nwaskewicz 11:8a8562282546 130 microUSB.printf("ack\r\n");
nwaskewicz 11:8a8562282546 131 gLED=LED_OFF;
nwaskewicz 11:8a8562282546 132 wait(0.01);
nwaskewicz 11:8a8562282546 133 gLED=LED_ON;
nwaskewicz 11:8a8562282546 134 wait(0.01);
nwaskewicz 11:8a8562282546 135 gLED=LED_OFF;
nwaskewicz 11:8a8562282546 136 }
nwaskewicz 11:8a8562282546 137
nwaskewicz 11:8a8562282546 138 else if (buf[0]=='t' && buf[1]=='e' && buf[2]=='s' && buf[3]=='t') {
nwaskewicz 11:8a8562282546 139 pwm = new PwmOut(P3_4);
nwaskewicz 11:8a8562282546 140 pwm->period(0.5f);
nwaskewicz 11:8a8562282546 141 pwm->write(0.50f);
nwaskewicz 11:8a8562282546 142
nwaskewicz 11:8a8562282546 143 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 144 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 145 wait(0.01);
nwaskewicz 8:e985d3e26b75 146 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 147 wait(0.01);
nwaskewicz 8:e985d3e26b75 148 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 149 }
nwaskewicz 9:3c7f27df0b01 150
nwaskewicz 8:e985d3e26b75 151 // spi read command: spir.addr
nwaskewicz 8:e985d3e26b75 152 else if (buf[0]=='s' && buf[1]=='p' && buf[2]=='i' && buf[3]=='r') {
nwaskewicz 9:3c7f27df0b01 153 int resp = 0;
nwaskewicz 9:3c7f27df0b01 154 char payload[2];
nwaskewicz 9:3c7f27df0b01 155 char response[2];
nwaskewicz 9:3c7f27df0b01 156 payload[0] = ascii((int)buf[5],(int)buf[6]);
nwaskewicz 9:3c7f27df0b01 157 payload[1] = 0x00;
nwaskewicz 8:e985d3e26b75 158 spicsb = 0;
nwaskewicz 9:3c7f27df0b01 159 resp = spi.write(payload, sizeof(payload), response, sizeof(response));
nwaskewicz 8:e985d3e26b75 160 spicsb = 1;
nwaskewicz 9:3c7f27df0b01 161 microUSB.printf("ack.%i.%i\r\n", response[1], resp);
nwaskewicz 9:3c7f27df0b01 162 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 163 wait(0.01);
nwaskewicz 9:3c7f27df0b01 164 gLED=LED_ON;
nwaskewicz 9:3c7f27df0b01 165 wait(0.01);
nwaskewicz 9:3c7f27df0b01 166 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 167 }
nwaskewicz 11:8a8562282546 168
nwaskewicz 9:3c7f27df0b01 169 // i2c write command: i2cw.addr.data
nwaskewicz 9:3c7f27df0b01 170 else if (buf[0]=='i' && buf[1]=='2' && buf[2]=='c' && buf[3]=='w') {
nwaskewicz 11:8a8562282546 171 i2c = new I2C(P3_4, P3_5);
nwaskewicz 9:3c7f27df0b01 172 int response = 0;
nwaskewicz 9:3c7f27df0b01 173 char payload[2];
nwaskewicz 9:3c7f27df0b01 174 payload[0] = ascii((int)buf[5],(int)buf[6]);
nwaskewicz 9:3c7f27df0b01 175 payload[1] = ascii((int)buf[8],(int)buf[9]);
nwaskewicz 11:8a8562282546 176 response = i2c->write(LF21_I2C_WRITE, payload, sizeof(payload));
nwaskewicz 8:e985d3e26b75 177 microUSB.printf("ack.%i\r\n", response);
nwaskewicz 8:e985d3e26b75 178 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 179 wait(0.01);
nwaskewicz 8:e985d3e26b75 180 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 181 wait(0.01);
nwaskewicz 8:e985d3e26b75 182 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 183 }
nwaskewicz 9:3c7f27df0b01 184 // i2c read command: i2cr.addr
nwaskewicz 9:3c7f27df0b01 185 else if (buf[0]=='i' && buf[1]=='2' && buf[2]=='c' && buf[3]=='r') {
nwaskewicz 11:8a8562282546 186 i2c = new I2C(P3_4, P3_5);
nwaskewicz 9:3c7f27df0b01 187 int response = 0;
nwaskewicz 9:3c7f27df0b01 188 char address[1];
nwaskewicz 9:3c7f27df0b01 189 char payload[1];
nwaskewicz 9:3c7f27df0b01 190 payload[0] = 0xFF;
nwaskewicz 9:3c7f27df0b01 191 address[0] = ascii((int)buf[5],(int)buf[6]);
nwaskewicz 11:8a8562282546 192 response = i2c->write(LF21_I2C_WRITE, address, sizeof(address), true);
nwaskewicz 11:8a8562282546 193 response = i2c->read(LF21_I2C_READ, payload, sizeof(payload));
nwaskewicz 9:3c7f27df0b01 194 microUSB.printf("ack.%i.%i\r\n", response, payload[0]);
nwaskewicz 9:3c7f27df0b01 195 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 196 wait(0.01);
nwaskewicz 9:3c7f27df0b01 197 gLED=LED_ON;
nwaskewicz 9:3c7f27df0b01 198 wait(0.01);
nwaskewicz 9:3c7f27df0b01 199 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 200 }
nwaskewicz 11:8a8562282546 201
nwaskewicz 8:e985d3e26b75 202 // digital pin p5_5
nwaskewicz 8:e985d3e26b75 203 else if (buf[0]=='p' && buf[1]=='5' && buf[2]=='_' && buf[3]=='5') {
nwaskewicz 8:e985d3e26b75 204 if (buf[5]=='1') p5_5 = 1;
nwaskewicz 8:e985d3e26b75 205 else p5_5 = 0;
nwaskewicz 8:e985d3e26b75 206 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 207 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 208 wait(0.01);
nwaskewicz 8:e985d3e26b75 209 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 210 wait(0.01);
nwaskewicz 8:e985d3e26b75 211 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 212 }
nwaskewicz 8:e985d3e26b75 213 // digital pin p5_6
nwaskewicz 8:e985d3e26b75 214 else if (buf[0]=='p' && buf[1]=='5' && buf[2]=='_' && buf[3]=='6') {
nwaskewicz 8:e985d3e26b75 215 if (buf[5]=='1') p5_6 = 1;
nwaskewicz 8:e985d3e26b75 216 else p5_6 = 0;
nwaskewicz 8:e985d3e26b75 217 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 218 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 219 wait(0.01);
nwaskewicz 8:e985d3e26b75 220 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 221 wait(0.01);
nwaskewicz 8:e985d3e26b75 222 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 223 }
nwaskewicz 8:e985d3e26b75 224 // digital pin p5_3
nwaskewicz 8:e985d3e26b75 225 else if (buf[0]=='p' && buf[1]=='5' && buf[2]=='_' && buf[3]=='3') {
nwaskewicz 8:e985d3e26b75 226 if (buf[5]=='1') p5_3 = 1;
nwaskewicz 8:e985d3e26b75 227 else p5_3 = 0;
nwaskewicz 8:e985d3e26b75 228 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 229 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 230 wait(0.01);
nwaskewicz 8:e985d3e26b75 231 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 232 wait(0.01);
nwaskewicz 8:e985d3e26b75 233 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 234 }
nwaskewicz 8:e985d3e26b75 235 // digital pin p5_4
nwaskewicz 8:e985d3e26b75 236 else if (buf[0]=='p' && buf[1]=='5' && buf[2]=='_' && buf[3]=='4') {
nwaskewicz 8:e985d3e26b75 237 if (buf[5]=='1') p5_4 = 1;
nwaskewicz 8:e985d3e26b75 238 else p5_4 = 0;
nwaskewicz 8:e985d3e26b75 239 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 240 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 241 wait(0.01);
nwaskewicz 8:e985d3e26b75 242 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 243 wait(0.01);
nwaskewicz 8:e985d3e26b75 244 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 245 }
nwaskewicz 8:e985d3e26b75 246 // digital pin p3_1
nwaskewicz 8:e985d3e26b75 247 else if (buf[0]=='p' && buf[1]=='3' && buf[2]=='_' && buf[3]=='1') {
nwaskewicz 8:e985d3e26b75 248 if (buf[5]=='1') p3_1 = 1;
nwaskewicz 8:e985d3e26b75 249 else p3_1 = 0;
nwaskewicz 8:e985d3e26b75 250 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 251 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 252 wait(0.01);
nwaskewicz 8:e985d3e26b75 253 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 254 wait(0.01);
nwaskewicz 8:e985d3e26b75 255 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 256 }
nwaskewicz 8:e985d3e26b75 257 // digital pin p3_0
nwaskewicz 8:e985d3e26b75 258 else if (buf[0]=='p' && buf[1]=='3' && buf[2]=='_' && buf[3]=='0') {
nwaskewicz 8:e985d3e26b75 259 if (buf[5]=='1') p3_0 = 1;
nwaskewicz 8:e985d3e26b75 260 else p3_0 = 0;
nwaskewicz 8:e985d3e26b75 261 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 262 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 263 wait(0.01);
nwaskewicz 8:e985d3e26b75 264 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 265 wait(0.01);
nwaskewicz 8:e985d3e26b75 266 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 267 }
nwaskewicz 8:e985d3e26b75 268 // digital pin p3_3
nwaskewicz 8:e985d3e26b75 269 else if (buf[0]=='p' && buf[1]=='3' && buf[2]=='_' && buf[3]=='3') {
nwaskewicz 8:e985d3e26b75 270 if (buf[5]=='1') p3_3 = 1;
nwaskewicz 8:e985d3e26b75 271 else p3_3 = 0;
nwaskewicz 8:e985d3e26b75 272 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 273 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 274 wait(0.01);
nwaskewicz 8:e985d3e26b75 275 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 276 wait(0.01);
nwaskewicz 8:e985d3e26b75 277 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 278 }
nwaskewicz 8:e985d3e26b75 279 // digital pin p3_2
nwaskewicz 8:e985d3e26b75 280 else if (buf[0]=='p' && buf[1]=='3' && buf[2]=='_' && buf[3]=='2') {
nwaskewicz 8:e985d3e26b75 281 if (buf[5]=='1') p3_2 = 1;
nwaskewicz 8:e985d3e26b75 282 else p3_2 = 0;
nwaskewicz 8:e985d3e26b75 283 microUSB.printf("ack\r\n");
nwaskewicz 8:e985d3e26b75 284 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 285 wait(0.01);
nwaskewicz 8:e985d3e26b75 286 gLED=LED_ON;
nwaskewicz 8:e985d3e26b75 287 wait(0.01);
nwaskewicz 8:e985d3e26b75 288 gLED=LED_OFF;
nwaskewicz 8:e985d3e26b75 289 }
nwaskewicz 9:3c7f27df0b01 290 // set ldo voltage
nwaskewicz 9:3c7f27df0b01 291 else if (buf[0]=='l' && buf[1]=='d' && buf[2]=='o') {
nwaskewicz 9:3c7f27df0b01 292 int setting = ldo((int)buf[4],(int)buf[5]);
nwaskewicz 9:3c7f27df0b01 293 pegasus.max14690.ldo3SetVoltage(setting*100);
nwaskewicz 9:3c7f27df0b01 294 microUSB.printf("ack.%i\r\n",setting);
nwaskewicz 9:3c7f27df0b01 295 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 296 wait(0.01);
nwaskewicz 9:3c7f27df0b01 297 gLED=LED_ON;
nwaskewicz 9:3c7f27df0b01 298 wait(0.01);
nwaskewicz 9:3c7f27df0b01 299 gLED=LED_OFF;
nwaskewicz 9:3c7f27df0b01 300 }
switches 0:60a522ae2e35 301 }
nwaskewicz 8:e985d3e26b75 302
nwaskewicz 9:3c7f27df0b01 303
switches 0:60a522ae2e35 304 }
switches 0:60a522ae2e35 305
nwaskewicz 8:e985d3e26b75 306 int ascii(char a, char b)
nwaskewicz 8:e985d3e26b75 307 {
nwaskewicz 8:e985d3e26b75 308 int val1 = 0;
nwaskewicz 8:e985d3e26b75 309 int val2 = 0;
nwaskewicz 8:e985d3e26b75 310 int val = 0;
nwaskewicz 8:e985d3e26b75 311 if(a>64 && a<71)
nwaskewicz 8:e985d3e26b75 312 {
nwaskewicz 8:e985d3e26b75 313 val1 = (int)a-55;
nwaskewicz 8:e985d3e26b75 314 }
nwaskewicz 8:e985d3e26b75 315 else if(a>96 && a<103)
nwaskewicz 8:e985d3e26b75 316 {
nwaskewicz 8:e985d3e26b75 317 val1 = (int)a-87;
nwaskewicz 8:e985d3e26b75 318 }
nwaskewicz 8:e985d3e26b75 319 else val1 = (int)a-48;
nwaskewicz 8:e985d3e26b75 320
nwaskewicz 8:e985d3e26b75 321 if(b>64 && b<71)
nwaskewicz 8:e985d3e26b75 322 {
nwaskewicz 8:e985d3e26b75 323 val2 = (int)b-55;
nwaskewicz 8:e985d3e26b75 324 }
nwaskewicz 8:e985d3e26b75 325 else if(b>96 && b<103)
nwaskewicz 8:e985d3e26b75 326 {
nwaskewicz 8:e985d3e26b75 327 val2 = (int)b-87;
nwaskewicz 8:e985d3e26b75 328 }
nwaskewicz 8:e985d3e26b75 329 else val2 = (int)b-48;
nwaskewicz 8:e985d3e26b75 330
nwaskewicz 8:e985d3e26b75 331 val=16*val1+val2;
nwaskewicz 8:e985d3e26b75 332
nwaskewicz 9:3c7f27df0b01 333 return val;
nwaskewicz 9:3c7f27df0b01 334 }
nwaskewicz 9:3c7f27df0b01 335
nwaskewicz 9:3c7f27df0b01 336 int ldo(char a, char b)
nwaskewicz 9:3c7f27df0b01 337 {
nwaskewicz 9:3c7f27df0b01 338 int val1 = 0;
nwaskewicz 9:3c7f27df0b01 339 int val2 = 0;
nwaskewicz 9:3c7f27df0b01 340 int val = 0;
nwaskewicz 9:3c7f27df0b01 341 if(a>64 && a<71)
nwaskewicz 9:3c7f27df0b01 342 {
nwaskewicz 9:3c7f27df0b01 343 val1 = (int)a-55;
nwaskewicz 9:3c7f27df0b01 344 }
nwaskewicz 9:3c7f27df0b01 345 else if(a>96 && a<103)
nwaskewicz 9:3c7f27df0b01 346 {
nwaskewicz 9:3c7f27df0b01 347 val1 = (int)a-87;
nwaskewicz 9:3c7f27df0b01 348 }
nwaskewicz 9:3c7f27df0b01 349 else val1 = (int)a-48;
nwaskewicz 9:3c7f27df0b01 350
nwaskewicz 9:3c7f27df0b01 351 if(b>64 && b<71)
nwaskewicz 9:3c7f27df0b01 352 {
nwaskewicz 9:3c7f27df0b01 353 val2 = (int)b-55;
nwaskewicz 9:3c7f27df0b01 354 }
nwaskewicz 9:3c7f27df0b01 355 else if(b>96 && b<103)
nwaskewicz 9:3c7f27df0b01 356 {
nwaskewicz 9:3c7f27df0b01 357 val2 = (int)b-87;
nwaskewicz 9:3c7f27df0b01 358 }
nwaskewicz 9:3c7f27df0b01 359 else val2 = (int)b-48;
nwaskewicz 9:3c7f27df0b01 360
nwaskewicz 9:3c7f27df0b01 361 val=10*val1+val2;
nwaskewicz 9:3c7f27df0b01 362
nwaskewicz 9:3c7f27df0b01 363 return val;
nwaskewicz 9:3c7f27df0b01 364 }