コード例 #1
0
ファイル: PLCPBitDecoder.hpp プロジェクト: gt1/libmaus2
			// 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);
			}
コード例 #2
0
ファイル: SensorsWidget.cpp プロジェクト: hicom150/botui
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();
}
コード例 #3
0
ファイル: MIDIControl.cpp プロジェクト: kentishbeats/leapmidi
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;
}
コード例 #4
0
ファイル: SensorsWidget.cpp プロジェクト: hicom150/botui
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;
}
コード例 #5
0
ファイル: AttributeWriter.cpp プロジェクト: paoloach/zdomus
    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);
    }
コード例 #6
0
 double profitRatio(Value maxProfits) {
     assert(profits <= maxProfits);
     return rawValue(profits/maxProfits);
 }