Ignore:
Timestamp:
05/27/12 11:03:30 (12 years ago)
Author:
tbretz
Message:
Display thresholds on main page; initialize fMcpConfigurationState; added a warning about the moon distance; use feedback state definitions
File:
1 edited

Legend:

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

    r13932 r13936  
    2525#include "HeadersMCP.h"
    2626#include "HeadersDrive.h"
     27#include "HeadersFeedback.h"
    2728#include "HeadersRateScan.h"
    2829#include "HeadersRateControl.h"
     
    355356    vector<float> fBiasControlVoltageVec;
    356357
     358    float  fBiasControlPowerTot;
    357359    float  fBiasControlVoltageMed;
    358360    float  fBiasControlCurrentMed;
     
    367369    string fDriveControlPointingAz;
    368370    string fDriveControlSourceName;
     371    float  fDriveControlMoonDist;
    369372
    370373    deque<float> fDriveControlTrackingDevHist;
     
    564567        if (!CheckDataSize(d, "Mcp:Configuration", 16, true))
    565568        {
    566             fMcpConfigurationState     = -256;
     569            fMcpConfigurationState     = 0;
    567570            fMcpConfigurationMaxTime   = 0;
    568571            fMcpConfigurationMaxEvents = 0;
     
    771774        out << kHtmlWhite << '\t' << dev << '\n';
    772775
     776        fDriveControlMoonDist = -1;
     777
    773778        Moon moon(-(17.+53./60+26.525/3600), 28.+45./60+42.462/3600);
    774779        if (moon.visible)
     
    777782
    778783            string col = kHtmlGreen;
    779             if (angle<35 || angle>145)
     784            if (angle<20 || angle>140)
    780785                col = kHtmlYellow;
    781             if (angle<25 || angle>155)
     786            if (angle<10 || angle>150)
    782787                col = kHtmlRed;
    783788            out << col << '\t' << setprecision(3) << angle << '\n';
     789
     790            fDriveControlMoonDist = angle;
    784791        }
    785792        else
     
    954961        if (power_apd<1e-3)
    955962            power_apd = 0;
     963
     964        fBiasControlPowerTot = power_tot;
    956965
    957966        // Get the maximum of each patch
     
    15691578            msg << "dimctrl offline<br/>";
    15701579
     1580        if (fDriveControlMoonDist>155)
     1581            msg << "Moon within the field-of-view of the cones<br/>";
     1582        if (fDriveControlMoonDist>=0 && fDriveControlMoonDist<3)
     1583            msg << "Moon within the field-of-view of the camera<br/>";
     1584
     1585
    15711586        if (!fDimFeedback.state()==Feedback::State::kCalibrating &&
    1572             fDimBias.state()==BIAS::State::kVoltageOn &&
     1587            fDimBiasControl.state()==BIAS::State::kVoltageOn &&
    15731588            fBiasControlVoltageMed>3 &&
    15741589            fFeedbackCalibration.size()==0)
     
    16381653                switch (fMcpConfigurationState)
    16391654                {
    1640                 // kStateIdle
    1641                 case  5: out << "Idle [" << fMcpConfigurationName << "]"; break;
    1642                 // Configuring1 - Configuring3
    1643                 case  7:
    1644                 case  8:
    1645                 case  9: out << "Configuring [" << fMcpConfigurationName << "]"; break;
    1646                 // Configured
    1647                 case 10: out << "Configured [" << fMcpConfigurationName << "]"; break;
    1648                 // TriggerOn / Taking Data
    1649                 case 11:
    1650                 case 12: out << fMcpConfigurationName; break;
     1655                case MCP::State::kIdle:
     1656                    out << "Idle [" << fMcpConfigurationName << "]";
     1657                    break;
     1658                case MCP::State::kConfiguring1:
     1659                case MCP::State::kConfiguring2:
     1660                case MCP::State::kConfiguring3:
     1661                    out << "Configuring [" << fMcpConfigurationName << "]";
     1662                    break;
     1663                case MCP::State::kConfigured:
     1664                    out << "Configured [" << fMcpConfigurationName << "]";
     1665                    break;
     1666                case MCP::State::kTriggerOn:
     1667                case MCP::State::kTakingData:
     1668                    out << fMcpConfigurationName;
     1669                    if (fFadControlDrsRuns[2]>0)
     1670                        out << "(" << fFadControlDrsRuns[2] << ")";
     1671                    break;
    16511672                }
    16521673            }
     
    16731694                {
    16741695                    if (fMcpConfigurationState==MCP::State::kTakingData)
    1675                         evt << fFadControlNumEvents;
     1696                    {
     1697                        if (fFadControlNumEvents>2999)
     1698                            evt << floor(fFadControlNumEvents/1000) << 'k';
     1699                        else
     1700                            evt << fFadControlNumEvents;
     1701                    }
    16761702                }
    16771703
     
    17071733                    out << ']';
    17081734            }
    1709 
    1710             if (fFadControlDrsRuns[2]>0)
    1711                 out << " (" << fFadControlDrsRuns[2] << ")";
    17121735        }
    17131736        else
     
    17361759            //out << rc.name << '\t';
    17371760            out << fDriveControlPointingZd  << '\t';
     1761            out << setprecision(2);
    17381762            out << fDriveControlPointingAz  << '\t';
    17391763            if (fDimDriveControl.state()==7)
    17401764            {
    17411765                out << fDriveControlSourceName  << '\t';
    1742                 out << setprecision(2);
    17431766                out << dev << '\n';
    1744                 out << setprecision(3);
    17451767            }
    17461768            else
    17471769                out << "\t\n";
     1770            out << setprecision(3);
    17481771        }
    17491772        else
     
    17961819                col = kHtmlRed;
    17971820
    1798             out << col << '\t' << fFtmControlTriggerRateCam << '\n';
     1821            out << col << '\t' << fFtmControlTriggerRateCam << '\t';
     1822            out << fFtmPatchThresholdMed << '\n';
    17991823        }
    18001824        else
     
    18531877                out << setprecision(3);
    18541878            }
    1855             out << (off ? 0 : fBiasControlVoltageMed) << '\n';
     1879            if (cal && fDimFeedback.state()!=Feedback::State::kCalibrating)
     1880                out << setprecision(2) << fBiasControlPowerTot << " W" << setprecision(3);
     1881            else
     1882                out << (off ? 0 : fBiasControlVoltageMed);
     1883            out << '\n';
    18561884        }
    18571885        else
     
    19021930        fPath("www/smartfact/data"),
    19031931        fControlScriptDepth(0),
     1932        fMcpConfigurationState(-256),
    19041933        fMcpConfigurationMaxTime(0),
    19051934        fMcpConfigurationMaxEvents(0),
Note: See TracChangeset for help on using the changeset viewer.