int FormSetup::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QWidget::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: bufferSizeUpdated((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 1: ApplyB(); break; case 2: playSB(); break; case 3: setVol((*reinterpret_cast< int(*)>(_a[1]))); break; case 4: bBset(); break; case 5: userRateB(); break; case 6: userBitsB(); break; case 7: userChnB(); break; case 8: _buffQB(); break; case 9: _titleHB(); break; case 10: updateBufferSize((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 11: bufferSize((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; default: ; } _id -= 12; } return _id; }
void Plotter2DDisplay::onInitialize() { static int count = 0; rviz::UniformStringStream ss; ss << "Plotter2DDisplayObject" << count++; overlay_.reset(new OverlayObject(ss.str())); updateBufferSize(); onEnable(); updateShowValue(); updateWidth(); updateHeight(); updateLeft(); updateTop(); updateFGColor(); updateBGColor(); updateFGAlpha(); updateBGAlpha(); updateLineWidth(); updateUpdateInterval(); updateShowBorder(); updateAutoColorChange(); updateMaxColor(); updateShowCaption(); updateTextSize(); updateAutoScale(); updateMinValue(); updateMaxValue(); overlay_->updateTextureSize(width_property_->getInt(), height_property_->getInt() + caption_offset_); }
/// \brief Sets the size of the oscilloscopes sample buffer. /// \param size The buffer size that should be met (S). /// \return The buffer size that has been set. unsigned long int Control::setBufferSize(unsigned long int size) { if (!device->isConnected()) return 0; updateBufferSize(size); setTriggerPosition(triggerPosition); setSampleRate(samplerateMax / samplerateDivider); setTriggerSlope(triggerSlope); return bufferSize; }
//----------------------------------------------------------------------------- void GuiEditor::valueChanged (CControl* control) { //effect->setParameterAutomated (control->getTag (), control->getValue ()); float value; int ival; const char* text; std::string result; char* tempt; switch (control->getTag()) { case kBufferSize: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateBufferSize(ival); break; case kGain: value = control->getValue(); result = floatToString(value*maxGain); gainDisplay->setText(result.c_str()); updateGain(value*maxGain); break; case kGainText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); gainFader->setValue(value/(float)maxGain); updateGain(value); break; case kXScale: value = control->getValue(); result = floatToString(value*maxXScale); xScaleDisplay->setText(result.c_str()); updateXScale(value*maxXScale); break; case kXScaleText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); xScaleFader->setValue(value/(float)maxXScale); updateXScale(value); break; case kYScale: value = control->getValue(); result = floatToString(value*maxYScale); yScaleDisplay->setText(result.c_str()); updateYScale(value*maxYScale); break; case kYScaleText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); yScaleFader->setValue(value/(float)maxYScale); updateYScale(value); break; case kResponse: value = control->getValue(); result = floatToString(value); responseDisplay->setText(result.c_str()); updateResponse(value); break; case kResponseText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); responseFader->setValue(value); updateResponse(value); break; case kBands: ival = (int)(control->getValue()*maxBands); result = intToString(ival); bandsDisplay->setText(result.c_str()); bandsFader->setValue(((float)ival)/(float)maxBands); updateBands(ival); break; case kBandsText: text = ((CTextEdit*)(control))->getText(); ival = charToInt(text); bandsFader->setValue((float)value/(float)maxBands); updateBands(ival); break; case kAmpScale: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateAmpScale(ival); break; case kType: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateType(ival); break; case kDisplay: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateDisplayt(ival); break; case kResampling: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateResampling(ival); break; case kFreqScale: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateFreqScale(ival); break; case kAddress: text = ((CTextEdit*)(control))->getText(); updateAddress(text); break; case kPort: text = ((CTextEdit*)(control))->getText(); ival = charToInt(text); updatePort(ival); break; case kHost: text = ((CTextEdit*)(control))->getText(); updateHost(text); break; } }
bool SDRdaemonBufferOld::readMeta(char *array, uint32_t length) { assert(length >= sizeof(MetaData) + 8); MetaData *metaData = (MetaData *) array; if (m_crc64.calculate_crc((uint8_t *)array, sizeof(MetaData) - 8) == metaData->m_crc) { // sync condition: if (m_currentMeta.m_blockSize > 0) { uint32_t nbBlocks = m_currentMeta.m_nbBytes / m_currentMeta.m_blockSize; m_syncLock = nbBlocks + (m_lz4 ? 2 : 1) == m_nbBlocks; //qDebug("SDRdaemonBuffer::readMeta: m_nbBlocks: %d:%d %s", nbBlocks, m_nbBlocks, (m_syncLock ? "locked" : "unlocked")); } else { m_syncLock = false; } memcpy((void *) &m_dataCRC, (const void *) &array[sizeof(MetaData)], 8); m_nbBlocks = 0; m_inCount = 0; if (!m_lz4 && !(m_currentMeta == *metaData)) { std::cerr << "SDRdaemonBuffer::readMeta: "; printMeta(metaData); } m_currentMeta = *metaData; // sanity checks if (metaData->m_blockSize == m_udpPayloadSize) // sent blocksize matches given blocksize { m_sampleBytes = metaData->m_sampleBytes & 0x0F; uint32_t frameSize = m_iqSampleSize * metaData->m_nbSamples * metaData->m_nbBlocks; int sampleRate = metaData->m_sampleRate; if (m_autoFollowRate) { if (sampleRate != m_sampleRateStream) { m_sampleRateStream = sampleRate; } else { sampleRate = m_sampleRate; } sampleRate += sampleRate * m_skewRate; sampleRate = (sampleRate / m_rateDivider) * m_rateDivider; } else { m_sampleRateStream = sampleRate; } if (metaData->m_sampleBytes & 0x10) { m_lz4 = true; m_lz4InSize = metaData->m_nbBytes; // compressed input size m_lz4InCount = 0; if (frameSize != m_frameSize) { updateLZ4Sizes(frameSize); } } else { m_lz4 = false; } if (sampleRate != m_sampleRate) { updateBufferSize(sampleRate); } m_sampleRate = sampleRate; m_frameSize = frameSize; m_sync = true; } else { m_sync = false; } return m_sync; } else { return false; } }
Plotter2DDisplay::Plotter2DDisplay() : rviz::Display(), min_value_(0.0), max_value_(0.0) { update_topic_property_ = new rviz::RosTopicProperty( "Topic", "", ros::message_traits::datatype<std_msgs::Float32>(), "std_msgs::Float32 topic to subscribe to.", this, SLOT(updateTopic())); show_value_property_ = new rviz::BoolProperty( "Show Value", true, "Show value on plotter", this, SLOT(updateShowValue())); buffer_length_property_ = new rviz::IntProperty( "Buffer length", 100, ros::message_traits::datatype<std_msgs::Float32>(), this, SLOT(updateBufferSize())); width_property_ = new rviz::IntProperty("width", 128, "width of the plotter window", this, SLOT(updateWidth())); width_property_->setMin(1); width_property_->setMax(2000); height_property_ = new rviz::IntProperty("height", 128, "height of the plotter window", this, SLOT(updateHeight())); height_property_->setMin(1); height_property_->setMax(2000); left_property_ = new rviz::IntProperty("left", 128, "left of the plotter window", this, SLOT(updateLeft())); left_property_->setMin(0); top_property_ = new rviz::IntProperty("top", 128, "top of the plotter window", this, SLOT(updateTop())); top_property_->setMin(0); auto_scale_property_ = new rviz::BoolProperty( "auto scale", true, "enable auto scale", this, SLOT(updateAutoScale())); max_value_property_ = new rviz::FloatProperty( "max value", 1.0, "max value, used only if auto scale is disabled", this, SLOT(updateMaxValue())); min_value_property_ = new rviz::FloatProperty( "min value", -1.0, "min value, used only if auto scale is disabled", this, SLOT(updateMinValue())); fg_color_property_ = new rviz::ColorProperty( "foreground color", QColor(25, 255, 240), "color to draw line", this, SLOT(updateFGColor())); fg_alpha_property_ = new rviz::FloatProperty( "foreground alpha", 0.7, "alpha belnding value for foreground", this, SLOT(updateFGAlpha())); fg_alpha_property_->setMin(0); fg_alpha_property_->setMax(1.0); bg_color_property_ = new rviz::ColorProperty( "background color", QColor(0, 0, 0), "background color", this, SLOT(updateBGColor())); bg_alpha_property_ = new rviz::FloatProperty( "backround alpha", 0.0, "alpha belnding value for background", this, SLOT(updateBGAlpha())); bg_alpha_property_->setMin(0); bg_alpha_property_->setMax(1.0); line_width_property_ = new rviz::IntProperty("linewidth", 1, "linewidth of the plot", this, SLOT(updateLineWidth())); line_width_property_->setMin(1); line_width_property_->setMax(1000); show_border_property_ = new rviz::BoolProperty( "border", true, "show border or not", this, SLOT(updateShowBorder())); text_size_property_ = new rviz::IntProperty("text size", 12, "text size of the caption", this, SLOT(updateTextSize())); text_size_property_->setMin(1); text_size_property_->setMax(1000); show_caption_property_ = new rviz::BoolProperty( "caption", true, "show caption or not", this, SLOT(updateShowCaption())); update_interval_property_ = new rviz::FloatProperty( "update interval", 0.04, "update interval of the plotter", this, SLOT(updateUpdateInterval())); update_interval_property_->setMin(0.0); update_interval_property_->setMax(100); auto_color_change_property_ = new rviz::BoolProperty("auto color change", false, "change the color automatically", this, SLOT(updateAutoColorChange())); max_color_property_ = new rviz::ColorProperty( "max color", QColor(255, 0, 0), "only used if auto color change is set to True.", this, SLOT(updateMaxColor())); }