Esempio n. 1
2
int main(int argc, char *argv[]) {
  char *serialPort;
  unsigned char prev, curr;
  int count, errors;

  if (argc != 2) {
    printf("Usage: %s <serial port>\n", argv[0]);
    exit(1);
  }
  serialPort = argv[1];
  serialOpen(serialPort);
  count = 0;
  errors = 0;
  while (!serialRcv(&prev)) ;
  count++;
  while (count < 100000) {
    while (!serialRcv(&curr)) ;
    count++;
    if (((prev + 1) & 0xFF) != curr) {
      errors++;
    }
    prev = curr;
  }
  if (sfd != 0) {
    serialClose();
    sfd = 0;
  }
  printf("count = %d (ok = %d, errors = %d)\n",
         count, count - errors, errors);
  return 0;
}
Esempio n. 2
0
void block(void) {
  unsigned char src[1000];
  unsigned char dst[1000];
  unsigned char *p, *q;
  int i;

  for (i = 0; i < 1000; i++) {
    src[i] = rand();
  }
  p = src;
  q = dst;
  while (1) {
    if (p != &src[1000] && serialSnd(*p)) {
      p++;
    }
    if (q != &dst[1000] && serialRcv(q)) {
      q++;
    }
    if (q == &dst[1000]) {
      break;
    }
  }
  for (i = 0; i < 1000; i++) {
    if (((src[i] + 0x5C) & 0xFF) != dst[i]) {
      errors++;
    }
  }
}
Esempio n. 3
0
int main(int argc, char *argv[]) {
  unsigned char curr;
  int count;

  if (argc != 1) {
    printf("Usage: %s\n", argv[0]);
    exit(1);
  }
  serialOpen();
  curr = 0;
  count = 0;
  while (count < 100000) {
    while (!serialSnd(curr)) ;
    curr = (curr + 1) & 0xFF;
    count++;
  }
  printf("count = %d\n", count);
  while (!serialRcv(&curr)) ;
  printf("answer = %c\n", curr);
  if (sfd != 0) {
    serialClose();
    sfd = 0;
  }
  return 0;
}
Esempio n. 4
0
int main(int argc, char *argv[]) {
  unsigned char b;
  int i, j;

  if (argc != 3) {
    printf("Usage: %s <serial_port> <data_file>\n", argv[0]);
    exit(1);
  }
  serialOpen(argv[1]);
  serialRcv(&b);
  diskFile = fopen(argv[2], "wb");
  if (diskFile == NULL) {
    error("cannot open data file %s for write", argv[2]);
  }
  for (i = 0; i < 512; i++) {
    if (debug) {
      printf("%03d:  ", i);
    }
    for (j = 0; j < 16; j++) {
      while (!serialRcv(&b)) ;
      if (fwrite(&b, 1, 1, diskFile) != 1) {
        error("cannot write to data file %s", argv[2]);
      }
      if (debug) {
        printf("%02X  ", b);
      }
    }
    if (debug) {
      printf("\n");
    }
  }
  if (diskFile != NULL) {
    fclose(diskFile);
    diskFile = NULL;
  }
  if (sfd != 0) {
    serialClose();
    sfd = 0;
  }
  return 0;
}