コード例 #1
0
int  ConfigMap::getRegisterNumber(const std::string& name) const
{
    if (!haveVariableWithName(name))
        return -1;

    Parameter p = findParameter(name)->second;
    return p.m_registerNumber;
}
コード例 #2
0
ファイル: ConfigMap.cpp プロジェクト: Pryadka/AirCoolControll
int  ConfigMap::getRegisterNumber(const std::string& name) const
{
    if (!haveVariableWithName(name))
        return -1;

    Parameter p = m_map.at(name);
    return p.m_registerNumber;
}
コード例 #3
0
bool ConfigMap::isVariableBool(const std::string& name, int& bitNumber)
{
    assert(haveVariableWithName(name));

    Parameter p = findParameter(name)->second;
    if (p.m_isBool)
    {
        bitNumber = p.m_bitNumber;
        return true;
    }
    
    return false;
}
コード例 #4
0
ファイル: ConfigMap.cpp プロジェクト: Pryadka/AirCoolControll
unsigned int  ConfigMap::getValue(const std::string& name, const QVector<quint16>& array) const
{
    if (!haveVariableWithName(name))
        return -1;

    Parameter p = m_map.at(name);
    int index = p.m_registerNumber - ((p.m_isWriteble) ? m_outputRegistersInterval.first : m_inputRegistersInterval.first);
  
    qint16 ret = array[index];

    if (p.m_isBool)
    {
        ret =  (ret & (1 << p.m_bitNumber)) ? 1 : 0;
    }

    if (!p.m_decodeMethod.empty())
        ret = decodeWithMethod(ret, p.m_decodeMethod);

    return ret;
}