Ignore:
Timestamp:
01/10/03 15:38:47 (22 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Cosy/main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/main/MCosy.cc

    r1699 r1701  
    395395    // const ZdAz dest = CorrectTarget(src, dst);
    396396    //
    397     const ZdAz bend = fBending(dst);
    398     const ZdAz dest = bend*16384/2/TMath::Pi();
     397    fZdAzSoll = fBending(dst);
     398    const ZdAz dest = fZdAzSoll*16384/2/TMath::Pi();
    399399
    400400    lout << "Positioning to Target..." << endl;
    401401    cout << "Source        Zd: " << src.Zd()  << "se  Az:" << src.Az()  << "se" << endl;
    402402    cout << "Destination   Zd: " << Rad2SE(dst.Zd()) << "se  Az:" << Rad2SE(dst.Az())  << "se" << endl;
    403     cout << "Bend'd Dest   Zd: " << Rad2SE(bend.Zd()) << "se  Az:" << Rad2SE(bend.Az())  << "se" << endl;
     403    cout << "Bend'd Dest   Zd: " << Rad2SE(fZdAzSoll.Zd()) << "se  Az:" << Rad2SE(fZdAzSoll.Az())  << "se" << endl;
    404404    cout << "Shortest Dest Zd: " << dest.Zd() << "se  Az:" << dest.Az() << "se" << endl;
    405405
     
    674674    {
    675675        //
    676         // The loop should not be executed faster than the ramp of
    677         // a change in the velocity can be followed.
    678         // (This is important on fast machines >500MHz)
    679         //
    680         //usleep(100000000);
    681 
    682         //
    683676        // Request Target position for this moment
    684677        //
     
    759752        // update time
    760753        //
     754        //
     755        // The loop should not be executed faster than the ramp of
     756        // a change in the velocity can be followed.
     757        // (This is important on fast machines >500MHz)
     758        //
    761759        usleep(50000); // 0.05s
    762760    }
     
    779777        return;
    780778    //
    781     // Set status to stopped
     779    // Set status to Stopping
    782780    //
    783781    SetStatus(MCosy::kStopping);
     
    812810void *MCosy::Proc(int msg, void *mp)
    813811{
    814     cout << "MCosy::Proc: 0x" << msg << endl;
    815812    switch (msg)
    816813    {
     
    820817
    821818    case WM_STOP:
     819        cout << "MCosy::Proc: Stop." << endl;
    822820        StopMovement();
    823821        return NULL;
     
    923921        cout << "WM_ResetBending: done. (return 0xbe0e)" << endl;
    924922        return (void*)0xbe0e;
     923
     924    case WM_HOME:
     925        cout << "WM_Home: START" << endl;
     926        if (fMac1 && fMac2)
     927        {
     928            cout << "Going Home..." << endl;
     929            fMac1->SetHome(250000, 100);
     930            fMac2->SetHome(250000, 100);
     931
     932            fAz->SetPreset();
     933            fZd1->SetPreset();
     934            fZd2->SetPreset();
     935
     936            fMac1->ReqPos();
     937            fMac2->ReqPos();
     938        }
     939        cout << "WM_Home: done. (return 0x403e)" << endl;
     940        return (void*)0x403e;
    925941
    926942    case WM_CALCALTAZ:
     
    954970        return (void*)0xaaaa;
    955971    }
    956     cout << "Unknown Msg" << endl;
     972    cout << "MCosy::Proc: Unknown message 0x" << msg << endl;
    957973    return (void*)0xffffffff;
    958974}
     
    9881004    else
    9891005        resrezd = env.GetValue("Zd_ResRE[re/U_mot]", 1500);
    990 
     1006 
    9911007    Double_t ressezd = 0;
    9921008    if (fZd1)
     
    10041020        resseaz = env.GetValue("Az_ResSE[se/U_mot]", 16384);
    10051021
    1006     /* WORKAROUND !!!!!!!!!!!!! FIXME !!!!!!!!!!! */
    1007     resrezd = 500;
    1008     resreaz = 500;
    1009 
    10101022    kGearRatio.Set (gzd*resrezd/ressezd, gaz*resreaz/resseaz);  //[re/se]
    10111023    kGearRatio2.Set(gzd*resrezd/360.0,   gaz*resreaz/360.0);    //[re/deg]
     
    10361048    }
    10371049
    1038     fMac1->EnableTimeout(kTRUE, 500);
    1039     fMac2->EnableTimeout(kTRUE, 500);
     1050    //fMac1->EnableTimeout(kTRUE, 500);
     1051    //fMac2->EnableTimeout(kTRUE, 500);
    10401052
    10411053    if (!(fZd1 && fZd2 && fAz))
    10421054        return;
    10431055
    1044     /*
     1056
    10451057    //
    10461058    // Start the Network
     
    10491061    TEnv env(".cosyrc");
    10501062    cout << "done." << endl;
    1051 
     1063/*
    10521064    const int res = fMac3->GetVelRes();
    10531065
     
    12221234            }
    12231235
     1236            fZdAzSoll.Set(sollzd.Zd(), sollaz.Az());
     1237            fZdAzSoll *= 2*TMath::Pi()/16384;
     1238
    12241239            fTrackingError.Set((ist.Zd()-sollzd.Zd())*kGearRatio.X(),
    12251240                               (ist.Az()-sollaz.Az())*kGearRatio.Y());
     
    12481263
    12491264    fWin->Update(bendist*(360.0/2/TMath::Pi()), fTrackingError/kGearRatio2,
    1250                  fVelocity, fOffset/*/kGearRatio2*/,
     1265                 fVelocity, fOffset/*/kGearRatio2*/, fRaDec, fZdAzSoll,
    12511266                 fStatus);
    12521267
     
    12911306    lout << "- Starting TX Thread." << endl;
    12921307    fTTalk = new MTTalk(this);
     1308    //    fTGui = new MTGui(this);
    12931309
    12941310    lout << "- Starting GUI update." << endl;
    12951311    fUpdateGui->TurnOn();
    1296     //    fTGui = new MTGui(this);
    12971312}
    12981313
  • trunk/MagicSoft/Cosy/main/MCosy.h

    r1699 r1701  
    2121#define WM_RESETBENDING 0x1008
    2222#define WM_CALCALTAZ    0x1009
     23#define WM_HOME         0x100a
     24
    2325
    2426class ShaftEncoder;
     
    7678    ZdAz  fTrackingError; // Tracking Offset between SE and calc-pos [re]
    7779    ZdAz  fOffset;        // Offset between se and re coordinate system [re]
     80    ZdAz  fZdAzSoll;      // Soll position when moving
    7881    RaDec fRaDec;         // Position to track
    7982    int   fTracking;      // Flag for present tracking action
Note: See TracChangeset for help on using the changeset viewer.