示例#1
0
文件: SLEW.C 项目: mhspradlin/DUNHAM
void DoSlewingMenu( int *menu )
// Shows slew progress in X and Y.  Called to do the slew from within
// the tracking routine, and returns to tracking when done.
{
   long int X_Target, Y_Target;
   double HA, Alt, Az;
   int x=25, y=TRACKINGDISPLAY, w=y+5;

   clrscr();
   FrameScreen();
   *menu = TrackingMenu;
   gotoxy(37,y); printf("Slewing");
   DisplayCoordinates(w,1,1,0);   
   gotoxy(x,w+0); printf("(Target RA: %4d:%02d:%02d )", _HOURS(RA_Target), 
                          _MINUTES(RA_Target), _SECONDS(RA_Target));
   gotoxy(x,w+1); printf("(Target Dec:%+4d:%02d:%02d )", 
                              _SIGN(DecTarget)*_HOURS(DecTarget), 
                              _MINUTES(DecTarget), _SECONDS(DecTarget));
   gotoxy(18,w+6); printf("Hit q to stop slewing and return to tracking.");
   PrevStatus = Status;
   Status = SLEWING;
   do
   {
      Slew(w+2);
      GetXY( RA_Target, DecTarget, &X_Target, &Y_Target );
      dX = X_Target - gX;
      dY = Y_Target - gY;
   } while ( (pow(dX,2)+pow(dY,2)) > pow(CLOSE_ENOUGH,2) );
   PrevStatus = Status;
   Status = TRACKING;
}
示例#2
0
bool Telescope::Slew(double ra, double dec)
{
    SkyPoint target;

    target.setRA(ra);
    target.setDec(dec);

    return Slew(&target);
}
示例#3
0
//
// Function for interpreting a command string of the format ": COMMAND <ARGUMENT> #"
//
void Dome::interpretCommand(Messenger *message)
{
  message->readChar(); // Reads ":"
  char command = message->readChar(); // Read the command
  
  switch(command){
    case 'P':
      Park();
      break;
    case 'O':
      OpenCloseShutter(message->readInt());
      break;
    case 'S':
      Slew(message->readLong());
      break;
    case 'H':
      AbortSlew();
      break;
    case 'T':
      SyncToAzimuth(message->readInt());
      break;
  }
}
示例#4
0
void Dome::Park()
{
  Slew(parkPosition);
  delay(500);
  Serial.println("PARKED");
}