Pranav Thakur / Mbed 2 deprecated daplink-validation

Dependencies:   mbed

Fork of daplink-validation by Russ Butler

Committer:
c1728p9
Date:
Fri Sep 11 14:50:00 2015 +0000
Revision:
1:db2a55107c7e
Parent:
0:c4a3bb148a79
Child:
2:204ef796ee06
Create test program for daplink

Who changed what in which revision?

UserRevisionLine numberNew contents of line
c1728p9 0:c4a3bb148a79 1 #include "mbed.h"
c1728p9 1:db2a55107c7e 2 #include <stdio.h>
c1728p9 0:c4a3bb148a79 3
c1728p9 0:c4a3bb148a79 4 Serial pc(USBTX, USBRX);
c1728p9 0:c4a3bb148a79 5
c1728p9 1:db2a55107c7e 6 int main()
c1728p9 1:db2a55107c7e 7 {
c1728p9 1:db2a55107c7e 8 uint32_t baud;
c1728p9 1:db2a55107c7e 9 uint32_t count;
c1728p9 1:db2a55107c7e 10 uint32_t index;
c1728p9 1:db2a55107c7e 11 uint32_t val;
c1728p9 1:db2a55107c7e 12 uint8_t str[64];
c1728p9 0:c4a3bb148a79 13
c1728p9 1:db2a55107c7e 14 count = 0;
c1728p9 1:db2a55107c7e 15 index = 0;
c1728p9 1:db2a55107c7e 16
c1728p9 0:c4a3bb148a79 17 pc.baud(115200);
c1728p9 1:db2a55107c7e 18 pc.printf("{init}");
c1728p9 0:c4a3bb148a79 19 while(1) {
c1728p9 1:db2a55107c7e 20 while (1) {
c1728p9 1:db2a55107c7e 21 val = pc.getc();
c1728p9 1:db2a55107c7e 22
c1728p9 1:db2a55107c7e 23 // Check for overflow. Leave space for
c1728p9 1:db2a55107c7e 24 // a null terminating character
c1728p9 1:db2a55107c7e 25 if (index >= sizeof(str) - 1) {
c1728p9 1:db2a55107c7e 26 index = 0;
c1728p9 1:db2a55107c7e 27 }
c1728p9 1:db2a55107c7e 28
c1728p9 1:db2a55107c7e 29 // Check for start of frame
c1728p9 1:db2a55107c7e 30 if ('{' == val) {
c1728p9 1:db2a55107c7e 31 index = 0;
c1728p9 1:db2a55107c7e 32 }
c1728p9 1:db2a55107c7e 33
c1728p9 1:db2a55107c7e 34 // Check for end of frame
c1728p9 1:db2a55107c7e 35 str[index] = val;
c1728p9 1:db2a55107c7e 36 index++;
c1728p9 1:db2a55107c7e 37
c1728p9 1:db2a55107c7e 38 // Check for end of frame
c1728p9 1:db2a55107c7e 39 if ('}' == val && index > 0) {
c1728p9 1:db2a55107c7e 40 str[index] = 0;
c1728p9 1:db2a55107c7e 41 count = sscanf((char*)str, "{baud:%i}", &baud);
c1728p9 1:db2a55107c7e 42 }
c1728p9 1:db2a55107c7e 43
c1728p9 1:db2a55107c7e 44 // Echo back character
c1728p9 1:db2a55107c7e 45 pc.putc(val);
c1728p9 1:db2a55107c7e 46
c1728p9 1:db2a55107c7e 47 // Set baud if there is a valid command
c1728p9 1:db2a55107c7e 48 if (count == 1) {
c1728p9 1:db2a55107c7e 49 wait(0.01f);
c1728p9 1:db2a55107c7e 50 pc.baud(baud);
c1728p9 1:db2a55107c7e 51 wait(0.01f);
c1728p9 1:db2a55107c7e 52 pc.printf("{change}");
c1728p9 1:db2a55107c7e 53 count = 0;
c1728p9 1:db2a55107c7e 54 }
c1728p9 1:db2a55107c7e 55 }
c1728p9 0:c4a3bb148a79 56 }
c1728p9 0:c4a3bb148a79 57 }