int ConfigMap::getRegisterNumber(const std::string& name) const { if (!haveVariableWithName(name)) return -1; Parameter p = findParameter(name)->second; return p.m_registerNumber; }
int ConfigMap::getRegisterNumber(const std::string& name) const { if (!haveVariableWithName(name)) return -1; Parameter p = m_map.at(name); return p.m_registerNumber; }
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; }
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; }