// get PLCP[i] uint64_t get(uint64_t const i) const { uint64_t const p = i + meta.circularshift; if ( p >= n ) return rawValue(p-n); else return rawValue(p); }
void SensorsWidget::update() { publish(); ui->val1->setText(QString::number(rawValue(ui->plot1->currentIndex()))); ui->val2->setText(QString::number(rawValue(ui->plot2->currentIndex()))); ui->plot->push(m_plots[0], value(ui->plot1->currentIndex())); ui->plot->push(m_plots[1], value(ui->plot2->currentIndex())); ui->plot->inc(); }
const midi_control_value Control::mappedValue() { midi_control_value_raw min = minRawValue(); midi_control_value_raw max = maxRawValue(); midi_control_value_raw raw = rawValue(); if (raw < min) { if (_controlRangeWarning) std::cerr << "Warning, " << description() << " got raw value " << raw << " which is below the min of " << min << std::endl; raw = min; } else if (raw > max) { if (_controlRangeWarning) std::cerr << "Warning, " << description() << " got raw value " << raw << " which is above the max of " << max << std::endl; raw = max; } midi_control_value_raw inValNorm = raw - min; midi_control_value_raw aUpperNorm = max - min; midi_control_value_raw normPosition = inValNorm / aUpperNorm; midi_control_value_raw bUpperNorm = 127 - 0; midi_control_value_raw bValNorm = normPosition * bUpperNorm; midi_control_value_raw outVal = 0 + bValNorm; return outVal; }
double SensorsWidget::value(const int &i) const { double val = rawValue(i); if(i < 8) val = val / 512.0 - 1.0; else if(i < 12) val = val / 32768.0; else if(i < 15) val = val / 512.0; else val = 0.0; return val; }
void AttributeWriter::addElement(NwkAddr nwkAddr, EndpointID endpointID, std::shared_ptr<zigbee::Cluster> cluster, Json::Value &&value, AttributeWriterResult &results) { auto jsonId = value["id"]; if (!jsonId.isInt()) { return; } int id = jsonId.asInt(); auto jsonType = value["type"]; if (!jsonType.isString()) { return; } auto jsonData = value["data"]; auto type = jsonType.asString(); auto zigbeeDevice = singletons.getZigbeeDevice(); auto attribute = cluster->getAttribute(id); auto &rawValue = attribute->getAttributeRawValue(); if (type == "string") { if (!jsonData.isString()) { return; } rawValue(jsonData.asString()); } else if (type == "int" && jsonData.isInt64()){ rawValue(jsonData.asInt64()); } else if (type == "raw" && jsonData.isArray()){ std::vector<uint8_t > rawData; for (Json::Value::ArrayIndex i = 0; i < jsonData.size(); i++) { rawData.push_back(jsonData[i].asInt()); } rawValue(rawData); } else { return; } zigbeeDevice->writeAttribute(nwkAddr, endpointID, cluster->getId(), id, rawValue.type, rawValue.rawData.size(), &rawValue.rawData[0]); results.add(id); }
double profitRatio(Value maxProfits) { assert(profits <= maxProfits); return rawValue(profits/maxProfits); }