int gofor(int llen, int rlen, int turn, int forward) { encoderReset(r_encoder); encoderReset(l_encoder); int ol=0; int or=0; dstat=0; printf("going for %d\t%d degrees with dir %d\t%d\n\r",llen,rlen,turn,forward); #ifndef SIM while((abs(encoderGet(l_encoder))<llen &&abs(encoderGet(r_encoder))<rlen)){ c_status("gofor",llen); controldrive(turn,forward); simtank(<ank,encoderGet(l_encoder-ol)-ol,encoderGet(r_encoder)-or); ol=encoderGet(l_encoder); or=encoderGet(r_encoder); delay(20); } #endif dstat=1; controldrive(0,0); printf("Motion complete, expected:"); printpos(&ctank); printf("\tintegrated: "); printpos(<ank); printf("\n\r"); return encoderGet(l_encoder)>encoderGet(l_encoder) ? encoderGet(l_encoder) : encoderGet(r_encoder); }
int main(int argc, char **argv) { SSL *conn; char *keytab = "tmp.keytab"; char *servername = "rekey.andrew.cmu.edu"; char *princname = REKEY_DEF_SERVICE; int optch; int flag=0; while ((optch = getopt(argc, argv, "k:s:P:d")) != -1) { switch (optch) { case 'k': keytab = optarg; break; case 's': servername = optarg; break; case 'P': princname = optarg; break; case 'd': flag|=REQFLAG_DESONLY; break; case '?': fprintf(stderr, "Usage: rekeytest [-k keytab] [-r realm] [-s servername] [-P serverprinc]\n [-d] [princ [hostname...] \n"); exit(1); } } ssl_startup(); conn=c_connect(servername); printf("Attach to remote server if required, then press return\n"); getc(stdin); c_auth(conn, servername, princname); if (argc > 2) c_newreq(conn, argv[1], flag, argc - 2, argv + 2); else if (argc == 2) c_status(conn, argv[1]); else c_getkeys(conn, keytab, 0, NULL, 0); SSL_shutdown(conn); SSL_free(conn); ssl_cleanup(); return 0; }