/* 07 april 1995 R. Howell : Modified so that it only takes one value. The dec dial term should always be zero. Only the RA term is changed. Also removed the useless commands dial and idial. The comments in the original dial code were inaccurate. The "default" values for the dial variables should be zero. Modifications: 96-07-01 Howell Changed logging on col, icol, off2, and ioff2 to log the changed values, not just the fact that the command was executed. 20Jan00 JSW Port to Linux. */ #include #include #include "wirotypes.h" #include "track.h" #include "wiro.h" void log_entry( char *comment ); struct wiro_memory *tinfo; main( argc, argv ) int argc; char *argv[ ]; { double val, valha, valdec; char log_message[98]; /* Message to place in log file */ tinfo = get_tinfo(); if (argc == 2) { if ( strcmp(argv[1],"zero") ==0 ) { OFFSET_DEC = 0.0; OFFSET_HA = 0.0; log_entry( "zero" ); exit(0); } else if ( strcmp( argv[ 1 ], "col" ) == 0 ) { COL_DEC = 0.0; COL_HA = 0.0; sprintf( log_message, "col: HA Coll: %10.2lf DEC Coll: %10.2lf Dial: %10.2lf", COL_HA * 3600.0, COL_DEC * 3600.0 , tinfo -> dial_ha * 3600.0); log_entry(log_message); } else if ( strcmp( argv[ 1 ], "icol" ) == 0 ) { COL_DEC += OFFSET_DEC; COL_HA += OFFSET_HA; OFFSET_DEC = 0.0; OFFSET_HA = 0.0; sprintf( log_message, "icol: HA Coll: %10.2lf DEC Coll: %10.2lf Dial: %10.2lf", COL_HA * 3600.0, COL_DEC * 3600.0 , tinfo -> dial_ha * 3600.0); log_entry(log_message); } else if ( strcmp( argv[ 1 ], "off2" ) == 0 ) { OFFSET_2_DEC = OFFSET_DEC; OFFSET_2_HA = OFFSET_HA; OFFSET_DEC = 0.0; OFFSET_HA = 0.0; sprintf( log_message, "off2: HA Offset2: %10.2lf DEC Offset2: %10.2lf", OFFSET_2_HA * 3600.0, OFFSET_2_DEC * 3600.0 ); log_entry(log_message); } else if ( strcmp( argv[ 1 ], "ioff2" ) == 0 ) { OFFSET_2_DEC += OFFSET_DEC; OFFSET_2_HA += OFFSET_HA; OFFSET_DEC = 0.0; OFFSET_HA = 0.0; sprintf( log_message, "ioff2: HA Offset2: %10.2lf DEC Offset2: %10.2lf", OFFSET_2_HA * 3600.0, OFFSET_2_DEC * 3600.0 ); log_entry(log_message); } else { printf("Unrecognized command %s \n",argv[0]); exit(1); } } if ( argc == 3) { sscanf( argv[ 2 ], "%lf", &val ); if ( fabs( val ) > 3600.0 ) { printf( "Illegal offset value: %s\n", argv[ 2 ] ); exit( -1 ); } else val /= 3600.0; if (strcmp(argv[1],"nn") == 0) { OFFSET_DEC += val; sprintf( log_message, "nn %s", argv[ 2 ] ); log_entry( log_message ); exit(0); } else if ( strcmp( argv[ 1 ], "ss" ) == 0 ) { OFFSET_DEC -= val; sprintf( log_message, "ss %s", argv[ 2 ] ); log_entry( log_message ); exit(0); } else if ( strcmp( argv[ 1 ], "ee" ) == 0 ) { OFFSET_HA -= val; sprintf( log_message, "ee %s", argv[ 2 ] ); log_entry( log_message ); exit(0); } else if ( strcmp( argv[ 1 ], "ww" ) == 0 ) { OFFSET_HA += val; sprintf( log_message, "ww %s", argv[ 2 ] ); log_entry( log_message ); exit(0); } else if (strcmp( argv[ 1 ], "setdial") == 0) { tinfo->dial_ha = val; sprintf( log_message, "setdial %s", argv[ 2 ]); log_entry( log_message ); } else { printf("Unrecognized command %s \n",argv[1]); exit(1); } } /* following below was edited to bring in compliance with shifted by 1 arg in the command line, I cannot say that I have a full understanding what it does or what command it is supposed to execute. AK 2009, May 9 */ if ( argc == 4) { sscanf( argv[ 2 ], "%lf", &valha ); valha /= 3600.0; sscanf( argv[ 3 ], "%lf", &valdec ); valdec /= 3600.0; if ( fabs( valha ) > 1.0 ) { /* 1 degree or 3600 arcsec max. */ printf( "Illegal offset value: %s\n", argv[ 2 ] ); exit( -1 ); } else if ( fabs( valdec ) > 1.0 ) { /* 1 degree or 3600 arcsec max. */ printf( "Illegal offset value: %s\n", argv[ 3 ] ); exit( -1 ); } else if (strcmp( argv[ 1 ], "setcol") == 0) { tinfo->col_ha = valha; tinfo->col_dec = valdec; sprintf( log_message, "setcol %s %s", argv[ 2 ], argv[ 3 ] ); log_entry( log_message ); } else { printf("Unrecognized command %s \n",argv[1]); exit(1); } } }