====== Oxygen SDR Advanced Users' Guide ====== ===== FPGA ===== The Oxygen SDR ships with two FPGA images. - default - griio Users may switch between FPGA images using the fpgaloader utility. ==== fpgaloader ==== fpgaloader is a tool for reloading the FPGA while Linux is running. This allows the user to switch between different FPGA images depending on the application. The default image will be loaded if any GNU Radio block from gr-rwt is used. This provides users with source and sink blocks for the Oxygen radio while running GNU Radio from Oxygen system. The default image also supports the IIO interface, but has extra parameters which need to be set. The gr-iio image allows the the user to stream data from the Oxygen to the host PC for processing. This image must be loaded in the FPGA before running griio blocks. To list available images type: root@oxygen:~# fpgaloader list To switch images type: root@oxygen:~# fpgaloader switch [IMAGE NAME] For help on all fpgaloader commands type: root@oxygen:~# fpgaloader --help ====default FPGA Image==== The default image is loaded when the Oxygen boots. This image allows the user to use the RWT Sink, RWT Source, and RWT Source (Short) blocks when running GNU Radio on the Oxygen. ====griio FPGA Image==== The griio image is used to remotely access the RWT Oxygen SDR from the host computer. This mode can be set by using the following commands: root@oxygen:~# fpgaloader switch griio root@oxygen:~# systemctl restart iiod Next, on a host computer with iiod and/or gr-iio installed you can access the radio using the directions from [[https://analogdevicesinc.github.io/libiio/v0.21/index.html|Analog Devices]] and URI of ip:192.168.10.1 Using this image it is also possible to use [[https://github.com/analogdevicesinc/pyadi-iio|pyadi-iio]] or [[https://analogdevicesinc.github.io/libiio/v0.21/index.html|libiio]] directly to control the radio without using GNU Radio. ====Custom FPGA Images==== Users can create custom FPGA images using Xilinx tools and OpenEmbedded/Yocto to create the dtb files. More information is available at the [[https://github.com/redwiretechnologies/hdl-rwt|custom FPGA image]] and custom [[customLinux|OpenEmbedded/Yocto]] build pages. This is an extremely advanced development option and familiarity with git, OpenEmbedded/Yocto, git is required. =====GPIO Port Access===== More information for the GPIO pinout for Oxygen can be found [[oxygen:oxygenspecs#gpio_port_pinout|here]]. =====Console Port Access===== The console port is located under the metal cover near the "GPS" port on top of the RWT Oxygen SDR. The console port can be accessed using an external USB to UART device. A detailed process for accessing the console port is [[oxygen:consoleport|here]]. =====Dual Role USBC Port Control===== Users can control the mode of the USBC dual role port by using the utility provided from RWT, usbc_helper. For help with the utility enter the command: root@carbon:~# usbc_helper -h To switch to host mode enter the command: root@carbon:~# usbc_helper -m host To switch to device mode the command: root@carbon:~# usbc_helper -m device