I am trying the Waveform example from chapter 5 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?
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):
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:
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 Chapter 11 of the REDHAWK Manual.
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.
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.
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.
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)
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.
Turn up the debugging on your components and devices. See this stack overflow post for details on how to do this. How to log at a debug or trace level for a component that is part of a Waveform
These next debugging steps are a bit more advanced and are primarily for debugging omniORB related issues.
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.