Ejemplo n.º 1
0
void
MRMCML::setCountLow (epicsUInt32 v)
{
    v = std::max(kind==typeTG300?40u:20u, std::min(v, 65535u));

    epicsUInt32 val = READ32(base, OutputCMLCount(N));
    val &= ~(OutputCMLCount_mask << OutputCMLCount_low_shft);
    val |= v << OutputCMLCount_low_shft;
    WRITE32(base, OutputCMLCount(N), val);
}
Ejemplo n.º 2
0
void
EvrCML::setCountLow (epicsUInt32 v)
{
    if(v<=20 || v>=65535)
        throw std::out_of_range("Invalid CML freq. count");

    epicsUInt32 val = READ32(base, OutputCMLCount(N));
    val &= ~(OutputCMLCount_mask << OutputCMLCount_low_shft);
    val |= v << OutputCMLCount_low_shft;
    WRITE32(base, OutputCMLCount(N), val);
}
Ejemplo n.º 3
0
epicsUInt32
MRMCML::countLow () const
{
    epicsUInt32 val = READ32(base, OutputCMLCount(N));
    val >>= OutputCMLCount_low_shft;
    return val & OutputCMLCount_mask;
}
Ejemplo n.º 4
0
epicsUInt32
EvrCML::countHigh() const
{
    epicsUInt32 val = READ32(base, OutputCMLCount(N));
    val >>= OutputCMLCount_high_shft;
    return val & OutputCMLCount_mask;
}