string - Detecting characters in C++ char stream -
i working on piece of arduino code using blackwidow version wifi built in. using wiserver.h library, i'm using simpleclient.pde example mods send call webserver return integer - 0, 1, or 2. end goal turn on pin proper red, green, or yellow of stoplight. integers represent aggregate state of our hudson ci.
i'm php lazy bastard, , pointers scare me. code working is
// function prints data server void printdata(char* data, int len) { // print data returned server // note data not null-terminated, may broken smaller packets, , // includes http header. while (len-- > 0) { serial.print(*(data++)); } }
printdata() callback of call webserver, , when run sends following serial monitor (this 3 loops, no newline before new output):
http/1.1 200 ok date: thu, 10 feb 2011 17:37:37 gmt server: apache/2.2.13 (unix) mod_ssl/2.2.13 openssl/0.9.8k dav/2 php/5.2.11 x-powered-by: php/5.2.11 content-length: 1 connection: close content-type: text/html 0http/1.1 200 ok date: thu, 10 feb 2011 17:37:45 gmt server: apache/2.2.13 (unix) mod_ssl/2.2.13 openssl/0.9.8k dav/2 php/5.2.11 x-powered-by: php/5.2.11 content-length: 1 connection: close content-type: text/html 0http/1.1 200 ok date: thu, 10 feb 2011 17:37:58 gmt server: apache/2.2.13 (unix) mod_ssl/2.2.13 openssl/0.9.8k dav/2 php/5.2.11 x-powered-by: php/5.2.11 content-length: 1 connection: close content-type: text/html 0
the part need identify 0, 1 or 2.
instead of printdata(), function become turnonappropriatelight() or something, setting pin high. activate relay, power corresponding led array.
now i've written looks need keep last character around , switch based on value. *(data++) confusing part though know it's incrementing pointer index...i'm not sure how go directly last char in index. no need looping spit out result.
this not robust @ all,
serial.print(data[len-1])
see gets you
Comments
Post a Comment