Search code examples
redhawksdrusrp

RedHawkSDR - USRP N210 - Cannot run USRP_UHD Component


I imported this github c++ project: https://github.com/RedhawkSDR/USRP_UHD into redhawk, hoping to run it with a USRP N210.

Redhawk only allows me to run the project as a component or C++ Application, so I tried running it as a component.

Here is the exact error I get when I try to run as a component: An internal error occurred during: "Launching USRP_UHD". Could not initialize class gov.redhawk.ide.debug.internal.ScaDebugInstance

How can I fix this?


Solution

  • The USRP_UHD device is a Redhawk Device that interfaces with the N210. In Redhawk, Devices are deployed and managed by an instance of the Device Manager, which is referred to as a Node.

    To run the USRP_UHD Redhawk Device in a Domain:

    1. Install the USRP_UHD Device to the Target SDR. This can be accomplished by clicking and dragging the top level folder of the USRP_UHD project from the Project Explorer view to the Target SDR in the SCA Explorer view.

    2. Create a new SCA Node Project using the Redhawk IDE that contains a USRP_UHD Device instance. The first wizard page will prompt you for a Node name (project name) and a Domain name. You can override the domain name later at run time if the name you choose now ends up being different from your running Domain. After clicking Next, the second and final wizard page allows you to choose from a list of Devices that are installed in your Target SDR. Select the USRP_UHD and click Finish. The Overview tab of the SCA Node Editor will appear after clicking Finish.

    3. Configure the Node. Within the SCA Node Editor, you can edit the properties of the USRP_UHD Device using either the Devices tab or the Diagram tab. Generally, you will want to at least configure the IP address of the N210 using the USRP_ip_address property of the USRP_UHD Device so that the USRP_UHD Device will connect to the USRP hardware upon deployment.

    4. Install the Node to the Target SDR. Again, this can be accomplished by clicking and dragging the top level folder of the Node from the Project Explorer view to the Target SDR in the SCA Explorer view.

    5. Launch a Domain and the Node (Device Manager) that you created containing the USRP_UHD Device. This can be done by right-clicking on the Target SDR in the SCA Explorer view and selecting Launch…. In the dialog box that pops up, you can choose a Domain Name (this doesn’t have to be the same as the Domain Name specified in the Node) and a debug level for the Domain Manager. To also launch a Node, choose the Node that you created from the list of Device Managers and set the debug level appropriately for the Device Manager. Select OK to launch both.

    6. Inspect the Domain that you launched by expanding the Domain within the SCA Explorer view. You should see the Node under the Device Managers folder, and after expanding the Node you should see the USRP_UHD Device instance (probably named USRP_UHD_1).

    If this doesn't fix the issue, please provide some more information about your environment (specifically, what version of the Redhawk framework and IDE, what version of Java is reported by "java -version", what OS and version, what branch/release of USRP_UHD, what version of UHD software) and the steps you are taking to run the USRP_UHD as a component. In Redhawk version 1.9, I was able to choose Run as…->Local Component Program and it successfully launched the USRP_UHD Device in the Sandbox without the error you have experienced. You may also wish to try with both Redhawk version 1.8 and 1.9 (be sure to use the latest release of each) to see if the issue appears in both versions.