Ignore:
Timestamp:
05/03/12 22:46:23 (13 years ago)
Author:
tbretz
Message:
Some fixes, updates and improvements to get a first version fully working.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/smartfact.cc

    r13529 r13552  
    196196    void HandleDriveControlPointing(const DimData &d)
    197197    {
    198         if (!CheckDataSize(d, "DriveControl:Pointing", 7*4+2))
     198        if (!CheckDataSize(d, "DriveControl:Pointing", 16))
    199199            return;
    200200
     
    211211        };
    212212
    213         const uint16_t i = uint16_t(floor(fmod(az+11.25, 360)/22));
     213        const uint16_t i = uint16_t(floor(fmod(az+360+11.25, 360)/22));
    214214        fDriveControlPointingAz = dir[i];
    215215
     
    227227    void HandleDriveControlTracking(const DimData &d)
    228228    {
    229         if (!CheckDataSize(d, "DriveControl:Tracking", 7*4+2))
     229        if (!CheckDataSize(d, "DriveControl:Tracking", 56))
    230230            return;
    231231
     
    239239        // Simplified:
    240240        const double dev = cos(dzd) - sin(zd)*sin(zd)*(1.-cos(daz));
    241         fDriveControlTrackingDev = acos(dev) * 180 / M_PI;
     241        fDriveControlTrackingDev = acos(dev) * 180 / M_PI * 3600;
     242        if (fDriveControlTrackingDev<0.01)
     243            fDriveControlTrackingDev=0;
    242244    }
    243245
    244246    void HandleDriveControlSource(const DimData &d)
    245247    {
    246         if (!CheckDataSize(d, "DriveControl:Source", 7*4+2))
    247             return;
     248        //if (!CheckDataSize(d, "DriveControl:Source", 7*4+2))
     249        //    return;
    248250
    249251        const double *ptr = d.ptr<double>();
     
    266268        out << "#ffffff\t" << woff << '\n';
    267269        out << "#ffffff\t" << wang << '\n';
    268            
     270
    269271        ofstream fout("www/drive.txt");
    270272        fout << out.str();
     
    364366        WriteBinary("ftmcontrol-patchrates",
    365367                    vector<float>(prates, prates+160), 10);
     368
     369//        for (int i=0; i<160; i++) cout << prates[i] << endl;
     370
     371        ostringstream out;
     372        out << setprecision(3);
     373        out << uint64_t(d.time.UnixTime()*1000) << '\n';
     374        out << "#ffffff\t" << fFtmControlTriggerRateCam << '\n';
     375
     376        ofstream fout("www/trigger.txt");
     377        fout << out.str();
    366378    }
    367379
     
    371383            return;
    372384
    373         if (fFadControlEventCounter++%30)
    374             return;
     385        //if (fFadControlEventCounter++%30)
     386        //    return;
    375387
    376388        //const float *avg = d.ptr<float>();
     
    518530        {
    519531            const State rc = fNetwork.GetState("DRIVE_CONTROL", fStatusDriveControl.second);
    520             out << kWhite << "\t";
     532            out << kWhite << '\t';
    521533            out << rc.name << '\t';
    522534            out << fDriveControlPointingZd  << '\t';
    523535            out << fDriveControlPointingAz  << '\t';
    524             out << fDriveControlTrackingDev << '\t';
    525             out << fDriveControlSourceName  << '\n';
     536            if (fStatusDriveControl.second==7)
     537            {
     538                out << fDriveControlTrackingDev << '\t';
     539                out << fDriveControlSourceName  << '\n';
     540            }
     541            else
     542                out << "\t\n";
    526543        }
    527544        else
    528             out << kWhite << "\n";
     545            out << kWhite << '\n';
    529546
    530547        // --------------- MagicWeather -------------
     
    545562                col2 = kRed;
    546563
    547             out << col1 << "\t";
     564            out << col1 << '\t';
    548565            out << fMagicWeatherData[kTemp]  << '\t';
    549566            out << fMagicWeatherData[kDew]   << '\n';
    550             out << col2 << "\t";
     567            out << col2 << '\t';
    551568            out << fMagicWeatherData[kGusts] << '\n';
    552569        }
     
    582599                col = kBlue;
    583600
    584             out << col << "\t";
     601            out << col << '\t';
    585602            out << fBiasControlCurrentMed << '\t';
    586603            out << fBiasControlCurrentMax << '\t';
     
    588605        }
    589606        else
    590             out << kWhite << "\n";
     607            out << kWhite << '\n';
    591608
    592609
Note: See TracChangeset for help on using the changeset viewer.