Changeset 11169 for trunk/FACT++/src


Ignore:
Timestamp:
06/24/11 13:16:04 (14 years ago)
Author:
tbretz
Message:
Added DrsEnabled
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/EventBuilderWrapper.h

    r11166 r11169  
    722722    DimDescribedService fDimFwVersion;
    723723    DimDescribedService fDimPllLock;
     724    DimDescribedService fDimDrsEnabled;
    724725    DimDescribedService fDimStatistics;
    725726
     
    741742        fDimEventData("FAD_CONTROL/EVENT_DATA", "S:1;I:1;S:1;I:2;S:1;S", ""),
    742743        fDimFwVersion("FAD_CONTROL/FIRMWARE_VERSION", "F:43", ""),
    743         fDimPllLock("FAD_CONTROL/PLL_LOCK", "C:43", ""),
     744        fDimPllLock("FAD_CONTROL/PLL_LOCK", "C:41", ""),
     745        fDimDrsEnabled("FAD_CONTROL/DRS_ENABLED", "C:41", ""),
    744746        fDimStatistics("FAD_CONTROL/STATISTICS", "X:8", ""),
    745747        fDebugStream(false), fDebugRead(false)
     
    13531355            const T *ref = reinterpret_cast<const T*>(base+offset);
    13541356
    1355             vec[i+3] = *ref;
     1357            vec[i+3] = (*ref&mask)>>shift;
    13561358
    13571359//            if (gi_NumConnect[i/7]!=7)
     
    13781380            return make_pair(false, vec);
    13791381
    1380         vec[0] =  *min;
     1382        vec[0] = (*min&mask)>>shift;
    13811383        vec[1] = (*val&mask)>>shift;
    1382         vec[2] =  *max;
     1384        vec[2] = (*max&mask)>>shift;
    13831385
    13841386        return make_pair(rc, vec);
    13851387    }
    13861388
    1387     template<typename T>
    1388     void Update(DimDescribedService &svc, const pair<bool,boost::array<T, 43>> &data)
     1389    template<typename T, size_t N>
     1390    void Update(DimDescribedService &svc, const pair<bool,boost::array<T, N>> &data)
    13891391    {
    13901392        svc.setQuality(data.first);
    1391         svc.setData(const_cast<T*>(data.second.data()), sizeof(T)*43);
     1393        svc.setData(const_cast<T*>(data.second.data()), sizeof(T)*N);
    13921394        svc.updateService();
    13931395    }
     
    14441446        {
    14451447            const pair<bool, boost::array<uint16_t,43>> pll = Compare(&h, &h.fStatus, 0xf<<12, 12);
     1448            pair<bool, boost::array<uint8_t,41>> data;
     1449            data.first = pll.first;
     1450            data.second[0] = pll.second[1];
     1451            for (int i=0; i<40; i++)
     1452                data.second[i+1] = pll.second[i+3];
     1453            Update(fDimPllLock, data);
     1454        }
     1455
     1456        if (old.HasDenable() != h.HasDenable())
     1457        {
     1458            const pair<bool, boost::array<uint16_t,43>> drs = Compare(&h, &h.fStatus, FAD::EventHeader::kDenable);
    14461459            pair<bool, boost::array<uint8_t,43>> data;
    1447             data.first = pll.first;
    1448 
    1449             for (int i=0; i<43; i++)
    1450                 data.second[i] = (pll.second[i]>>12)&0xf;
    1451             Update(fDimPllLock, data);
    1452         }
    1453 
    1454         if (old.HasDenable() != h.HasDenable())
    1455         {
    1456             const pair<bool, boost::array<uint16_t,43>> drs = Compare(&h, &h.fStatus, FAD::EventHeader::kDenable);
    1457             Print("Drs", drs);
     1460            data.first = drs.first;
     1461            data.second[0] = drs.second[1];
     1462            for (int i=0; i<40; i++)
     1463                data.second[i+1] = drs.second[i+3];
     1464            Update(fDimDrsEnabled, data);
    14581465        }
    14591466
Note: See TracChangeset for help on using the changeset viewer.