3271

No Plot output from Redhawk Waveform Example

Question:

I am trying the Waveform example from <a href="http://redhawksdr.github.io/Documentation/mainch5.html#x7-780005" rel="nofollow">chapter 5</a> of the documentation, but I do not see any output from the Siggen port or from the hard limit port. I set the frequency down to 50 MHz and connected the out port of the siggen to the in port of the hardlimit. I am trying to run it from a local domain manager, and it appears to start correctly. But, when I select Plot Port Data I just get an empty plot. On the Domain Manager console I see this right after starting the waveform:

INFO:ApplicationFactory_impl - Done creating application DCE:a81037d5-98e5-4e80-9791-0364ec62018a:testWaveform_339_175951424_1 testWaveform_339_175951424 INFO:DomainManager_impl - Uninstalling application DCE:a81037d5-98e5-4e80-9791-0364ec62018a

Is it normal for it to uninstall the application right away, or am I just misunderstanding?

Answer1:

When launching the testWaveform from a local domain using REDHAWK 1.9.0 the following output is normal when your domain manager has the default debug level.

<blockquote>

INFO:DomainManager - Starting Domain Manager INFO:DomainManager - Starting ORB! INFO:DomainManager_impl - Installing application /waveforms/testWaveform/testWaveform.sad.xml INFO:ApplicationFactory_impl - Done creating application DCE:885f9cdf-fcdd-41a6-9cfd-a0da8289eef5:testWaveform_340_084417030_1 testWaveform_340_084417030 INFO:DomainManager_impl - Uninstalling application DCE:885f9cdf-fcdd-41a6-9cfd-a0da8289eef5

</blockquote>

Make sure that you have started the waveform. This may be done by either clicking the green "Start Waveform" button at the top toolbar, by right clicking the waveform in the Active Domain from the SCA Explorer View and selecting "Start" or by right clicking each individual component in either the SCA Explorer or Waveform Diagram and selecting Start. Once a component is started, it will have a green glow in the upper portion of the block.

If this doesn't work, the following debugging steps may help you track down this, and future issues.

<ul><li>

Run & Plot the components in the Sandbox rather than in a domain. This will help narrow down if the problem is in the Domain / Device manager configuration or within the components.

</li> <li>

Rather than plot, confirm that data is flowing through the component by using either the snapshot, datalist, or monitor ports tool. This is helpful if the data flowing through the components may not be of a type compatible with the plotting tools. (This should not be the case for you since you are specifically using Hard limit & Siggen which are both BulkIO and compatible with the plotting tools)

</li> <li>

Turn up the debugging on the domain and device manager. When launching the domain, there are drop downs to select the level of debugging outputted by the domain and device managers from Trace to Fatal. If running nodeBooter from the command line, the flag "-debug" can be used to set the debug output level.

</li> <li>

Turn up the debugging on your components and devices. See this stack overflow post for details on how to do this. <a href="https://stackoverflow.com/questions/20105933/how-to-log-at-a-debug-or-trace-level-for-a-component-that-is-part-of-a-waveform" rel="nofollow">How to log at a debug or trace level for a component that is part of a Waveform</a>

</li> </ul>

These next debugging steps are a bit more advanced and are primarily for debugging omniORB related issues.

<ul><li>omniORB is heavily used by REDHAWK and has its own set of debugging flags and tools. See the omniORB documentation for a full list of features (<a href="http://omniorb.sourceforge.net/docs.html" rel="nofollow">http://omniorb.sourceforge.net/docs.html</a>). You may turn up the omniORB debugging level in your /etc/omniORB.cfg file by adding "traceLevel = X" Where X is a trace level as described below:</li> </ul> Tracing level level 0 - critical errors only level 1 - informational messages only level 2 - configuration information and warnings level 5 - the above plus report server thread creation and communication socket shutdown level 10 - the above plus execution trace messages level 25 - output trace message per send or receive giop message level 30 - dump up to 128 bytes of a giop message level 40 - dump the complete giop message Valid values = (n >= 0) <ul><li>If given an IOR from the omniORB output, or REDHAWK IDE, you can use the command line tool catior.omni to decode the IOR into an IP address / Unix pipe location. If you do not have catior.omni installed it is found in the omniORB-utils package within the Epel repository.</li> </ul>

Hopefully you now have the tools to further debug your issue! Update your post with additional detail and debug output if you still cannot get the plotting to work. If you do get plotting to work, update your post with the solution in case others have a similar issue.

Answer2:

Double check to make sure that you started the Waveform by selecting the green play button in the toolbar after the Waveform has been launched.

If that doesn't work try the following in python (Assuming you are running Version 1.9):

from ossie.utils import sb gen = sb.launch('SigGen') limit = sb.launch('HardLimit') sink = sb.DataSink() gen.connect(limit) limit.connect(sink) sb.start() data = sink.getData()

At this point if the "data" variable contains a long array, your components are working properly. You can then plot the data from python (requires matplotlib and PyQt4 to be installed) by continuing your python session with the following:

plot = sb.LinePlot() limit.connect(plot) plot.start()

As for the second part of your question, when a Waveform is launched it is actually creating an Application Factory instance from the XML files which in turn can create 1 or more Application instances. Then, when the Application Factory is no longer needed, it is uninstalled. When launched through the IDE, only a single Application is created from the Application Factory before it is uninstalled. More on Applications and Application Factories can be found in <a href="http://redhawksdr.github.io/Documentation/mainch11.html#x13-18800011" rel="nofollow">Chapter 11 of the REDHAWK Manual.</a>

Recommend

  • How To Disable Blue Glow For Html Button In Ie9
  • xcode UILabel text add outer glow effect
  • How to add CustomView to Layout fromXML?
  • How to get Email address from outlook contacts for the names listed in a column?
  • UML Sequence Diagram Message Branching
  • UML specification : Do I need inheritance?
  • CSS “inherit” not working as expected with focus state
  • Relational Database Mapping in MVC
  • Celery + Redis - .get() hangs indefinitely after running smoothly for ~70 hours
  • ServiceStack Handler Not Found When Periods Present in Path
  • Displaying and sizing a grayscale from a QImage in Qt
  • Pandas multi-index subtract from value based on value in other column
  • creating password field in oracle
  • Listen to the 'change' even of an element in the shadow DOM
  • Notepad++ - delete all lines with certain text
  • mapping between two ontologies
  • help('modules') crashing? Not sure how to fix
  • change color of jstree node
  • Cannot invoke my method on the array type int[]
  • Lua: Line breaks in strings
  • Responsive left sidebar open close
  • Prevent page break in text block with iText, XMLWorker
  • hibernate sets dirty flag (and issues update) even though client did not change value
  • Can I use AllJoyn Framework for Wifi Direct in iOS?
  • Iron Router: How do I send data to the layout?
  • C++ friend class std::vector
  • SyntaxError: (irb):26: both block arg and actual block given
  • SonarQube: Cannot deactivate rule with missing quality profile
  • How to generate and display a QR Code in ionic 2
  • Query to find the duplicates between the name and number in table
  • ViewController With Transparent Background Entering Current ViewController With Push Transition
  • How can I enlarge video fullscreen without the affected interface project in as3?
  • How can I sort a a table with VBA with given text condition?
  • Atlas images wrong size on iPad iOS 9
  • Typescript - Unable to get 'import' statement to function
  • Avoid links criss cross / overlap in d3.js using force layout
  • Disabling Alt-F4 on a Win Forms NotifyIcon
  • DotNetZip - Calculate final zip size before calling Save(stream)
  • Updating server-side rendering client-side
  • Hibernate gives error error as “Access to DialectResolutionInfo cannot be null when 'hibernate.