LF20

Dependencies:   max32630fthr USBDevice

Committer:
mikevanderploeg
Date:
Mon Feb 17 19:41:41 2020 +0000
Revision:
1:6915bb808b58
Parent:
0:d4d0421bd4e2
checkpoint for help with compiler;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mikevanderploeg 0:d4d0421bd4e2 1 ///////////////////////
mikevanderploeg 0:d4d0421bd4e2 2 ///
mikevanderploeg 0:d4d0421bd4e2 3 /// EVKIT
mikevanderploeg 0:d4d0421bd4e2 4 ///
mikevanderploeg 0:d4d0421bd4e2 5 ///////////////////////
mikevanderploeg 0:d4d0421bd4e2 6 #include "mbed.h"
mikevanderploeg 0:d4d0421bd4e2 7 #include "max32630fthr.h"
mikevanderploeg 0:d4d0421bd4e2 8 #include "USBSerial.h"
mikevanderploeg 0:d4d0421bd4e2 9 #include "string"
mikevanderploeg 0:d4d0421bd4e2 10 #include "iostream" // std::hex
mikevanderploeg 0:d4d0421bd4e2 11
mikevanderploeg 0:d4d0421bd4e2 12
mikevanderploeg 0:d4d0421bd4e2 13
mikevanderploeg 0:d4d0421bd4e2 14
mikevanderploeg 0:d4d0421bd4e2 15 using namespace std;
mikevanderploeg 0:d4d0421bd4e2 16
mikevanderploeg 0:d4d0421bd4e2 17 // Hardware serial port over DAPLink
mikevanderploeg 0:d4d0421bd4e2 18 Serial daplink(P2_1, P2_0);
mikevanderploeg 0:d4d0421bd4e2 19
mikevanderploeg 0:d4d0421bd4e2 20 // Virtual serial port over USB
mikevanderploeg 0:d4d0421bd4e2 21 USBSerial microUSB;
mikevanderploeg 0:d4d0421bd4e2 22
mikevanderploeg 0:d4d0421bd4e2 23 DigitalOut rLED(LED1);
mikevanderploeg 0:d4d0421bd4e2 24 DigitalOut gLED(LED2);
mikevanderploeg 0:d4d0421bd4e2 25 DigitalOut bLED(LED3);
mikevanderploeg 0:d4d0421bd4e2 26
mikevanderploeg 0:d4d0421bd4e2 27 // SPI pins
mikevanderploeg 0:d4d0421bd4e2 28 DigitalOut clk(P5_0);
mikevanderploeg 0:d4d0421bd4e2 29 DigitalInOut data(P5_1);
mikevanderploeg 0:d4d0421bd4e2 30 DigitalOut csb(P3_0);
mikevanderploeg 0:d4d0421bd4e2 31
mikevanderploeg 0:d4d0421bd4e2 32 // Control pins
mikevanderploeg 0:d4d0421bd4e2 33 DigitalOut pwrdn(P4_0);
mikevanderploeg 0:d4d0421bd4e2 34
mikevanderploeg 0:d4d0421bd4e2 35 MAX32630FTHR pegasus(MAX32630FTHR::VIO_3V3);
mikevanderploeg 0:d4d0421bd4e2 36
mikevanderploeg 0:d4d0421bd4e2 37 // subroutines
mikevanderploeg 0:d4d0421bd4e2 38 int ascii(char a, char b);
mikevanderploeg 0:d4d0421bd4e2 39 int ldo(char a, char b);
mikevanderploeg 0:d4d0421bd4e2 40 int spiWrite( char a, char b);
mikevanderploeg 0:d4d0421bd4e2 41 int spiRead( char a );
mikevanderploeg 0:d4d0421bd4e2 42 int h( char a );
mikevanderploeg 0:d4d0421bd4e2 43
mikevanderploeg 0:d4d0421bd4e2 44 // main() runs in its own thread in the OS
mikevanderploeg 0:d4d0421bd4e2 45 // (note the calls to Thread::wait below for delays)
mikevanderploeg 0:d4d0421bd4e2 46 int main()
mikevanderploeg 0:d4d0421bd4e2 47 {
mikevanderploeg 0:d4d0421bd4e2 48 int c;
mikevanderploeg 0:d4d0421bd4e2 49 char buf[30]; // strings entered can only be 30 characters
mikevanderploeg 0:d4d0421bd4e2 50
mikevanderploeg 0:d4d0421bd4e2 51
mikevanderploeg 0:d4d0421bd4e2 52 daplink.printf("daplink serial port\r\n");
mikevanderploeg 0:d4d0421bd4e2 53 microUSB.printf("micro USB serial port\r\n");
mikevanderploeg 0:d4d0421bd4e2 54 rLED = LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 55 gLED = LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 56 bLED = LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 57
mikevanderploeg 0:d4d0421bd4e2 58 data.output();
mikevanderploeg 0:d4d0421bd4e2 59
mikevanderploeg 0:d4d0421bd4e2 60 csb = 1;
mikevanderploeg 0:d4d0421bd4e2 61 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 62 data = 0;
mikevanderploeg 0:d4d0421bd4e2 63 pwrdn = 1;
mikevanderploeg 0:d4d0421bd4e2 64
mikevanderploeg 0:d4d0421bd4e2 65 pegasus.max14690.ldo3SetVoltage(3000);
mikevanderploeg 0:d4d0421bd4e2 66 pegasus.max14690.ldo2SetVoltage(3000);
mikevanderploeg 0:d4d0421bd4e2 67 wait(1.0);
mikevanderploeg 0:d4d0421bd4e2 68 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 69 wait_ms(500);
mikevanderploeg 0:d4d0421bd4e2 70 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 71 rLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 72 wait_ms(500);
mikevanderploeg 0:d4d0421bd4e2 73 rLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 74 bLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 75 wait_ms(500);
mikevanderploeg 0:d4d0421bd4e2 76 bLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 77 wait_ms(500);
mikevanderploeg 0:d4d0421bd4e2 78 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 79
mikevanderploeg 0:d4d0421bd4e2 80 while(1) {
mikevanderploeg 0:d4d0421bd4e2 81 microUSB.scanf("%s", buf);
mikevanderploeg 0:d4d0421bd4e2 82 wait_us(10);
mikevanderploeg 0:d4d0421bd4e2 83
mikevanderploeg 0:d4d0421bd4e2 84 if( strlen(buf) > 0 ) {
mikevanderploeg 0:d4d0421bd4e2 85
mikevanderploeg 0:d4d0421bd4e2 86 // ping command, responds with pong
mikevanderploeg 0:d4d0421bd4e2 87 if(strncmp(buf,"ping", 4)==0) {
mikevanderploeg 0:d4d0421bd4e2 88 microUSB.printf("pong\r\n");
mikevanderploeg 0:d4d0421bd4e2 89 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 90 wait(0.01); // in seconds
mikevanderploeg 0:d4d0421bd4e2 91 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 92 wait(0.01);
mikevanderploeg 0:d4d0421bd4e2 93 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 94 }
mikevanderploeg 0:d4d0421bd4e2 95
mikevanderploeg 0:d4d0421bd4e2 96 // "evkit"
mikevanderploeg 0:d4d0421bd4e2 97 else if ( strncmp(buf, "evki", 4 )==0 ) {
mikevanderploeg 0:d4d0421bd4e2 98 microUSB.printf("true\r\n");
mikevanderploeg 0:d4d0421bd4e2 99 }
mikevanderploeg 0:d4d0421bd4e2 100
mikevanderploeg 0:d4d0421bd4e2 101 // spi write command: spiw.addr.data
mikevanderploeg 0:d4d0421bd4e2 102 // addr and data in hex
mikevanderploeg 0:d4d0421bd4e2 103 else if (strncmp(buf,"spiw",4)==0) {
mikevanderploeg 0:d4d0421bd4e2 104 int resp = 0;
mikevanderploeg 0:d4d0421bd4e2 105 // payload[0] is address
mikevanderploeg 0:d4d0421bd4e2 106 // payload[1] is data
mikevanderploeg 0:d4d0421bd4e2 107 char payload[2];
mikevanderploeg 0:d4d0421bd4e2 108 payload[0] = ascii((int)buf[5],(int)buf[6]);
mikevanderploeg 0:d4d0421bd4e2 109 payload[1] = ascii((int)buf[8],(int)buf[9]);
mikevanderploeg 0:d4d0421bd4e2 110 resp = spiWrite(payload[0], payload[1]);
mikevanderploeg 0:d4d0421bd4e2 111 microUSB.printf("ack.%i\r\n",resp);
mikevanderploeg 0:d4d0421bd4e2 112 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 113 wait(0.01); // in seconds
mikevanderploeg 0:d4d0421bd4e2 114 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 115 wait(0.01);
mikevanderploeg 0:d4d0421bd4e2 116 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 117 }
mikevanderploeg 0:d4d0421bd4e2 118
mikevanderploeg 0:d4d0421bd4e2 119 else if (strncmp(buf, "spir",4)==0) {
mikevanderploeg 0:d4d0421bd4e2 120 int resp = 0;
mikevanderploeg 0:d4d0421bd4e2 121 char payload[1];
mikevanderploeg 0:d4d0421bd4e2 122 payload[0] = ascii((int)buf[5],(int)buf[6]);
mikevanderploeg 0:d4d0421bd4e2 123 resp = spiRead(payload[0]);
mikevanderploeg 0:d4d0421bd4e2 124 microUSB.printf("ack.%i\r\n", resp);
mikevanderploeg 0:d4d0421bd4e2 125 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 126 wait(0.01); // in seconds
mikevanderploeg 0:d4d0421bd4e2 127 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 128 wait(0.01);
mikevanderploeg 0:d4d0421bd4e2 129 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 130 }
mikevanderploeg 0:d4d0421bd4e2 131
mikevanderploeg 0:d4d0421bd4e2 132 else if (strncmp(buf, "pwrdn",5)==0) {
mikevanderploeg 0:d4d0421bd4e2 133 int val;
mikevanderploeg 0:d4d0421bd4e2 134 if( buf[6] == 48 ) { val=0; gLED=LED_ON; rLED=LED_OFF; }
mikevanderploeg 0:d4d0421bd4e2 135 else { val=1;gLED=LED_OFF; rLED=LED_ON; }
mikevanderploeg 0:d4d0421bd4e2 136 pwrdn = val;
mikevanderploeg 0:d4d0421bd4e2 137 microUSB.printf("ack.%i\r\n",val);
mikevanderploeg 0:d4d0421bd4e2 138 }
mikevanderploeg 0:d4d0421bd4e2 139
mikevanderploeg 1:6915bb808b58 140 else if (strncmp(buf, "scan",4)==0) {
mikevanderploeg 1:6915bb808b58 141 // send 1000 clocks with a 1100 pattern on data
mikevanderploeg 1:6915bb808b58 142 // csb=1 since that is SCAN_EN
mikevanderploeg 1:6915bb808b58 143 // SEL1/NC=SCAN_RESET is not controlled via feather
mikevanderploeg 1:6915bb808b58 144 int val;
mikevanderploeg 1:6915bb808b58 145 int i;
mikevanderploeg 1:6915bb808b58 146 csb = 1;
mikevanderploeg 1:6915bb808b58 147 for(i = 0; i<500; i++) {
mikevanderploeg 1:6915bb808b58 148 clk = 0;
mikevanderploeg 1:6915bb808b58 149 data = (data==0)?1:0;
mikevanderploeg 1:6915bb808b58 150 wait_us(1);
mikevanderploeg 1:6915bb808b58 151 clk = 1;
mikevanderploeg 1:6915bb808b58 152 wait_us(1);
mikevanderploeg 1:6915bb808b58 153 clk = 0;
mikevanderploeg 1:6915bb808b58 154 wait_us(1);
mikevanderploeg 1:6915bb808b58 155 clk = 1;
mikevanderploeg 1:6915bb808b58 156 wait_us(1);
mikevanderploeg 1:6915bb808b58 157 }
mikevanderploeg 1:6915bb808b58 158 microUSB.printf("scan ack.%i\r\n",val);
mikevanderploeg 1:6915bb808b58 159 }
mikevanderploeg 0:d4d0421bd4e2 160 // set ldo voltage
mikevanderploeg 0:d4d0421bd4e2 161 else if (strncmp(buf,"ldo",3)==0) {
mikevanderploeg 0:d4d0421bd4e2 162 int setting = ldo((int)buf[4],(int)buf[5]);
mikevanderploeg 1:6915bb808b58 163 //microUSB.printf("Setting:%i\r\n",setting);
mikevanderploeg 0:d4d0421bd4e2 164 pegasus.max14690.ldo3SetVoltage(setting*100);
mikevanderploeg 0:d4d0421bd4e2 165 pegasus.max14690.ldo2SetVoltage(setting*100);
mikevanderploeg 0:d4d0421bd4e2 166 wait(0.01);
mikevanderploeg 0:d4d0421bd4e2 167 microUSB.printf("ack.%i\r\n",setting);
mikevanderploeg 0:d4d0421bd4e2 168 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 169 wait(0.01); // in seconds
mikevanderploeg 0:d4d0421bd4e2 170 gLED=LED_OFF;
mikevanderploeg 0:d4d0421bd4e2 171 wait(0.01);
mikevanderploeg 0:d4d0421bd4e2 172 gLED=LED_ON;
mikevanderploeg 0:d4d0421bd4e2 173 }
mikevanderploeg 0:d4d0421bd4e2 174 }
mikevanderploeg 0:d4d0421bd4e2 175 }
mikevanderploeg 0:d4d0421bd4e2 176
mikevanderploeg 0:d4d0421bd4e2 177 }
mikevanderploeg 0:d4d0421bd4e2 178
mikevanderploeg 0:d4d0421bd4e2 179 int spiWrite( char address, char dat ) {
mikevanderploeg 0:d4d0421bd4e2 180 int i = 0;
mikevanderploeg 0:d4d0421bd4e2 181 csb = 0;
mikevanderploeg 0:d4d0421bd4e2 182 wait_us(1.0);
mikevanderploeg 0:d4d0421bd4e2 183
mikevanderploeg 0:d4d0421bd4e2 184 // first write address
mikevanderploeg 0:d4d0421bd4e2 185 for( i = 7; i>=0; i--) {
mikevanderploeg 0:d4d0421bd4e2 186
mikevanderploeg 0:d4d0421bd4e2 187 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 188 wait(0.000001);
mikevanderploeg 0:d4d0421bd4e2 189 data = (1<<i) & address;
mikevanderploeg 0:d4d0421bd4e2 190 wait(0.000001);
mikevanderploeg 0:d4d0421bd4e2 191 clk = 1;
mikevanderploeg 0:d4d0421bd4e2 192 wait(0.000002);
mikevanderploeg 0:d4d0421bd4e2 193 }
mikevanderploeg 0:d4d0421bd4e2 194 for( i = 7; i>=0; i--) {
mikevanderploeg 0:d4d0421bd4e2 195 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 196 wait(0.000001);
mikevanderploeg 0:d4d0421bd4e2 197 data = (1<<i) & dat;
mikevanderploeg 0:d4d0421bd4e2 198 wait(0.000001);
mikevanderploeg 0:d4d0421bd4e2 199 clk = 1;
mikevanderploeg 0:d4d0421bd4e2 200 wait(0.000002);
mikevanderploeg 0:d4d0421bd4e2 201 }
mikevanderploeg 0:d4d0421bd4e2 202 csb = 1;
mikevanderploeg 0:d4d0421bd4e2 203 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 204 return 1;
mikevanderploeg 0:d4d0421bd4e2 205
mikevanderploeg 0:d4d0421bd4e2 206 }
mikevanderploeg 0:d4d0421bd4e2 207
mikevanderploeg 0:d4d0421bd4e2 208 int spiRead( char address ) {
mikevanderploeg 0:d4d0421bd4e2 209 int i = 0;
mikevanderploeg 0:d4d0421bd4e2 210 int dat = 0;
mikevanderploeg 0:d4d0421bd4e2 211 clk =0 ;
mikevanderploeg 0:d4d0421bd4e2 212 csb = 0;
mikevanderploeg 0:d4d0421bd4e2 213 wait_us(1);
mikevanderploeg 0:d4d0421bd4e2 214
mikevanderploeg 0:d4d0421bd4e2 215 // first write address
mikevanderploeg 0:d4d0421bd4e2 216 for( i = 7; i>=0; i--) {
mikevanderploeg 0:d4d0421bd4e2 217 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 218 wait_us(1);
mikevanderploeg 0:d4d0421bd4e2 219 data = (1<<i) & address;
mikevanderploeg 0:d4d0421bd4e2 220 wait_us(1);;
mikevanderploeg 0:d4d0421bd4e2 221 clk = 1;
mikevanderploeg 0:d4d0421bd4e2 222 wait_us(1);
mikevanderploeg 0:d4d0421bd4e2 223 }
mikevanderploeg 0:d4d0421bd4e2 224 // load dummy byte, all zeros in this case
mikevanderploeg 0:d4d0421bd4e2 225 data = 0;
mikevanderploeg 0:d4d0421bd4e2 226 for( i = 7; i>=0; i--){
mikevanderploeg 0:d4d0421bd4e2 227 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 228 wait_us(1);
mikevanderploeg 0:d4d0421bd4e2 229 clk = 1;
mikevanderploeg 0:d4d0421bd4e2 230 wait_us(1);
mikevanderploeg 0:d4d0421bd4e2 231 }
mikevanderploeg 0:d4d0421bd4e2 232 // read byte from part
mikevanderploeg 0:d4d0421bd4e2 233 data.input();
mikevanderploeg 0:d4d0421bd4e2 234 for( i = 7; i>=0; i--){
mikevanderploeg 0:d4d0421bd4e2 235 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 236 wait_us(2);
mikevanderploeg 0:d4d0421bd4e2 237 clk = 1;
mikevanderploeg 0:d4d0421bd4e2 238 if(data > 0) dat = dat + (1<<i);
mikevanderploeg 0:d4d0421bd4e2 239 wait_us(1);
mikevanderploeg 0:d4d0421bd4e2 240 }
mikevanderploeg 0:d4d0421bd4e2 241 data.output();
mikevanderploeg 0:d4d0421bd4e2 242 clk = 0;
mikevanderploeg 0:d4d0421bd4e2 243 csb = 1;
mikevanderploeg 0:d4d0421bd4e2 244 return dat;
mikevanderploeg 0:d4d0421bd4e2 245 }
mikevanderploeg 0:d4d0421bd4e2 246
mikevanderploeg 0:d4d0421bd4e2 247 int h(char a)
mikevanderploeg 0:d4d0421bd4e2 248 {
mikevanderploeg 0:d4d0421bd4e2 249 int intval = (a >= 'A') ? (a - 'A' + 10) : (a - '0');
mikevanderploeg 0:d4d0421bd4e2 250 return intval;
mikevanderploeg 0:d4d0421bd4e2 251 }
mikevanderploeg 0:d4d0421bd4e2 252
mikevanderploeg 0:d4d0421bd4e2 253 int ascii(char a, char b)
mikevanderploeg 0:d4d0421bd4e2 254 {
mikevanderploeg 0:d4d0421bd4e2 255 int val1 = 0;
mikevanderploeg 0:d4d0421bd4e2 256 int val2 = 0;
mikevanderploeg 0:d4d0421bd4e2 257 int val = 0;
mikevanderploeg 0:d4d0421bd4e2 258 if(a>64 && a<71)
mikevanderploeg 0:d4d0421bd4e2 259 {
mikevanderploeg 0:d4d0421bd4e2 260 val1 = (int)a-55;
mikevanderploeg 0:d4d0421bd4e2 261 }
mikevanderploeg 0:d4d0421bd4e2 262 else if(a>96 && a<103)
mikevanderploeg 0:d4d0421bd4e2 263 {
mikevanderploeg 0:d4d0421bd4e2 264 val1 = (int)a-87;
mikevanderploeg 0:d4d0421bd4e2 265 }
mikevanderploeg 0:d4d0421bd4e2 266 else val1 = (int)a-48;
mikevanderploeg 0:d4d0421bd4e2 267
mikevanderploeg 0:d4d0421bd4e2 268 if(b>64 && b<71)
mikevanderploeg 0:d4d0421bd4e2 269 {
mikevanderploeg 0:d4d0421bd4e2 270 val2 = (int)b-55;
mikevanderploeg 0:d4d0421bd4e2 271 }
mikevanderploeg 0:d4d0421bd4e2 272 else if(b>96 && b<103)
mikevanderploeg 0:d4d0421bd4e2 273 {
mikevanderploeg 0:d4d0421bd4e2 274 val2 = (int)b-87;
mikevanderploeg 0:d4d0421bd4e2 275 }
mikevanderploeg 0:d4d0421bd4e2 276 else val2 = (int)b-48;
mikevanderploeg 0:d4d0421bd4e2 277
mikevanderploeg 0:d4d0421bd4e2 278 val=16*val1+val2;
mikevanderploeg 0:d4d0421bd4e2 279
mikevanderploeg 0:d4d0421bd4e2 280 return val;
mikevanderploeg 0:d4d0421bd4e2 281 }
mikevanderploeg 0:d4d0421bd4e2 282
mikevanderploeg 0:d4d0421bd4e2 283 int ldo(char a, char b)
mikevanderploeg 0:d4d0421bd4e2 284 {
mikevanderploeg 0:d4d0421bd4e2 285 int val1 = 0;
mikevanderploeg 0:d4d0421bd4e2 286 int val2 = 0;
mikevanderploeg 0:d4d0421bd4e2 287 int val = 0;
mikevanderploeg 0:d4d0421bd4e2 288 if(a>64 && a<71)
mikevanderploeg 0:d4d0421bd4e2 289 {
mikevanderploeg 0:d4d0421bd4e2 290 val1 = (int)a-55;
mikevanderploeg 0:d4d0421bd4e2 291 }
mikevanderploeg 0:d4d0421bd4e2 292 else if(a>96 && a<103)
mikevanderploeg 0:d4d0421bd4e2 293 {
mikevanderploeg 0:d4d0421bd4e2 294 val1 = (int)a-87;
mikevanderploeg 0:d4d0421bd4e2 295 }
mikevanderploeg 0:d4d0421bd4e2 296 else val1 = (int)a-48;
mikevanderploeg 0:d4d0421bd4e2 297
mikevanderploeg 0:d4d0421bd4e2 298 if(b>64 && b<71)
mikevanderploeg 0:d4d0421bd4e2 299 {
mikevanderploeg 0:d4d0421bd4e2 300 val2 = (int)b-55;
mikevanderploeg 0:d4d0421bd4e2 301 }
mikevanderploeg 0:d4d0421bd4e2 302 else if(b>96 && b<103)
mikevanderploeg 0:d4d0421bd4e2 303 {
mikevanderploeg 0:d4d0421bd4e2 304 val2 = (int)b-87;
mikevanderploeg 0:d4d0421bd4e2 305 }
mikevanderploeg 0:d4d0421bd4e2 306 else val2 = (int)b-48;
mikevanderploeg 0:d4d0421bd4e2 307
mikevanderploeg 0:d4d0421bd4e2 308 val=10*val1+val2;
mikevanderploeg 0:d4d0421bd4e2 309
mikevanderploeg 0:d4d0421bd4e2 310 return val;
mikevanderploeg 0:d4d0421bd4e2 311 }