Jump to content

Jacob R

QRC Super User
  • Content Count

  • Joined

  • Last visited

  • Days Won


Jacob R last won the day on February 16 2016

Jacob R had the most liked content!

Community Reputation

13 Good

About Jacob R

  • Rank

Recent Profile Visitors

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

  1. Jacob R

    Context specify packet size

    I am using code very similar to the QVRT Sink in gr-osmosdr. I am making use of the EncodeContextChunk method, EncodeDataChunk method and writing the circular buffer with data from a read iterator. The code for the QVRT sink that i have not modified gives error messages that say that there is an erorr Reading IQ Samples. I traced this back to QVRT Tool. In the file qvrt_iqdatapacket.cc, method Encode(...), where it reads the number of items from the circular buffer and tests the length returned by the circ_buff::read(data,arraylen); To fix this error i copied the code for Encode from QVRT Tool and used the code directly instead of calling the method from QVRT lib. The error message goes away and the file now writes into a viewable QVRT file. The QVRT can be seen in the file manager, but it displays the wrong context information. The tuners parameters are not set and the time length of the file is wrong (i think, i dont know if the writing time of the data and the reading time is one to one but it should be). The file cannot be opened as the open button is grayed out. I used a binary editor to view the file and it appears the context information is being written correctly following by 33*4000 data packets. Perhaps the data packets are being encoded incorrectly. I have attached the QVRT file that i get when i run the code on the WBT. testwriter.qvrt
  2. Jacob R

    Uninstall app via ssh, command line

    That will work perfect for my purposes. Thank you.
  3. Is there any way to remove an app through command line (ssh) without root privileges?
  4. I am making an application does FILE-IO. It is supposed to output a QVRT file by opening it in binary write mode, writing a 4K context chunk, then writing a 4K data chunk, correct? I am having trouble getting the file to open correctly on the WBT. Secondly, is there a way to specify the size of the packet in the context packet?
  5. Jacob R

    File manager crashes UI, bad recordings?

    Thanks for the response, 1. Im using 2.4.6 2. The files name was "/data1/GRC_Tx.qvrt" 3. I was trying to use the file manager in the client 4. The issue has been resolved. Problem: I declared a radio settings obj, set one parameter (such as center frequency) update the radio, then start recording. The problem is that i needed to get the tuners current settings so everything in the radiosettings obj would be filled to the correct numbers. Then i could change the settings i want, then record. I was trying to record with invalid settings, and there are times when the app crashed and the file was not properly closed. Solution: Don't set radio settings before, if you do - set them up right by getting the current settings then changing the desired settings.
  6. Jacob R

    Use of QVRT streams in GRC (gr-osmosdr)

    You're right. We found a much easier way to accomplish this task. Basically, we made a WBT app that used a GRC flowchart with a gr-osmocom (wbt=0) block connected to a TCP Sink. Then on the FPGA we used a TCP source to grab the data, it will be processed by an FPGA to be an FFT data array that will be fed into a Graphical Sink. The WBT Source block to TCP Sink made it very easy to test our code. On the client side we made a TCP source and set the output to a FFT.
  7. During a sweep the home screen displays no data. You have to write an application to display its output. I have that working. Is there a way to attach the stream of the FFT data from my sweeper app to play on the home screen instead of playing inside an app?
  8. Jacob R

    Delete record file

    I have done this before in QT creator using QProcess to run the program "rm" (linux) and added the name as the argument.
  9. //! Dynamically allocated WbtSystem object to communicate with the WBT. WbtApi::WbtSystem* m_WBT; I sometimes use pointers and call them from my mainwindow source in QT. Occasionally i do not use them properly and it leads to segment faults. I often at that point just make all the pointers into variables and run it that way. Is there anything wrong with this? Can you explain the difference in performance i will see from using dynamically allocated pointers versus using statically declared variables?
  10. Jacob R

    gr-osmocom adding a new block under WBT

    I'm working on similar stuff. I have taken upon the task of directly streaming. I have gotten it to record and transmit using GRC but only from a file. I want to follow the steps detailed in the forum that tell how to directly stream to the radios. You should be able to see the question about API for directly transmitting. It is possible, but it should also become easier in an upcoming API release. I am told it's very close to coming out. Have you accomplished direct streaming in QT yet? I feel if I can only it there then in GRC is just another step.
  11. Jacob R

    gr-osmocom adding a new block under WBT

    I cannot share my code as i am bound by a NDA. However, i can help you with any code you may have. Have you been able to figure out a way to record and transmit a file from a GRC block?
  12. Jacob R

    gr-osmocom adding a new block under WBT

    That is correct. I have figured out a way to add functionality to the gr-osmocom project (I will call it gr-osmoWBT). Because the blocks are based off the the gr-osmocom blocks (virtual declared libraries), all the virtual methods for the block it is derived from must be defined (implementation not required, it can simply return 0 and nothing else). Some functions were adding in the wbt_source block that are specific to that block. Those functions will be removed or modified to work for the new block. The process goes like this: Copy /lib/wbt/wbt_source_c.cc to /lib/wbt/wbt_BLOCKNAME_source_.cc ( As i am currently adding sources, you can use a sink.cc as a starting point otherwise.) Do the same for the header file. Open both files and do a "Find and Replace" with wbt_sink to wbt_BLOCKNAME_sink. Go to the CmakeLists.txt file in the /lib/wbt/ directory and add the new header and source files like this: set(wbt_srcs ${CMAKE_CURRENT_SOURCE_DIR}/wbt_source_c.cc ${CMAKE_CURRENT_SOURCE_DIR}/wbt_qvrt_source_c.cc ${CMAKE_CURRENT_SOURCE_DIR}/wbt_qvrt_sink_c.cc ${CMAKE_CURRENT_SOURCE_DIR}/wbt_sink_c.cc ${CMAKE_CURRENT_SOURCE_DIR}/wbt_BLOCKNAME_source_c.cc ) Now edit device.cc in /lib/ and every place there is something that says "wbt" there will be two entries. Copy the entry for the wbt_source and make it wbt_BLOCKNAME_source . Check the entire file, there are several things to add (copy and paste, change the namespace and obj.) Lastly edit the source_impl.cc in /lib/ and once again everywhere it says "wbt" there will be two entries. Copy, paste, and replace. ****** That is all. Run clean project, cmake, and build. ***** If you need to see the source for source_impl.cc or device.cc let me know I will post it.
  13. Is there a way to add a WBT block to gr-osmocom under the WBT component using gr_modtool? Otherwise is the only option to manually add the block to the CMakeLists.txt? Jacob
  14. I am writing an app that records and transmits. I have some files in the file manager i am trying to read from that are recorded at the beginning of the opening of the app. When i try to open the file manager to select a file, the screen flashes and the hardware gets reinitialized. It allows me to access the disk without the file on it fine. Is it because the recording is corrupt? What is the proper way to end a recording, with the enterPreview(false) method called on the WbtSystem obj.?
  15. The app was originally installed without any meta data (icon, description, etc). For this reason It would not load upon installing without a restart. However, changing App_Name = "GRC_Sink" App_Description = "" App_Brief_Description = "" App_Version = "" to App_Name = "GRC_Sink" App_Description = "App descrip" App_Brief_Description = "Brief app descript" App_Version = "" AND adding an Icon -- I am able to deploy and run without restarting. This saves a lot of time when testing. Thanks!