Jump to content

Yevheniy B

QRC Senior Moderator
  • Content Count

  • Joined

  • Last visited

  • Days Won


Yevheniy B last won the day on May 8 2015

Yevheniy B had the most liked content!

Community Reputation

456 Excellent

1 Follower

About Yevheniy B

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Place all downloaded WBT apps on a flash drive, place the wpk files in a folder named 'wbt' directly below the root level of the drive. Once the WBT WPK files are in the folder, insert this flash drive in any usb port of your powered and fully booted WBT. The apps will be recognized and installed (or updated if an older version of the app is already present) automatically. Additionally you can use this document which includes a more in depth walk through on how to install an app as well as explains how to activate and deactivate apps.
  2. Yevheniy B

    Tune and Dwell App Bug

    There is already an app that is called Level Trigger. It triggers recording when power exceeds a threshold. This app can be found here: https://www.qrctech.com/product-p/q5500-005.htm
  3. Yevheniy B

    Spectrum Sweeper App Bug

    At this point the Spectrum Sweeper app supports dwell time between 1 and 10 milliseconds only.
  4. Yevheniy B

    Tune and Dwell App Bug

    Concern: I am unable to select single file, only multiple file option seems valid. Answer: Single file selection has not been implemented yet. It will be placed in the list of currently desired features and prioritized for future releases of this app. How is this feature important or critical for your operation? Concern: The record button only records the first entry, creates a file for that entry, then tunes to the next entry and freezes. No subsequent files are created for the other entries and the only way to unfreeze the app is to close it and reopen. Answer: A ticket has been opened and will be reviewed by QRC. Thank you
  5. Yevheniy B

    Example code for the WbtVRTFileReadIterator

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <errno.h> #include <time.h> #include <sys/types.h> #include <iostream> #include "WbtApi/WbtConnection.h" #include "WbtApi/WbtFft.h" #include "WbtApi/WbtSweeper.h" #include "WbtApi/WbtSystem.h" #include "WbtApi/WbtStatus.h" #include "WbtApi/WbtVRTFileReadIterator.h" #include "Poco/Logger.h" #include "Poco/AsyncChannel.h" #include "Poco/ConsoleChannel.h" #include "Poco/AutoPtr.h" #include "Poco/NumberParser.h" using namespace std; using namespace WbtApi; int main(int argc, char *argv[]) { string filename = "/tmp/temp.qvrt"; string tuner = "A"; string samplesToRead = "-1"; string samplesToSkip = "0"; long read; long skip; if (argc == 4) { filename = argv[1]; tuner = argv[2]; samplesToRead = argv[3]; } else if (argc == 5) { filename = argv[1]; tuner = argv[2]; samplesToRead = argv[3]; samplesToSkip = argv[4]; } else { std::cout << "Invalid number of arguments: wbt-api-test path [samples to read] [samples to skip]\n"; return 1; } read = Poco::NumberParser::parse64(samplesToRead); skip = Poco::NumberParser::parse64(samplesToSkip); WbtCommon::Data::RadioSelection_t selectedTunerStream = WbtCommon::Data::Radio_A; if (tuner == "B" || tuner == "b") { selectedTunerStream = WbtCommon::Data::Radio_B; } WbtVRTFileReadIterator fileIterator(filename, selectedTunerStream); if (fileIterator.isValid()) { cout << "Successfully opened file " << filename << "\n"; } else { cout << "Failed to open file " << filename << "\n"; } float tempBuffer[2000000]; if (fileIterator.isValid()) { fileIterator.getCurrentIQDataFloat(NULL, skip*2, WbtVRTFileReadIterator::Wbt_Samples_Skip, false); } else { cout << "ERROR: Iterator not valid, failed to skip!!!\n"; return 1; } cout << "Metadata\n"; cout << "----------------\n"; cout << fileIterator.getCurrentMetadataAsJSON() << "\n\n"; while (fileIterator.isValid()) { long readThisLoop = 1000000; if (read <= 0) { cout << "Read all samples successfully. \n"; return 0; } if (readThisLoop > read) { readThisLoop = read; } read -= readThisLoop; if (fileIterator.metadataChanged()) { cout << "Metadata Updated\n"; cout << "----------------\n"; cout << fileIterator.getCurrentMetadataAsJSON() << "\n\n"; } cout << "Reading " << readThisLoop << " Samples..."; int readResult = fileIterator.getCurrentIQDataFloat(tempBuffer, readThisLoop*2, WbtVRTFileReadIterator::Wbt_Samples_Continued_From_Last, true); cout << " got " << readResult << "\n"; } cout << "ERROR; returned from invalid file.\n"; return 2; }
  6. Please can you provide an example code that shows how to use the WbtVRTFileReadIterator WBT API class?
  7. Yevheniy B

    Auto Scale of Spectrum Display

    The WBT Power display does not allow to scale the y-axis. It is recommended to use the existing Spectrum Analyzer App which can be found here: https://www.qrctech.com/product-p/q5500-011.htm
  8. There is a main process that has one thread and is connected to WBT API. Are there any limitations in case if this main one-threaded process is forked to created a child process and to connect to the same WBT API?
  9. How do I read IQ Data from a QVRT file without playback? Would it be possible to see a code snippet as an example?
  10. Yevheniy B

    Simultaneous Rx and Tx

    The WBT is capable of playing back the recorded signals anywhere within the same tuning range without the need for any additional equipment. It can also simultaneously record and retransmit received spectrum in real time to a different center frequency, enabling its use as a repeater or down-converter.
  11. Yevheniy B


    There are numerous places where WBT can be utilized: spectrum analysis, spectrum triggering, repeaters, down conversion, network analysis, or anything else you can imagine. If the application you wish is not available or doesn’t work the way you wish it did, you can build (and even resell through QRC’s partner network) an application you design in house using common tools and languages such as C++, Python and familiar programming environments like Qt. For more information look here http://forum.qrctech.com/topic/14-how-can-i-get-the-wbt-developers-kit/
  12. Yevheniy B

    RF record input

    The Rx special purpose port is able to provide a software‐switchable 3 VDC output to drive active antennas (such as when recording GPS), as well as providing an additonal nominal 15 dB gain on the input signal, useful for recording weak signals directly. It is also useful if recording and playback is to be accomplished at the same time without switching cables.
  13. Yevheniy B

    Tuner input differences

    The WBT has two RF inputs, the general purpose Rx/Tx port and the special purpose Rx only port. The Rx special purpose port is able to provide a software‚Äźswitchable 3 VDC output to drive active antennas (such as when recording GPS), as well as providing a nominal additional 15 dB of gain, useful for recording weak signals directly. It is also useful if recording and playback is to be accomplished at the same time without switching cables.
  14. Yevheniy B

    Low Noise Amplifier

    WBT has 15 dB Low Noise Amplifier. More detail on this can be found in this topic: http://forum.qrctech.com/topic/27-tuner-input-differences/
  15. Yevheniy B

    QtCreator for WBT Apps

    When predefined WBT templates are utilized, no changes to the qt project (.pro) file are required. Otherwise, the TARGET in .pro is automatically specified as the name you chose for the project in the project wizard.