void processline( char ch[]) { if(ch[0]=='d' && ch[5]=='b') { char src1[8]; char src2[8]; char dist[5]; char bear[3]; int distance; int bearing; //ugly fix cause it was turning me crazy //the incoming format is d####b## with d before the distance and b before the bearing strcpy(src1, ch); strcpy(src2, ch); dist[0] = ch[1]; dist[1] = ch[2]; dist[2] = ch[3]; dist[3] = ch[4]; dist[4] = '\0'; bear[0] = ch[6]; bear[1] = ch[7]; bear[2] = ch[8]; bear[3] = '\0'; //memset(dist, '\0', sizeof(dist)); // strcpy(src, ch); // strncpy(dist, ch+1, 4); //memset(bearing, '\0', sizeof(bearing)); // strncpy(bear, src+6, 2); // char *ptr; distance = strtol(dist, &ptr, 10); //string2int(dist); bearing = strtol(bear, &ptr, 10);//string2int(bear); //retrieving the bearing part of the string // char* bearing; // strncpy(bearing, ch+6, 2); display(distance); //retrieving the distance part of the string // memset(ch, '\0', sizeof( ch )); // char* substr; // strncpy(substr, ch+1, 4); goToPos(bearing); } }
void goToRel(int32_t rel_pos){ goToPos(position + rel_pos); }