Ignore:
Timestamp:
11/06/11 18:09:30 (13 years ago)
Author:
tbretz
Message:
Added the controlling of the rate control.
File:
1 edited

Legend:

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

    r12405 r12428  
    6565    pair<Time, int> fStatusFAD;
    6666    pair<Time, int> fStatusLog;
     67    pair<Time, int> fStatusRC;
    6768
    6869    DimStampedInfo fDim;
     
    7071    DimStampedInfo fFAD;
    7172    DimStampedInfo fLog;
     73    DimStampedInfo fRC;
    7274
    7375    pair<Time, int> GetNewState(DimStampedInfo &info) const
     
    104106        {
    105107            fStatusLog = GetNewState(fLog);
     108            return;
     109        }
     110
     111        if (curr==&fRC)
     112        {
     113            fStatusRC = GetNewState(fRC);
    106114            return;
    107115        }
     
    163171        PrintState(fStatusFAD, "FAD_CONTROL");
    164172        PrintState(fStatusLog, "DATA_LOGGER");
     173        PrintState(fStatusRC,  "RATE_CONTROL");
    165174
    166175        return GetCurrentState();
     
    308317                    return GetCurrentState();
    309318
     319                Message("Starting Rate Control");
     320                Dim::SendCommand("RATE_CONTROL/START_DATA_TAKING");
     321
    310322                Message("Starting FAD");
    311323                ConfigureFAD();
     
    316328            {
    317329                if (fStatusFTM.second != FTM::kConfigured ||
    318                     fStatusFAD.second != FAD::kConfigured)
     330                    fStatusFAD.second != FAD::kConfigured ||
     331                    fStatusRC.second  < 7)
    319332                    return GetCurrentState();
    320333
     
    364377        fFTM("FTM_CONTROL/STATE",      (void*)NULL, 0, this),
    365378        fFAD("FAD_CONTROL/STATE",      (void*)NULL, 0, this),
    366         fLog("DATA_LOGGER/STATE",      (void*)NULL, 0, this)
     379        fLog("DATA_LOGGER/STATE",      (void*)NULL, 0, this),
     380        fRC("RATE_CONTROL/STATE",      (void*)NULL, 0, this)
    367381    {
    368382        // ba::io_service::work is a kind of keep_alive for the loop.
Note: See TracChangeset for help on using the changeset viewer.