ULONG CDebuggerWin::GetLongFromString(char *instr,ULONG mask) { char convert[18]={"0123456789ABCDEFX"}; ULONG retval,tmp,radix; int loop=0,count=0; // Check max length count=strlen(instr); if(count>6) return 0xffffffff; radix=1; retval=0; // Process in reverse for(loop=count-1;loop>=0;loop--) { tmp=CharToLong(instr[loop]); if(tmp==0x10) return 0xffffffff; retval+=tmp*radix; radix*=16; } if(retval>mask) return 0xffffffff; return retval; }
int useTestApp() { int sensor1; int sensor2; char buffer1[10]; char buffer2[10]; int nb1; int nb2; // Open sensor1. sensor1 = open("/sensor1", 0, 0); if (sensor1 < 0) { printf("\nCouldn't open sensor 1.\n"); return ERROR; } printf("\nOpened sensor1.\n"); // Open sensor2. sensor2 = open("/sensor2", 0, 0); if (sensor2 < 0) { printf("Couldn't open sensor 2.\n"); return ERROR; } printf("Opened sensor2.\n\n"); // Read the value from sensor1. nb1 = read(sensor1, buffer1, 10); if (nb1 >= 0) { printf("Resultat 1 :\n"); // Id printf("Id: "); printf("%d\n", CharToInt(buffer1)); // Time printf("Time: "); printf("%d\n", CharToLong(buffer1 + ID_SIZE)); // Value printf("Value: "); printf("%d\n\n", CharToValue(buffer1 + ID_SIZE + TIME_SIZE)); } else { printf("Nothing to read on sensor 1.\n\n"); } // Read the value from sensor2. nb2 = read(sensor2, buffer2, 10); if (nb2 >= 0) { printf("Resultat 2 :\n"); // Id printf("Id: "); printf("%d\n", CharToInt(buffer2)); // Time printf("Time: "); printf("%d\n", CharToLong(buffer2 + ID_SIZE)); // Value printf("Value: "); printf("%d\n\n", CharToValue(buffer2 + ID_SIZE + TIME_SIZE)); } else { printf("Nothing to read on sensor 2.\n\n"); } // Close sensor1. printf("Closing sensor1: %d\n", close(sensor1)); // Close sensor2. printf("Closing sensor2: %d\n\n", close(sensor2)); return OK; }