A repository for launching the Docker-REDHAWK containers with Docker Compose.
- Docker Engine (Tested with 19.03.12)
- Docker Engine Post-installation Steps for Linux
Install Docker Compose (sourced from instructions here).
NOTE: Replace 1.29.2 with the version you would like to use.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Show the version to make sure it installed.
docker-compose --version
Optionally, install the bash command completion with the instructions here.
First initialize the SDRROOT Docker volume.
./init_sdrroot.sh
Launch the REDHAWK containers with the following command.
docker-compose up -d
To add another instance of the GPP REDHAWK Device to the Domain, run the following script.
$ ./add_gpp.sh
To attach a REDHAWK IDE to the running domain and set the workspace to the REDHAWK assets in this directory, run the following script.
$ ./start_rhide.sh
Follow the instructions below in the REDHAWK IDE to validate Compose-REDHAWK is operational.
- Click the + button in the "REDHAWK Explorer"
- In the "New Domain Manager" dialog:
- Enter "REDHAWK_DEV" for the Domain Name textbox
- The Display Name textbox should auto-populate with "REDHAWK_DEV"
- Click Finish
- Expand the REDHAWK_DEV>Device Managers node in the "REDHAWK Explorer" and verify that two GPP nodes exist (assuming you ran
add_gpp.sh
) - Right-click on the REDHAWK_DEV node in the "REDHAWK Explorer" and click Launch Waveform...
- In the "Launch Waveform" dialog:
- Select rh>basic_components_demo
- Check the Start the Waveform after launching checkbox
- Click Finish
- Expand the REDHAWK_DEV>Waveforms node in the "REDHAWK Explorer" and verify that the "rh.basic_components_demo" waveform was launched
Follow the instructions below in the REDHAWK IDE to test a development flow on Compose-REDHAWK.
- Click File>New>REDHAWK Waveform Project
- In the "New Waveform Project" dialog:
- Type "my_demo" in the Project name textbox
- Select the Use existing waveform as a template radio button
- Type "/var/redhawk/sdr/dom/waveforms/rh/basic_components_demo/basic_components_demo.sad.xml" in the SAD File textbox
- Click Finish
- In the "my_demo" panel in the center-top of the screen:
- Select the Overview tab
- Click the Generate Waveform button in the top right-hand corner of the panel
- Click OK in the "Generate Files" dialog
- Right-click my_demo in the "Project Explorer" panel on the left-hand side of the screen and click Export to SDR
- Expand the Target SDR>Waveforms node in the "REDHAWK Explorer" and verify that the "my_demo" waveform is listed
- Right-click on the REDHAWK_DEV node in the "REDHAWK Explorer" and click Launch Waveform...
- In the "Launch Waveform" dialog:
- Select my_demo
- Check the Start the Waveform after launching checkbox
- Click Finish
- Expand the REDHAWK_DEV>Waveforms node in the "REDHAWK Explorer" and verify that the "my_demo" waveform was launched
To stop all of the running REDHAWK containers, execute the following command.
docker-compose down
To clean out the SDRROOT volume, execute the following command.
docker volume rm redhawk_sdrroot
To attach a RTLSDR to the running domain, run the following script.
$ ./add_rtlsdr.sh
NOTE: The operating system must have certain kernel modules removed before running the container that is launched by the script above. To temporarily remove them, run the command:
modprobe -r dvb_usb_rtl28xxu rtl2832 rtl2830
. See the documentation here for more information.