I have been trying to split data received from my RC Car that uses an Arduino to Transmit Sensor Data.
The sensor data consist of a Sensor ID and a the reading.
Has anyone got any pointers on how I can split the data?
My Goal is to add an Arduino & LCD Screen to my RC Controller
Thanks in advance
Search the forum and thou will find - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1226107230
Should get you started
Thank for the response,
I have looked @ that code, however its not quite what I'm looking for!
I need a code that will search a string "Light:" and take the next two characters and store them as an int value "12".
Thats right, the code presented there splits a string in the words it makes up. So if you find light you know you have to take the next word.
You need to split your string first in records [ light:12 ] [ Temp: 12 ] The , is the record separator
And then the records into fields [[ Light ]  ] [[Temp ][ 12 ]] The : is the field separator
If you don't want to use strTok() you can write a function that searches for a word in a string and returns its position
Something like this (not tested)
int strIndex(char* str, char* word)
for (int i = 0; i< strlen(str) - strlen(word); i++)
if strncmp(str+i, word, strlen(word)) ==0) return i;
The problem with the latter approach is that you will never be sure how long the field is that comes after light: That can be 1 digit, 2 digits or maybe 3 digits or ...
The first method is more robust as it splits the string based upon the separators.
Thats what i was thinking robtillaart!
To get around that, I was thinking or scaling the readings to within a 000 - 100. That way I can guarantee that the transmitted reading will only be 3 digits long.
I found this from http://code.google.com/p/ardu-station/:
latitude=Search_Int(buffer,"LAT:");//Searching for the string LAT:, and converting/storing the value next to it.
int Search_Int(char buffer,char looking)
SearchString= strstr (BufferPointer,looking);
The problem is when I try to adapt it to my code I get errors about Virtualwire using uint8_t.
how can I convert uint8_t to char?