https://wiki.myriadrf.org/api.php?action=feedcontributions&user=AndrewBack&feedformat=atomMyriad-RF Wiki - User contributions [en]2024-03-19T09:56:43ZUser contributionsMediaWiki 1.40.1https://wiki.myriadrf.org/index.php?title=LimeSDR-XTRX&diff=2431LimeSDR-XTRX2024-02-27T09:31:39Z<p>AndrewBack: Created page with "== LimeSDR XTRX == {{Community}}"</p>
<hr />
<div>== LimeSDR XTRX ==<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR&diff=2430LimeSDR2024-02-27T09:30:57Z<p>AndrewBack: </p>
<hr />
<div><br />
== Family of LimeSDR Boards ==<br />
<br />
Family of LimeSDR boards is a low cost, open source, apps-enabled software defined radio (SDR) platform that can be used to support just about any type of wireless communication standard. LimeSDR can send and receive UMTS, LTE, GSM, LoRa, Bluetooth, Zigbee, RFID, and Digital Broadcasting, to name but a few.<br />
<br />
While most SDRs have remained in the domain of RF and protocol experts, LimeSDR is usable by anyone familiar with the idea of an app store - it’s the first SDR to integrate with Snappy Ubuntu Core. This means you can easily download new LimeSDR apps from developers around the world. If you’re a developer yourself, you can share and/or sell your LimeSDR apps through Snappy Ubuntu Core as well.<br />
<br />
The LimeSDR platform gives students, inventors, and developers an intelligent and flexible device for manipulating wireless signals, so they can learn, experiment, and develop with freedom from limited functionality and expensive proprietary devices.<br />
<br />
Here is a list and links to the related information of LimeSDR family boards:<br />
<br />
----<br />
*'''[[LimeSDR-XTRX|LimeSDR XTRX]]''' - Embedded SDR board with mPCIe interface<br />
----<br />
*'''[https://limesdr-mini.myriadrf.org/index.html LimeSDR Mini v2]''' - SDR board with USB3 interface (current v2.x boards with Lattice ECP5 FPGA)<br />
----<br />
*'''[[LimeSDR-Mini|LimeSDR Mini v1]]''' - SDR board with USB3 interface (older v1.x boards with Altera MAX10 FPGA)<br />
----<br />
*'''[[LimeSDR-USB|LimeSDR USB]]''' - SDR board with USB3 interface<br />
----<br />
*'''[[LimeNET_Micro|LimeNET Micro]]''' - SDR board with Raspberry PI CM3 and USB2 interface<br />
----<br />
*'''[[LimeSDR-PCIe|LimeSDR PCIe]]''' - SDR board with PCIe (1.0 x4) interface<br />
----<br />
*'''[[LimeSDR-QPCIe|LimeSDR QPCIe]]''' - SDR board with PCIe (1.0 x4) interface and two LMS7002M transceivers<br />
----<br />
*'''[[LimeSDR GPIO Board]]''' - Expansion board that provides individually settable, bi-directional level-shifted I/O for FPGA GPIO 0-7<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=Lime_Suite_NG&diff=2429Lime Suite NG2024-01-25T15:56:26Z<p>AndrewBack: Created page with "This page contains details of Lime Suite NG, the "next generation" of Lime Suite, which amongst other things has improved support for SDRs with multiple RF transceivers, as well as systems equipped with multiple SDR boards. This version is being developed in parallel with the existing Lime Suite codebase and for a period of time the two will co-exist. However, at some point in the future the Lime Suite NG codebase will become the main development branch and the then lega..."</p>
<hr />
<div>This page contains details of Lime Suite NG, the "next generation" of Lime Suite, which amongst other things has improved support for SDRs with multiple RF transceivers, as well as systems equipped with multiple SDR boards. This version is being developed in parallel with the existing Lime Suite codebase and for a period of time the two will co-exist. However, at some point in the future the Lime Suite NG codebase will become the main development branch and the then legacy branch will be deprecated.<br />
<br />
== Hardware ==<br />
<br />
Lime Suite NG should work with all LimeSDR hardware and should problems be encountered using it with any board in the LimeSDR family, we welcome issue reports via the GitHub tracker. Be sure to make clear which development branch and commit was being used, as well as the hardware.<br />
<br />
However, at the time of writing LimeSDR XTRX is the first board to be officially supported by this version and furthermore, '''XTRX must be used with Lime Suite NG, as it is not supported by the regular version of Lime Suite'''.<br />
<br />
== API ==<br />
<br />
Lime Suite NG has a new API...<br />
<br />
=== Wrapper ===<br />
<br />
A wrapper is provided which enables applications using the previous API version, to be built against Lime Suite and without having to modify the application code. It is intended to maintain this for a period of time, so as to ease transition to the new API. However, the wrapper will be deprecated at some point in the future (likely a number of years after Lime Suite NG becomes the main development branch). <br />
<br />
More details...</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=File:MyriadRF_135x135.png&diff=2428File:MyriadRF 135x135.png2023-10-19T10:50:30Z<p>AndrewBack: </p>
<hr />
<div></div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=Welcome&diff=2423Welcome2023-02-07T13:34:43Z<p>AndrewBack: /* Hardware */</p>
<hr />
<div>{{#css:<br />
.mw-headline-number { display: none; }<br />
}}<br />
[https://myriadrf.org/ Myriad-RF] is a family of open source hardware and software projects for wireless communications, and a community that is working to make wireless innovation accessible to as many people as possible. This wiki is used to organise detailed information for Myriad-RF projects, that should be useful to both end users and developers alike.<br />
<br />
Over time it is hoped that this wiki may also become a useful resource for more general information related to SDR and wireless communications.<br />
<br />
If you would like to have edit access in order to contribute please contact [mailto:a.back@limemicro.com Andrew Back].<br />
<br />
=== Getting started ===<br />
<br />
For guidance on particular hardware or software see the project page.<br />
<br />
* [[Getting Started|General Guidance]]<br />
* [[Developing Hardware]]<br />
* [[Developing Software]]<br />
* [[Contributor Guidelines]]<br />
<br />
=== Projects ===<br />
<br />
==== Hardware ====<br />
<br />
Note that some of these projects incorporate FPGA gateware and host software parts.<br />
<br />
* [[LimeSDR]]<br />
* [[RASDR]]<br />
<br />
===== Archived =====<br />
<br />
''Archived projects are no longer being manufactured and/or maintained, but may still be in use and also serve as useful points of reference.''<br />
<br />
* [[A2300]]<br />
* [[ClockTamer]]<br />
* [[LMS6002 Pmod]]<br />
* [[Novena-RF]]<br />
* [[Parallella-RF]]<br />
* [[Reference Development Kit]]<br />
* [[SNOWLeo SDR]]<br />
* [[STREAM]]<br />
<br />
==== FPGA ====<br />
<br />
* [[LimeADPD]] (RTL + host software)<br />
<br />
==== Software ====<br />
* [[Applications]]<br />
* [[Drivers]]<br />
* [[Packaging]]<br />
<br />
==== Tools ====<br />
<br />
* [[Component Libraries]]<br />
<br />
=== Lime Micro documentation ===<br />
<br />
Selected documentation for Lime Microsystems transceivers, plus the LimeSDR and LimeNET app stores, is also [[LimeMicro:Welcome|available on this wiki]].<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR-Mini&diff=2422LimeSDR-Mini2023-02-07T13:32:56Z<p>AndrewBack: </p>
<hr />
<div>== LimeSDR-Mini v1.x Boards ==<br />
<br />
'''Warning: this documentation is for LimeSDR Mini v1.x boards only. For LimeSDR Mini v2.x boards see the [https://limesdr-mini.myriadrf.org associated documentation].''''<br />
<br />
The LimeSDR-Mini is low-cost software defined radio board. LimeSDR-Mini development board provides a hardware platform for developing and prototyping high-performance and logic-intensive digital and RF designs using Intel’s MAX 10 FPGA and Lime Microsystems transceiver. <br />
<br />
LimeSDR-Mini v1.1 board<br />
<br />
[[File:LimeSDR-Mini_v1.1.png|center|550px|LimeSDR-Mini v1.1 ]]<br />
<br />
== Features and Specifications ==<br />
<br />
{| class="wikitable"<br />
! Feature !! Description<br />
|-<br />
| RF Transceiver || Lime Microsystems LMS7002M MIMO FPRF<br />
|-<br />
| FPGA || Intel MAX 10 (10M16SAU169C8G 169-UBGA)<br />
|-<br />
| USB 3.0 controller || FTDI FT601<br />
|-<br />
| Oscillator || Rakon RTX5032A @40.00MHz<br />
|-<br />
| Continuous frequency range || TBD<br />
|-<br />
| Bandwidth || TBD<br />
|-<br />
| RF connection || 2 SMA connectors (1 RX, 1 TX)<br />
|-<br />
| Power Output (CW) || TBD<br />
|-<br />
| Status indicators || Programmable LEDs<br />
|-<br />
| Dimensions || 69mm x 31.4mm<br />
|}<br />
<br />
== Getting Help ==<br />
<br />
If you have questions, the [https://discourse.myriadrf.org/ MyriadRF Discourse] is a best place to ask for help.<br />
<br />
<br />
== Documentation ==<br />
<br />
* [[LimeSDR-Mini_v1.1_hardware_description | LimeSDR-Mini v1.1 hardware description]]<br />
* [[LimeSDR-Mini_v1.2_hardware_description | LimeSDR-Mini v1.2 hardware description]]<br />
* [[LimeSDR-Mini_JTAG_cable_adapter| LimeSDR-Mini JTAG cable adapter]]<br />
* [[LMS7002Mr3_Calibration_Using_MCU|LMS7002M (Mask 1) Transceiver Calibration]] - LMS7002Mr3 calibration guide, using internal MCU<br />
* [[LimeSDR Made Simple]] - Demystifying using SDR in the real world and programming a simple example with confidence, through bite sized chunks (note that not all examples will work with the Mini, e.g. those using the waveform player)<br />
* [https://github.com/myriadrf/LMS7002M-docs/blob/master/LMS7002M_Data_Sheet_v3.2r00.pdf LMS7002M Datasheet (PDF)] - LMS7002M RF transceiver datasheet<br />
* [https://github.com/myriadrf/LMS7002M-docs/blob/master/LMS7002M_Programming_and_Calibration_Guide_v31r05.pdf LMS7002M Programming and Calibration Guide (PDF)] - LMS7002M programming and calibration guide<br />
* [[LimeSDR-Mini-Phase-Noise | LimeSDR-Mini v1.2 phase noise measurements]]<br />
<br />
== USB Drivers ==<br />
<br />
'''Windows only''', OSX and Linux users do not need to install drivers for USB support.<br />
Follow driver installation instructions in [[LimeSDR-Mini_driver_installation|Driver Installation Documentation]].<br />
<br />
== Software ==<br />
<br />
*[[LimeSuiteGUI|LimeSuiteGUI]]<br />
*[[LimeQuickTest|LimeQuickTest]]<br />
*[[LimeSDR ExtIO Plugin for HDSDR|LimeSDR ExtIO Plugin for HDSDR]]<br />
*[[Gr-limesdr_Plugin_for_GNURadio|gr-limesdr Plugin for GNURadio]]<br />
<br />
== FPGA Binaries ==<br />
<br />
Here are the links to pre-compiled MCU firmware and FPGA gateware (bitstream):<br />
* FPGA [https://github.com/myriadrf/LimeSDR-Mini_GW/blob/master/LimeSDR-Mini_bitstreams/LimeSDR-Mini_lms7_trx_HW_1.2_auto.rpd gateware]<br />
<br />
== Board Design Files ==<br />
<br />
Here are links to the schematic, PCB project and BOM:<br />
<br />
LimeSDR-Mini v1.1<br />
<br />
* [https://github.com/myriadrf/LimeSDR-Mini/blob/master/hardware/1v1/Project%20Outputs%20for%20LimeSDR_Mini_1v1/LimeSDR_Mini_1v1_schematic_r1.PDF Schematic (PDF)]<br />
* [https://github.com/myriadrf/LimeSDR-Mini/tree/master/hardware/1v1 PCB project (Altium project)]<br />
* [https://github.com/myriadrf/LimeSDR-Mini/blob/master/hardware/1v1/Project%20Outputs%20for%20LimeSDR_Mini_1v1/BOM/LimeSDR_Mini_1v1_BOMr1.xls BOM (XLS)]<br />
<br />
== Additional Components ==<br />
<br />
Here is a list of additional components to be used with LimeSDR-Mini board.<br />
* [http://uk.farnell.com/ls-research/080-0001/cable-ufl-to-sma-rp-female-bulkhead/dp/2324836 U.FL to SMA adapter cable]<br />
* Tested fans:<br />
** [http://www.digikey.com/product-detail/en/sunon-fans/MC30060V1-000U-A99/259-1545-ND/2757809 MC30060V1-000U-A99]<br />
** [http://www.digikey.com/product-detail/en/sunon-fans/MC30060V2-000U-A99/259-1572-ND/2757810 MC30060V2-000U-A99] (preferred option)<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR&diff=2421LimeSDR2023-02-07T13:23:02Z<p>AndrewBack: </p>
<hr />
<div><br />
== Family of LimeSDR Boards ==<br />
<br />
Family of LimeSDR boards is a low cost, open source, apps-enabled software defined radio (SDR) platform that can be used to support just about any type of wireless communication standard. LimeSDR can send and receive UMTS, LTE, GSM, LoRa, Bluetooth, Zigbee, RFID, and Digital Broadcasting, to name but a few.<br />
<br />
While most SDRs have remained in the domain of RF and protocol experts, LimeSDR is usable by anyone familiar with the idea of an app store - it’s the first SDR to integrate with Snappy Ubuntu Core. This means you can easily download new LimeSDR apps from developers around the world. If you’re a developer yourself, you can share and/or sell your LimeSDR apps through Snappy Ubuntu Core as well.<br />
<br />
The LimeSDR platform gives students, inventors, and developers an intelligent and flexible device for manipulating wireless signals, so they can learn, experiment, and develop with freedom from limited functionality and expensive proprietary devices.<br />
<br />
Here is a list and links to the related information of LimeSDR family boards:<br />
<br />
----<br />
*'''[https://limesdr-mini.myriadrf.org/index.html LimeSDR Mini v2]''' - SDR board with USB3 interface (current v2.x boards with Lattice ECP5 FPGA)<br />
----<br />
*'''[[LimeSDR-Mini|LimeSDR Mini v1]]''' - SDR board with USB3 interface (older v1.x boards with Altera MAX10 FPGA)<br />
----<br />
*'''[[LimeSDR-USB|LimeSDR USB]]''' - SDR board with USB3 interface<br />
----<br />
*'''[[LimeNET_Micro|LimeNET Micro]]''' - SDR board with Raspberry PI CM3 and USB2 interface<br />
----<br />
*'''[[LimeSDR-PCIe|LimeSDR PCIe]]''' - SDR board with PCIe (1.0 x4) interface<br />
----<br />
*'''[[LimeSDR-QPCIe|LimeSDR QPCIe]]''' - SDR board with PCIe (1.0 x4) interface and two LMS7002M transceivers<br />
----<br />
*'''[[LimeSDR GPIO Board]]''' - Expansion board that provides individually settable, bi-directional level-shifted I/O for FPGA GPIO 0-7<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR_on_FreeBSD&diff=2406LimeSDR on FreeBSD2021-01-13T17:22:37Z<p>AndrewBack: Created page with " {{Community}}"</p>
<hr />
<div><br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio&diff=2369ScratchRadio2020-01-23T12:24:00Z<p>AndrewBack: </p>
<hr />
<div><br />
== Introduction ==<br />
<br />
Scratch Radio is intended to introduce new users to some of the basic concepts behind Software Defined Radio, using the Scratch visual programming environment on the Raspberry Pi as the development platform. It uses GNU Radio and the [[LimeSDR-Mini]] USB adapter to provide the underlying radio implementation and since this is loosely coupled to the Scratch Radio frontend the same radio implementation could also be adapted to other environments.<br />
<br />
Scratch Radio depends on the standard GNU Radio package that is already available for the Raspberry Pi as part of the official Raspbian Linux distribution. The current beta test implementation also builds and uses the latest master branch versions of the [[Lime Suite]] repository (see [https://github.com/myriadrf/LimeSuite github.com/myriadrf/LimeSuite]) and the GNU Radio LimeSDR module (see [https://github.com/myriadrf/gr-limesdr github.com/myriadrf/gr-limesdr]). These currently need to be built from source and the Scratch Radio repository contains scripts and makefiles to automate the process, as well as building and installing Scratch Radio itself. Full instructions can be found here: [[ScratchRadio Installation]]<br />
<br />
==Using Scratch Radio==<br />
<br />
The Scratch Radio extension allows various software definied radio blocks to be included in Scratch programs. The set of blocks provided can be used to implement low bandwidth radio links between Raspberry Pi computers for sending and receiving short text messages. These blocks provide simple implementations of the common wireless system functions - framing, error checking, modulation, demodulation and receiver synchronisation - giving an insight into how a typical radio system is implemented.<br />
<br />
Scratch Radio programs are written such that a radio subsystem is first constructed by connecting various radio component blocks, and then the assembled subsystem can then be started and stopped on demand. Details of how this may be achieved can be found in the programming guide: [[ScratchRadio Programming]]<br />
<br />
The programming guide shows the basic approach to implementing Scratch Radio programs and demonstrates a simple loopback example. For implementing more complex radio subsystems, the full set of Scratch Radio component blocks is described in the component library: [[ScratchRadio Library]]<br />
<br />
Some example Scratch Radio programs are provided in order to demonstrate the implementation of complete radio subsystems for transmitting and receiving short text messages. Further details of these examples can be found here: [[ScratchRadio Examples]]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio:Installation&diff=2368ScratchRadio:Installation2020-01-23T12:23:38Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Installation to ScratchRadio Installation</p>
<hr />
<div>#REDIRECT [[ScratchRadio Installation]]</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio_Installation&diff=2367ScratchRadio Installation2020-01-23T12:23:37Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Installation to ScratchRadio Installation</p>
<hr />
<div>Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
==Obtaining the Source Code==<br />
<br />
The latest packaged release of the Scratch Radio source code can be downloaded directly from the GitHub release directory (see [https://github.com/myriadrf/ScratchRadio/releases github.com/myriadrf/ScratchRadio/releases]). Alternatively, the latest master branch version can be cloned from the GitHub repository as follows:<br />
> git clone https://github.com/myriadrf/ScratchRadio<br />
After cloning the repository or extracting the contents of the release archive file to the local Raspberry Pi filesystem, change to the local Scratch Radio directory to build and install the software:<br />
> cd ScratchRadio<br />
<br />
==Installation and Setup==<br />
<br />
The following installation steps assume an up to date installation of Raspbian Stretch is being used. In order to ensure that all the latest updates have been applied, the following commands may be used:<br />
> sudo apt-get update<br />
> sudo apt-get upgrade<br />
<br />
All the required package dependencies for building the various SDR components can be installed by running the 'install_deps.sh' script with superuser privileges. Note that it may be necessary to re-run this script if any of the package installation steps fail:<br />
> sudo ./scripts/install_deps.sh<br />
<br />
The Raspbian Stretch distribution already contains pre-built packages for SoapySDR and LimeUtils, but these are out of date relative to the current repositories and they need to be built and installed from source instead. The 'LimeSuite' makefile target automates this process:<br />
> make LimeSuite<br />
<br />
The main GNU Radio package from the Raspbian Stretch distribution is installed as one of the required dependencies. However, an up to date version of the gr-limesdr GNU Radio module needs to be compiled from source – together with the out of tree GNU Radio module from this repository which contains the dedicated Scratch Radio components:<br />
> make GnuRadio<br />
<br />
Finally, the latest files for Scratch2 integration can be installed as follows:<br />
> make ScratchRadio<br />
<br />
The default makefile target is 'all' which will run the builds for LimeSuite, GnuRadio and ScratchRadio in the required order. After running the build process, all the intermediate files can be removed by using the 'clean' target:<br />
> make clean<br />
<br />
==Updating the Firmware==<br />
<br />
Lime Microsystems periodically release firmware updates for the LimeSDR-Mini hardware. In order to ensure that the latest firmware is being used, attach the LimeSDR-Mini to one of the Raspberry Pi USB ports and then perform the firmware version check and update from the command line:<br />
> LimeUtil --update<br />
<br />
==Checking the Installation==<br />
<br />
To check the Scratch Radio installation, start the Scratch 2 programme either by selecting the “Programming->Scratch2” option from the main Raspberry Pi application menu or by typing “scratch2” at the terminal command line. Once running, it should be possible to add the Scratch Radio extension by selecting “More Blocks” and then “Add an Extension” in the Scratch scripts panel as shown below:<br />
<br />
[[File:ScratchRadio-AddExtension1.jpg]]<br />
<br />
The Scratch Extension Library dialogue box should now include an extension called “Scratch Radio”. Selecting this and clicking “OK” will load the Scratch Radio extension blocks ready for use.<br />
<br />
[[File:ScratchRadio-AddExtension2.jpg]]<br />
<br />
On first loading the Scratch Radio extension, the associated GNU Radio application will be started in a separate terminal window. This window must not be closed while the Scratch Radio extension is in use, but may be minimised if required. On startup the GNU Radio application checks for an attached LimeSDR-Mini device and reports information about the selected device to the terminal window as shown below:<br />
<br />
[[File:ScratchRadio-AddExtension3.jpg]]<br />
<br />
Assuming that the LimeSDR-Mini device is correctly reported, the Scratch Radio extension should now be ready for use.<br />
<br />
==Removing Scratch Radio==<br />
<br />
The Scratch Radio extension can be removed by using the 'uninstall' makefile target as follows:<br />
> make uninstall<br />
<br />
This will remove the extension files from the Scratch2 installation directory but leaves the GNU Radio and LimeSuite installations intact.<br />
<br />
Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio:Examples&diff=2366ScratchRadio:Examples2020-01-23T12:23:09Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Examples to ScratchRadio Examples</p>
<hr />
<div>#REDIRECT [[ScratchRadio Examples]]</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio_Examples&diff=2365ScratchRadio Examples2020-01-23T12:23:09Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Examples to ScratchRadio Examples</p>
<hr />
<div>Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
==Accessing The Example Programs==<br />
<br />
The example Scratch Radio programs are included in the source code distribution within the examples directory. They can also be downloaded directly from GitHub (see [https://github.com/myriadrf/ScratchRadio/tree/master/examples examples]). These can be loaded into Scratch in the normal way, using the ''File->Load Project'' menu item as show below:<br />
<br />
[[File:ScratchRadio-ExamplesDirectory.jpg]]<br />
<br />
The following examples are provided, which may be used as the basis for more complex Scratch Radio applications:<br />
<br />
* '''spectrum_viewer.sb2''' - This is a simple program that uses the LimeSDR-Mini to receive radio signals in the 2.4GHz band and then plots them using the two types of spectrum viewer (spectrum and waterfall).<br />
<br />
* '''loopback_test.sb2''' - This is a loopback program similar to the loopback implementation given in the programming guide. This variant also includes all the radio components required to generate and demodulate an OOK radio signal.<br />
<br />
* '''tx_example.sb2''' - This is a complete OOK radio transmitter that operates in the 433MHz band. It repeatedly transmits ‘Hello World’ messages for a limited period of time.<br />
<br />
* '''rx_example.sb2''' - This is a complete OOK radio receiver that operates in the 433MHz band. It receives inbound messages for a limited period of time, displaying the received messages in the Scratch Cat’s speech bubble.<br />
<br />
* '''radio_loopback.sb2''' - This combines the transmit and receive examples in a single program, so that a single Raspberry Pi can be used to demonstrate messages being sent and received. Note that there is currently an issue with restarting simultaneous transmit and receive operations , so repeatedly running this example will not always be successful. This should be less of an issue with real applications which are not expected to repeatedly stop and start the radio.<br />
<br />
<br />
Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio:Library&diff=2364ScratchRadio:Library2020-01-23T12:22:48Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Library to ScratchRadio Library</p>
<hr />
<div>#REDIRECT [[ScratchRadio Library]]</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio_Library&diff=2363ScratchRadio Library2020-01-23T12:22:48Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Library to ScratchRadio Library</p>
<hr />
<div>Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
==Data Source Blocks==<br />
<br />
===Radio Source Block===<br />
<br />
The ''radio source'' block takes data samples that are supplied by the LimeSDR-Mini receiver and forwards them as a stream of complex data values, each of which is an I/Q pair of single precision floating point values. The radio source block has two configurable parameters:<br />
<br />
* Centre Frequency - This is the front-end mixer frequency used by the LimeSDR-Mini. It specifies the centre frequency of the 400kHz wide spectrum segment which is mixed down and presented at the block output.<br />
* Fixed Input Gain - This is the front-end amplifier gain used by the LimeSDR-Mini. It sets the amount by which the radio input is amplified before being sampled.<br />
<br />
The output of the radio source block is compatible with inputs to the ''radio sink'' block, the ''spectrum display'' block, the ''low pass filter'' block, the ''band pass filter'' block and the ''OOK demodulator'' block.<br />
<br />
===Message Source Block===<br />
<br />
The ''message source'' block takes text messages that are supplied via the ''send message'' block and formats them as a stream of data bytes at the message source block output. Each message is made up of a length byte that specifies the number of bytes in the message (1 to 255) followed by the message body consisting of the specified number of bytes. When no message is available for transmission, zero valued padding bytes are inserted. A typical "Hello World!" message complete with padding bytes would be formatted as follows:<br />
<br />
... 00 00 0C 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 00 00 ...<br />
<br />
The output of the message source block is compatible with inputs to the ''message sink'' block and the ''simple framer'' block.<br />
<br />
===Data Source Tap Block===<br />
<br />
The ''data source tap'' block is used to tap into the data stream at the output of other blocks, replicating the data so that it can be processed in two or more parallel datapaths. The block has a single configurable parameter that specifies the name of the source block from which the output data is being derived. The output of the data source tap block will be compatible with the same set of downstream blocks as for the original data source.<br />
<br />
==Data Sink Blocks==<br />
<br />
===Radio Sink Block===<br />
<br />
The ''radio sink'' block accepts a stream of complex data values, each of which is an I/Q pair of single precision floating point values, and forwards them to the LimeSDR-Mini transmitter. The radio sink block has two configurable parameters:<br />
<br />
* Centre Frequency – This is the front-end mixer frequency used by the LimeSDR-Mini. It specifies the centre frequency of the 400kHz spectrum segment which is presented at the block input.<br />
* Fixed Output Gain – This is the front-end amplifier gain used by the LimeSDR-Mini. It sets the amount by which the radio output is amplified before being transmitted.<br />
<br />
The input of the radio sink block is compatible with outputs from the ''radio source'' block, the ''low pass filter'' block, the ''band pass filter'' block and the ''OOK modulator block''.<br />
<br />
===Spectrum Display Block===<br />
<br />
The ''spectrum display'' block accepts a stream of complex data values, each of which is an I/Q pair of single precision floating point values, and displays the associated frequency spectrum. Two graphical representations are supported – a conventional power spectral density plot and a colourised waterfall plot. The appropriate representation can be selected using the block’s drop down menu as ''spectrum'' and ''waterfall'' respectively. The block also has an additional configurable parameter which sets the centre frequency to be used when labelling the frequency axis of the plots.<br />
<br />
===Message Sink Block===<br />
<br />
The ''message sink'' block accepts messages that are formatted within a stream of data bytes at the block input and converts them for use within the Scratch programming environment via the ''receive message'' block. Each input message is made up of a length byte that specifies the number of bytes in the message (1 to 255) followed by the message body consisting of the specified number of bytes. When no message has been received, zero valued padding bytes are inserted. A typical “Hello World!” message complete with padding bytes would be formatted as follows:<br />
<br />
... 00 00 0C 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 00 00 ...<br />
<br />
The input of the message sink block is compatible with outputs from the ''message source'' block and the ''simple deframer'' block.<br />
<br />
==Data Processing Blocks==<br />
<br />
===Simple Framer Block===<br />
<br />
The ''simple framer'' block is used to add a header and checksum to messages prior to transmission. The block accepts input messages that are made up of a length byte that specifies the number of bytes in the message, followed by the specified number of payload bytes. It generates an output which consists of the same message, but with header and checksum bytes added and the data serialised into individual bits. When no message is being sent, idle bits may be inserted. The generated frame consists of a six byte preamble, a four byte synchronisation word, the length and payload bytes from the original message, two checksum bytes and a single byte frame terminator. The checksum is calculated over the length and payload fields using Fletcher’s checksum method (modulo 255). For more information about using this checksum method, see the [https://en.wikipedia.org/wiki/Fletcher%27s_checksum Wikipedia article]. The overall format is as follows:<br />
<br />
A5 F0 A5 F0 A5 F0 7E 81 C3 3C <LEN> <PAYLOAD…> <CS0> <CS1> FF<br />
<br />
The input of the simple framer block is compatible with outputs from the ''message source'' block. The output is compatible with inputs to the ''Manchester encoder'' block, the ''OOK modulator'' block and the ''simple deframer'' block.<br />
<br />
===Simple Deframer Block===<br />
<br />
The ''simple deframer'' block accepts input messages that are formatted as previously described for the ''simple framer'' block. It uses the synchronisation word (7E 81 C3 3C) to align to the start of the received message and then validates the checksum for the length and payload fields. If the checksum passes, the received message is forwarded to the deframer output as a series of bytes, consisting of the message length byte followed by the decoded payload bytes.<br />
<br />
The input of the simple deframer block is compatible with outputs from the ''Manchester decoder'' block, the ''bit rate sampler'' block and the ''simple framer'' block. The output is compatible with inputs to the ''message sink'' block.<br />
<br />
===Manchester Encoder Block===<br />
<br />
The ''Manchester encoder'' block accepts a stream of bytes at the input, where each byte encodes a single bit value for transmission. A byte value of 0x00 corresponds to a bit value of 0, a byte value of 0x01 corresponds to a bit value of 1 and a byte value of 0xFF corresponds to an ‘idle’ bit which is used to pad the transmit data stream when no transmit data is present. It emits a stream of bytes that use the same representations for the encoded bits, but which has twice the bit rate of the input. The Manchester encoding variant used is such that a bit value of 1 is encoded as a pair of bits giving a 0->1 rising edge and a bit 0 is encoded as a pair of bits giving a 1->0 falling edge. Further information about Manchester encoding can be found via the [https://en.wikipedia.org/wiki/Manchester_code Wikipedia article].<br />
<br />
The input to the Manchester encoder block is compatible with outputs from the ''simple framer'' block. The output from the Manchester encoder block is compatible with inputs to the ''OOK modulator'' block and the ''Manchester decoder'' block.<br />
<br />
===Manchester Decoder Block===<br />
<br />
The ''Manchester decoder'' block accepts a stream of bytes at the input, where each byte encodes a single bit value that has been received. A byte value of 0x00 corresponds to a bit value of 0 and all other byte values correspond to a bit value of 1. The Manchester decoder aligns to valid bit pairs and then decodes them - emitting a stream of bytes that use the same representations for the encoded bits, but which has half the bit rate of the input.<br />
<br />
The input to the Manchester decoder block is compatible with outputs from the ''Manchester encoder'' block and ''bit rate sampler'' block. The output from the Manchester decoder block is compatible with the ''simple deframer'' block.<br />
<br />
===OOK Modulator Block===<br />
<br />
The ''OOK modulator'' block implements a simple on-off keying modulation scheme, where a bit value of 1 is represented by the presence of a carrier wave and a bit value of 0 is represented by the absence of the carrier. The input is a stream of bytes, where each byte encodes a single bit value that is to be transmitted. A byte value of 0x00 corresponds to a bit value of 0, a byte value of 0x01 corresponds to a bit value of 1 and a byte value of 0xFF corresponds to an ‘idle’ bit which is also characterised by the absence of the carrier wave. The output is a stream of complex data samples at a sample rate of 400kHz, each of which is an I/Q pair of single precision floating point values.<br />
<br />
The OOK modulator block has a single parameter which specifies the frequency of the carrier wave to be used. This should be less than 200kHz in order to be compatible with the output sample rate. The input to the OOK modulator block is compatible with outputs from the ''simple framer'' block and the ''Manchester encoder'' block. The output of the OOK modulator block is compatible with inputs to the ''radio sink'' block, the ''spectrum display'' block, the ''low pass filter'' block, the ''band pass filter'' block and the ''OOK demodulator'' block. <br />
<br />
===OOK Demodulator Block===<br />
<br />
The ''OOK demodulator'' block implements a simple demodulation scheme that relies on the modulated signal consisting of an equal number of on and off periods – something that is guaranteed by the use of Manchester encoding. It accepts a stream of complex data samples, each of which is an I/Q pair of single precision floating point values and calculates the absolute value of each sample. The long term average of these absolute values is calculated and can be subtracted from the absolute value of the input signal to yield a real valued output signal that is positive when the modulated carrier signal is present and negative when it is absent. This output is presented at the same 400kHz sample rate as the demodulator input, ready for timing recovery and bit rate sampling.<br />
<br />
The input to the OOK demodulator block is compatible with outputs from the ''OOK modulator'' block, the ''radio source'' block, the ''low pass filter'' block and the ''band pass filter'' block. The output of the OOK demodulator block is compatible with inputs to the ''bit rate sampler'' block.<br />
<br />
===Bit Rate Sampler Block===<br />
<br />
The ''bit rate sampler'' block implements a simple timing recovery algorithm and symbol sampler. Since the real value sample rate at the block input is several times greater than the output bit rate, this can use a basic zero crossing detector and an input sample counter. Since the input sample counter is reset on each zero crossing, the input samples presented at 1/2 the symbol period (and subsequently 3/2, 5/2 etc.) can be used directly as the sampled symbol value and then sliced to give the sampled bit value - with positive symbol values implying a bit value of ‘1’ and negative symbol values implying a bit value of ‘0’. The output of the bit rate sampler is a sequence of byte values where a byte value of 0x00 implies a bit value of ‘0’ and a byte value of 0x01 implies a bit value of ‘1’.<br />
<br />
The input to the bit rate sampler block is compatible with the output of the ''OOK demodulator'' block. The output of the bit rate sampler block is compatible with the inputs to the ''Manchester decoder'' block or ''simple deframer'' block.<br />
<br />
===Low Pass Filter Block===<br />
<br />
The ''low pass filter'' block implements a finite impulse response filter with a configurable passband. It accepts a stream of complex data samples, each of which is an I/Q pair of single precision floating point values and emits a stream of filtered complex data samples at the same sample rate. The low pass filter block has a single configurable parameter, which is the required filter bandwidth. This should be less than 200kHz in order to be compatible with the 400kHz input sample rate.<br />
<br />
The input to the low pass filter block is compatible with the outputs of the ''OOK modulator'' block, the ''radio source'' block, the ''low pass filter'' block and the ''band pass filter'' block. The output of the low pass filter block is compatible with the inputs to the ''OOK demodulator'' block, the ''radio sink'' block, the ''low pass filter'' block and the ''band pass filter'' block.<br />
<br />
===Band Pass Filter Block===<br />
<br />
The ''band pass filter'' block implements a finite impulse response filter with a configurable passband, with complex filter coefficients being used to provide a single sided filter characteristic. It accepts a stream of complex data samples, each of which is an I/Q pair of single precision floating point values and emits a stream of filtered complex data samples at the same sample rate. The band pass filter block has two configurable parameters, which are the lower and upper frequencies of the required passband. These should be less than 200kHz in order to be compatible with the 400kHz input sample rate.<br />
<br />
The input to the band pass filter block is compatible with the outputs of the ''OOK modulator block'', the ''radio source'' block, the ''low pass filter'' block and the ''band pass filter'' block. The output of the band pass filter block is compatible with the inputs to the ''OOK demodulator'' block, the ''radio sink'' block, the ''low pass filter'' block and the ''band pass filter'' block.<br />
<br />
Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio_Programming&diff=2362ScratchRadio Programming2020-01-23T12:22:11Z<p>AndrewBack: </p>
<hr />
<div>Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
==Program Structure==<br />
<br />
All Scratch Radio programs will have the same underlying structure consisting of two distinct phases. The radio ''setup phase'' is used to configure the way the radio will operate by connecting various radio blocks together. The radio ''operation phase'' then activates the radio and allows the radio to transmit and receive radio signals as required.<br />
<br />
There are three Scratch Radio blocks which are used to control these phases of operation – the ''reset'', ''start'' and ''stop'' blocks. The ''reset'' block is used to discard any previous radio configuration and prepare the radio at the start of the setup phase. Once the radio has been configured, the ''start'' block is used to activate the radio at the start of the operation phase. Finally, the ''stop'' block is used to halt the radio at the end of the operation phase. This means that all Scratch Radio programs will have a structure similar to the one shown below: <br />
<br />
[[File:ScratchRadio-RadioLifecycle.jpg]]<br />
<br />
Note that the ''stop'' block halts radio processing but leaves the radio configuration specified in the ''setup'' phase intact. This means that any GUI windows associated with the configuration are left open and the radio can be restarted by using another ''start'' block if required. If this behaviour is not required, the ''reset'' block can be used instead of the ''stop'' block. This will cause the radio processing to be halted and the radio configuration together with all associated GUI windows will be discarded.<br />
<br />
It is possible to determine whether the radio is in the operation phase by monitoring the ''radio running'' status flag that is provided by the Scratch Radio extension. This may be used as a Boolean value in Scratch expressions in order to make them conditional on the operational state of the radio. A simple example that waits for the radio to be activated and then waits for it to be deactivated is shown below: <br />
<br />
[[File:ScratchRadio-RadioRunningStatus.jpg]]<br />
<br />
==Flow Graph Setup==<br />
<br />
The setup phase of a Scratch Radio program is used to connect various radio blocks together into a data flow graph to create a complete radio system. Scratch Radio blocks which may be used during the setup phase are indicated by the use of a flow graph icon at the left hand side of the Scratch block. These icons have the following meanings:<br />
<br />
<table><tr><br />
<td>'''Source'''</td><td>[[File:ScratchRadio-FlowIconSource.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block is a data input. When the radio is active, data will be received from some external data producer and emitted at the output of the block.</td><br />
</tr><tr><br />
<td>'''Sink'''</td><td>[[File:ScratchRadio-FlowIconSink.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block is a data output. When the radio is active, data will be accepted at the input to the block and emitted to some external data consumer.</td><br />
</tr><tr><br />
<td>'''Process'''</td><td>[[File:ScratchRadio-FlowIconProcess.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block is a data processing block. When the radio is active, data will be accepted at the input of the block and processed, with the transformed data being emitted at the output of the block.</td><br />
</tr><tr><br />
<td>'''Tap'''</td><td>[[File:ScratchRadio-FlowIconTap.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block taps into the data being produced elsewhere in the flow graph and replicates it at the output of the block.</td><br />
</tr></table><br />
<br />
A valid flow graph is created by connecting data flow blocks in a particular manner. Every data flow should start with a source block. Source blocks must not be immediately preceded by another source, process or tap block and must be immediately followed by a process or sink block. Multiple process blocks may then be chained together, ending with a sink block. The net effect is that the data flow icons ‘connect’ to give a visual indication of the data flow. A simple example which shows a radio source being filtered and output to a display sink block is shown below:<br />
<br />
[[File:ScratchRadio-SimpleFlowGraphExample.jpg]]<br />
<br />
Each flow graph block is assigned a name which is used to refer to the block elsewhere. Names must be unique for a given radio configuration and must not contain any spaces. In the case of the preceding example the data source is called ''lime-source'', the low pass filter block is called ''lp-filter'' and the spectrum display is called ''spectrum''. In conjunction with the data flow tap block, this allows the output of a named block to be replicated so that the same data source can be used in two parallel data flows.<br />
<br />
In general, tap blocks can be treated in a similar manner to conventional source blocks – so they must not be immediately preceded by another source, process or tap block and must be immediately followed by a process or sink block. The preceding example can be expanded to include a spectrum display of the unfiltered input by using a tap block and specifying its signal source as being ''lime-source'', as shown in the following Scratch program:<br />
<br />
[[File:ScratchRadio-ParallelFlowGraphExample.jpg]]<br />
<br />
In addition to the block name, each data flow block may have a number of configurable parameters which can be used to parameterise the block behaviour. Each data flow block is also restricted in terms of the type of data supported at its input and/or output. The configuration options and supported data types are described in detail in the block library documentation here: [[ScratchRadio Library]]<br />
<br />
Note that since Scratch Radio is at an early stage of development, error checking for duplicate block names and invalid block parameters or connections is not supported within the Scratch environment. Therefore the logs from the GNU Radio terminal window should be used as an indication of whether a given radio configuration contains errors.<br />
<br />
==Interacting With Scratch Radio==<br />
<br />
During the operation phase, Scratch Radio supports interaction with the active data flow graph via two dedicated blocks – the ''message source'' and ''message sink'' blocks. The message source block acts as a data flow source of short text messages (up to 255 characters) that can then be processed by the configured radio blocks. Similarly the message sink acts as a data flow sink for short text messages that are generated by the configured radio blocks and passed back to the Scratch environment. In order to demonstrate the way in which these blocks are used it is possible to connect them in a loopback configuration as shown below:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample1.jpg]]<br />
<br />
In order to send a text message the ''send message'' block can be used once the radio has been started. As an example, the following program segment will wait until the radio is running and then send ‘Hello World’ messages at five second intervals until the radio is stopped:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample2.jpg]]<br />
<br />
In order to receive a text message, the ''receive message'' block can be used once the radio has been started. This block is similar to a variable block and should be used in Scratch expressions. It differs from a conventional variable block in that it will only be evaluated once for each new message that is received. This means that a program segment containing the receive message block will always pause waiting for new messages when none are currently available. As an example, the following program segment will wait until the radio is running and then report every received message until the radio is stopped:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample3.jpg]]<br />
<br />
Combining the three program segments illustrated in this section will give a complete Scratch program that sets up a message loopback in GNU Radio, transmits “Hello World” messages via the message source component and then receives the messages via the message sink component. Running the program should result in the Scratch Cat ‘thinking’ about the messages as they are received:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample4.jpg]]<br />
<br />
Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio:Programming&diff=2361ScratchRadio:Programming2020-01-23T12:21:15Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Programming to ScratchRadio Programming</p>
<hr />
<div>#REDIRECT [[ScratchRadio Programming]]</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=ScratchRadio_Programming&diff=2360ScratchRadio Programming2020-01-23T12:21:15Z<p>AndrewBack: AndrewBack moved page ScratchRadio:Programming to ScratchRadio Programming</p>
<hr />
<div>Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
==Program Structure==<br />
<br />
All Scratch Radio programs will have the same underlying structure consisting of two distinct phases. The radio ''setup phase'' is used to configure the way the radio will operate by connecting various radio blocks together. The radio ''operation phase'' then activates the radio and allows the radio to transmit and receive radio signals as required.<br />
<br />
There are three Scratch Radio blocks which are used to control these phases of operation – the ''reset'', ''start'' and ''stop'' blocks. The ''reset'' block is used to discard any previous radio configuration and prepare the radio at the start of the setup phase. Once the radio has been configured, the ''start'' block is used to activate the radio at the start of the operation phase. Finally, the ''stop'' block is used to halt the radio at the end of the operation phase. This means that all Scratch Radio programs will have a structure similar to the one shown below: <br />
<br />
[[File:ScratchRadio-RadioLifecycle.jpg]]<br />
<br />
Note that the ''stop'' block halts radio processing but leaves the radio configuration specified in the ''setup'' phase intact. This means that any GUI windows associated with the configuration are left open and the radio can be restarted by using another ''start'' block if required. If this behaviour is not required, the ''reset'' block can be used instead of the ''stop'' block. This will cause the radio processing to be halted and the radio configuration together with all associated GUI windows will be discarded.<br />
<br />
It is possible to determine whether the radio is in the operation phase by monitoring the ''radio running'' status flag that is provided by the Scratch Radio extension. This may be used as a Boolean value in Scratch expressions in order to make them conditional on the operational state of the radio. A simple example that waits for the radio to be activated and then waits for it to be deactivated is shown below: <br />
<br />
[[File:ScratchRadio-RadioRunningStatus.jpg]]<br />
<br />
==Flow Graph Setup==<br />
<br />
The setup phase of a Scratch Radio program is used to connect various radio blocks together into a data flow graph to create a complete radio system. Scratch Radio blocks which may be used during the setup phase are indicated by the use of a flow graph icon at the left hand side of the Scratch block. These icons have the following meanings:<br />
<br />
<table><tr><br />
<td>'''Source'''</td><td>[[File:ScratchRadio-FlowIconSource.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block is a data input. When the radio is active, data will be received from some external data producer and emitted at the output of the block.</td><br />
</tr><tr><br />
<td>'''Sink'''</td><td>[[File:ScratchRadio-FlowIconSink.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block is a data output. When the radio is active, data will be accepted at the input to the block and emitted to some external data consumer.</td><br />
</tr><tr><br />
<td>'''Process'''</td><td>[[File:ScratchRadio-FlowIconProcess.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block is a data processing block. When the radio is active, data will be accepted at the input of the block and processed, with the transformed data being emitted at the output of the block.</td><br />
</tr><tr><br />
<td>'''Tap'''</td><td>[[File:ScratchRadio-FlowIconTap.jpg]]</td><br />
<td>This icon is used to indicate that the flow graph block taps into the data being produced elsewhere in the flow graph and replicates it at the output of the block.</td><br />
</tr></table><br />
<br />
A valid flow graph is created by connecting data flow blocks in a particular manner. Every data flow should start with a source block. Source blocks must not be immediately preceded by another source, process or tap block and must be immediately followed by a process or sink block. Multiple process blocks may then be chained together, ending with a sink block. The net effect is that the data flow icons ‘connect’ to give a visual indication of the data flow. A simple example which shows a radio source being filtered and output to a display sink block is shown below:<br />
<br />
[[File:ScratchRadio-SimpleFlowGraphExample.jpg]]<br />
<br />
Each flow graph block is assigned a name which is used to refer to the block elsewhere. Names must be unique for a given radio configuration and must not contain any spaces. In the case of the preceding example the data source is called ''lime-source'', the low pass filter block is called ''lp-filter'' and the spectrum display is called ''spectrum''. In conjunction with the data flow tap block, this allows the output of a named block to be replicated so that the same data source can be used in two parallel data flows.<br />
<br />
In general, tap blocks can be treated in a similar manner to conventional source blocks – so they must not be immediately preceded by another source, process or tap block and must be immediately followed by a process or sink block. The preceding example can be expanded to include a spectrum display of the unfiltered input by using a tap block and specifying its signal source as being ''lime-source'', as shown in the following Scratch program:<br />
<br />
[[File:ScratchRadio-ParallelFlowGraphExample.jpg]]<br />
<br />
In addition to the block name, each data flow block may have a number of configurable parameters which can be used to parameterise the block behaviour. Each data flow block is also restricted in terms of the type of data supported at its input and/or output. The configuration options and supported data types are described in detail in the block library documentation here: [[ScratchRadio:Library]]<br />
<br />
Note that since Scratch Radio is at an early stage of development, error checking for duplicate block names and invalid block parameters or connections is not supported within the Scratch environment. Therefore the logs from the GNU Radio terminal window should be used as an indication of whether a given radio configuration contains errors.<br />
<br />
==Interacting With Scratch Radio==<br />
<br />
During the operation phase, Scratch Radio supports interaction with the active data flow graph via two dedicated blocks – the ''message source'' and ''message sink'' blocks. The message source block acts as a data flow source of short text messages (up to 255 characters) that can then be processed by the configured radio blocks. Similarly the message sink acts as a data flow sink for short text messages that are generated by the configured radio blocks and passed back to the Scratch environment. In order to demonstrate the way in which these blocks are used it is possible to connect them in a loopback configuration as shown below:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample1.jpg]]<br />
<br />
In order to send a text message the ''send message'' block can be used once the radio has been started. As an example, the following program segment will wait until the radio is running and then send ‘Hello World’ messages at five second intervals until the radio is stopped:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample2.jpg]]<br />
<br />
In order to receive a text message, the ''receive message'' block can be used once the radio has been started. This block is similar to a variable block and should be used in Scratch expressions. It differs from a conventional variable block in that it will only be evaluated once for each new message that is received. This means that a program segment containing the receive message block will always pause waiting for new messages when none are currently available. As an example, the following program segment will wait until the radio is running and then report every received message until the radio is stopped:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample3.jpg]]<br />
<br />
Combining the three program segments illustrated in this section will give a complete Scratch program that sets up a message loopback in GNU Radio, transmits “Hello World” messages via the message source component and then receives the messages via the message sink component. Running the program should result in the Scratch Cat ‘thinking’ about the messages as they are received:<br />
<br />
[[File:ScratchRadio-MessageLoopbackExample4.jpg]]<br />
<br />
Back to the main Scratch Radio Wiki page: [[ScratchRadio]]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=Installing_Lime_Suite_on_Linux&diff=2359Installing Lime Suite on Linux2019-12-17T11:30:21Z<p>AndrewBack: </p>
<hr />
<div>Lime Suite is a cross-platform software stack for the configuration and use of a range of software defined radio (SDR) platforms, including the LimeSDR family. The following instructions are for users of Linux-based operating systems, and primarily focus on Canonical's Ubuntu Linux distribution.<br />
<br />
==Installing via PPA==<br />
The easiest way to install Lime Suite is via Personal Package Archive (PPA), from the official Myriad-RF repository. This will ensure not only that you are installing the latest version, but that it is kept up-to-date via your operating system's package manager along with all your other software.<br />
<br />
Note that we only package for Ubuntu Long Term Support (LTS) releases and generally for the current one, plus for some time after its release, the previous. For example, at the time of writing (17th Dec 2019), we package for Ubuntu 16.04.x and 18.04.x. This means that you need to be careful if running an older LTS release, since you may get Lime Suite packages from the PPA, but these may not have been updated in some time! Running old Lime Suite versions is discouraged and support will not be provided for these.<br />
<br />
Open a terminal session, and type the following commands to add the PPA and refresh the list of available packages:<br />
<br />
<source lang="bash"><br />
sudo add-apt-repository -y ppa:myriadrf/drivers<br />
sudo apt update<br />
</source><br />
<br />
To install Lime Suite and its dependencies, type the following command:<br />
<br />
<source lang="bash"><br />
sudo apt install limesuite liblimesuite-dev limesuite-udev limesuite-images soapysdr soapysdr-module-lms7<br />
</source><br />
<br />
Once installed, Lime Suite and its dependencies will be automatically updated along with the rest of your software by your package manager. LimeSDR users will still need to manually update the firmware and gateware on their device when an update is made available, as described in [[LimeSDR Firmware Management]].<br />
<br />
===Uninstalling via PPA===<br />
To remove Lime Suite and its dependencies when installed via PPA, type the following commands:<br />
<br />
<source lang="bash"><br />
sudo apt remove limesuite liblimesuite-dev limesuite-udev limesuite-images soapysdr soapysdr-module-lms7<br />
sudo add-apt-repository -y -r ppa:myriadrf/drivers<br />
sudo apt update<br />
</source><br />
<br />
To remove Lime Suite, its dependencies, and all configuration files, substitute "purge" for "remove" in the first command.<br />
<br />
==Building from Source==<br />
For other Linux-based operating systems, Lime Suite should be built from source. Note that this is only required when installing from the official PPA, as above, is not possible; under no circumstances should a system have both a PPA-installed and self-built copy of Lime Suite installed, or errors will almost certainly follow.<br />
<br />
===Installing Dependencies===<br />
Lime Suite depends on a range of additional software and libraries to operate. The majority of these can be installed using your distribution's package manager; in some cases, however, the versions of packages provided in official distribution repositories are too old to function with the latest Lime Suite release. For distributions with PPA support, the following command:<br />
<br />
<source lang="bash"><br />
sudo add-apt-repository -y ppa:myriadrf/drivers<br />
sudo apt update<br />
</source><br />
<br />
will add the official Myriad-RF PPA, which includes up-to-date versions of these dependencies, to your system. For distributions without PPA support, the "soapysdr" library should be built and installed from the latest source available on the project's [https://github.com/pothosware/SoapySDR GitHub repository] before attempting to build Lime Suite.<br />
<br />
To install the dependencies use the following command, excluding "libsoapysdr-dev" if you have compiled and installed "soapysdr" from source:<br />
<br />
<source lang="bash"><br />
sudo apt install libsoapysdr-dev libi2c-dev libusb-1.0-0-dev git g++ cmake libsqlite3-dev libwxgtk3.0-dev freeglut3-dev<br />
</source><br />
<br />
For distributions which do not use the apt package manager, install the listed packages with your distribution's own package manager (e.g. yum, pacman.)<br />
<br />
===Downloading the Source===<br />
To obtain the latest Lime Suite source files from the "Stable" branch, clone and checkout the repository using the following command:<br />
<br />
<source lang="bash"><br />
git clone https://github.com/myriadrf/LimeSuite.git<br />
cd LimeSuite<br />
git checkout stable<br />
</source><br />
<br />
If you have previously cloned the repository to install an older release, change to the LimeSuite directory and update the source with the following command instead:<br />
<br />
<source lang="bash"><br />
git pull<br />
cd builddir<br />
make clean<br />
</source><br />
<br />
===Viewing the Configuration===<br />
To create a build directory for Lime Suite, type the following commands:<br />
<br />
<source lang="bash"><br />
mkdir builddir<br />
cd builddir<br />
</source><br />
<br />
To configure the build process, and to see what components are enabled and disabled, use the following command:<br />
<br />
<source lang="bash"><br />
cmake ../<br />
</source><br />
<br />
===Building and Installing Lime Suite===<br />
To begin the build process, type the following command:<br />
<br />
<source lang="bash"><br />
make -j$(nproc)<br />
</source><br />
<br />
The build process can take several minutes to complete, depending on the amount of memory and number of processor cores available on your system. When Lime Suite is built, install it by typing:<br />
<br />
<source lang="bash"><br />
sudo make install<br />
sudo ldconfig<br />
cd ../udev-rules<br />
sudo bash install.sh<br />
</source><br />
<br />
The building and installation process is now complete. You can delete the LimeSuite directory to save space, if required, or keep it to make upgrading to the next release as simple as possible.<br />
<br />
==Next Steps==<br />
If you have installed Lime Suite to use a LimeSDR device, follow the instructions in [[Getting Started with the LimeSDR]] to install, configure, and test your hardware.<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR-Mini_TX_Gain_Power&diff=2348LimeSDR-Mini TX Gain Power2019-10-29T20:27:34Z<p>AndrewBack: Created page with "''This page is a stub'' {{Community}}"</p>
<hr />
<div>''This page is a stub''<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeMicro:RMA&diff=2347LimeMicro:RMA2019-10-28T18:08:36Z<p>AndrewBack: </p>
<hr />
<div>== Introduction ==<br />
<br />
A return merchandise authorisation (RMA) is required in order to return a product for replacement. However, prior to starting the process, please ensure that an engineer has confirmed that the hardware is indeed faulty ''and'' that a valid warranty is in place. <br />
<br />
== Diagnosis ==<br />
<br />
Support is provided via the [https://discourse.myriadrf.org/ MyriadRF forums] and all other remedies must have been exhausted before RMA will be arranged.<br />
<br />
RMA requires that a link be provided to a forum post in which a Lime Microsystems engineer confirms that the hardware is faulty.<br />
<br />
== Warranty ==<br />
<br />
Details of the Standard Warranty can be found below. However, the warranty provided may vary according to the sales channel and whenever there is any uncertainty, please contact the distributor to confirm warranty details. This will typically require an order number to be provided.<br />
<br />
Please note that where Lime Microsystems products are integrated by third parties as part of their own solutions, the warranty will typically be provided by the third party. <br />
<br />
=== Standard Warranty ===<br />
<br />
A 3 months limited warranty is provided.<br />
<br />
If there has been a failure within three months of receipt of the the product and we can ascertain that it was not through mishandling or misuse, hardware will be replaced.<br />
<br />
== Process ==<br />
<br />
The RMA process is as follows:<br />
<br />
# Engineer diagnosis that the hardware is faulty.<br />
# Confirm that there is a valid warranty in place.<br />
# Submit an [https://limemicro.zendesk.com/hc/en-gb/requests/new RMA request].<br />
# Provide any additional information as required.<br />
# Return hardware as instructed.<br />
<br />
<br />
'''Please note that RMA requests which do not meet the aforementioned criteria will be rejected.'''<br />
<br />
{{LimeMicro}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeMicro:RMA&diff=2346LimeMicro:RMA2019-10-28T18:07:28Z<p>AndrewBack: /* Policy */</p>
<hr />
<div>== Introduction ==<br />
<br />
A return merchandise authorisation (RMA) is required in order to return a product for replacement. However, prior to starting the process, please ensure that an engineer has confirmed that the hardware is indeed faulty ''and'' that a valid warranty is in place. <br />
<br />
== Diagnosis ==<br />
<br />
Support is provided via the [https://discourse.myriadrf.org/ MyriadRF forums] and all other remedies must have been exhausted before RMA will be arranged.<br />
<br />
RMA requires that a link be provided to a forum post in which a Lime Microsystems engineer confirms that the hardware is faulty.<br />
<br />
== Warranty ==<br />
<br />
Details of the Standard Warranty can be found below. However, the warranty provided may vary according to the sales channel and whenever there is any uncertainty, please contact the distributor to confirm warranty details. This will typically require an order number to be provided.<br />
<br />
Please note that where Lime Microsystems products are integrated by third parties as part of their own solutions, the warranty will typically be provided by the third party. <br />
<br />
=== Standard Warranty ===<br />
<br />
A 3 months limited warranty is provided.<br />
<br />
If there has been a failure within three months of receipt of the the product and we can ascertain that it was not through mishandling or misuse, hardware will be replaced.<br />
<br />
== Process ==<br />
<br />
The RMA process is as follows:<br />
<br />
# Engineer diagnosis that the hardware is faulty.<br />
# Confirm that there is a valid warranty in place.<br />
# Submit an [https://limemicro.zendesk.com/hc/en-gb/requests/new RMA request].<br />
# Provide any additional information as required.<br />
# Return hardware as instructed.<br />
<br />
<br />
'''Please note that RMA requests which do not meet the aforementioned criteria will be rejected.'''<br />
<br />
{{LimeMicro}}<br />
<br />
== Authorisation ==<br />
<br />
== Request Form ==<br />
<br />
{{LimeMicro}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeMicro:RMA&diff=2345LimeMicro:RMA2019-10-23T14:33:54Z<p>AndrewBack: /* Request Form */</p>
<hr />
<div>== Policy ==<br />
<br />
== Authorisation ==<br />
<br />
== Request Form ==<br />
<br />
{{LimeMicro}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeMicro:RMA&diff=2344LimeMicro:RMA2019-10-23T14:18:40Z<p>AndrewBack: Created page with "== Request Form == <!-- Start of limemicro Zendesk Widget script --> <script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=c6f702db-4237-4c14-bd77-bbc17..."</p>
<hr />
<div>== Request Form ==<br />
<br />
<!-- Start of limemicro Zendesk Widget script --><br />
<script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=c6f702db-4237-4c14-bd77-bbc1713ca983"> </script><br />
<!-- End of limemicro Zendesk Widget script --><br />
<br />
{{LimeMicro}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2331SDR Satcom Applications2019-08-10T09:18:13Z<p>AndrewBack: </p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the SDR Satcom app store.<br />
<br />
Note that there is also a [https://sdrsatcom.snapcraft.io/ web interface to the store] which allows you to view additional details, such as the licence and time of last update.<br />
<br />
For details of how to install snaps and contributing, see [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
==== WeatherDump ====<br />
<br />
[[File:Weatherdump_alpha3_demo.png]]<br />
<br />
[https://github.com/luigifreitas/weatherdump WeatherDump] is multi-platform software for record, demodulate, decode and processing of data from weather satellites.<br />
<br />
===== Supported Datalink Protocols =====<br />
<br />
{| class="wikitable"<br />
|Protocol<br />
|Complete Name<br />
|Satellites<br />
|Band<br />
|Support Leve<br />
|-<br />
|LRPT<br />
|Low Rate Picture Transfer<br />
|Meteor-MN2<br />
|VHF<br />
|Alpha<br />
|-<br />
|HRD<br />
|High Rate Data<br />
|NOAA-20 & Suomi<br />
|X-Band<br />
|Beta<br />
|-<br />
|APT<br />
|Automatic Picture Transfer<br />
|NOAA-15, NOAA-18 & NOAA-19<br />
|VHF<br />
|Planned (Beta 1)<br />
|}<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data for these can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR-Mini&diff=2330LimeSDR-Mini2019-08-01T07:39:00Z<p>AndrewBack: /* Additional Components */</p>
<hr />
<div>== LimeSDR-Mini Boards ==<br />
<br />
The LimeSDR-Mini is low-cost software defined radio board. LimeSDR-Mini development board provides a hardware platform for developing and prototyping high-performance and logic-intensive digital and RF designs using Intel’s MAX 10 FPGA and Lime Microsystems transceiver. <br />
<br />
LimeSDR-Mini v1.1 board<br />
<br />
[[File:LimeSDR-Mini_v1.1.png|center|550px|LimeSDR-Mini v1.1 ]]<br />
<br />
== Features and Specifications ==<br />
<br />
{| class="wikitable"<br />
! Feature !! Description<br />
|-<br />
| RF Transceiver || Lime Microsystems LMS7002M MIMO FPRF<br />
|-<br />
| FPGA || Intel MAX 10 (10M16SAU169C8G 169-UBGA)<br />
|-<br />
| USB 3.0 controller || FTDI FT601<br />
|-<br />
| Oscillator || Rakon RTX5032A @40.00MHz<br />
|-<br />
| Continuous frequency range || TBD<br />
|-<br />
| Bandwidth || TBD<br />
|-<br />
| RF connection || 2 SMA connectors (1 RX, 1 TX)<br />
|-<br />
| Power Output (CW) || TBD<br />
|-<br />
| Status indicators || Programmable LEDs<br />
|-<br />
| Dimensions || 69mm x 31.4mm<br />
|}<br />
<br />
<br />
== Getting Help ==<br />
<br />
If you have questions, the [https://discourse.myriadrf.org/ MyriadRF Discourse] is a best place to ask for help.<br />
<br />
<br />
== Documentation ==<br />
<br />
* [[LimeSDR-Mini_v1.1_hardware_description | LimeSDR-Mini v1.1 hardware description]]<br />
* [[LimeSDR-Mini_v1.2_hardware_description | LimeSDR-Mini v1.2 hardware description]]<br />
* [[LimeSDR-Mini_JTAG_cable_adapter| LimeSDR-Mini JTAG cable adapter]]<br />
* [[LMS7002Mr3_Calibration_Using_MCU|LMS7002M (Mask 1) Transceiver Calibration]] - LMS7002Mr3 calibration guide, using internal MCU<br />
* [[LimeSDR Made Simple]] - Demystifying using SDR in the real world and programming a simple example with confidence, through bite sized chunks (note that not all examples will work with the Mini, e.g. those using the waveform player)<br />
* [https://github.com/myriadrf/LMS7002M-docs/blob/master/LMS7002M_Data_Sheet_v3.2r00.pdf LMS7002M Datasheet (PDF)] - LMS7002M RF transceiver datasheet<br />
* [https://github.com/myriadrf/LMS7002M-docs/blob/master/LMS7002M_Programming_and_Calibration_Guide_v31r05.pdf LMS7002M Programming and Calibration Guide (PDF)] - LMS7002M programming and calibration guide<br />
* [[LimeSDR-Mini-Phase-Noise | LimeSDR-Mini v1.2 phase noise measurements]]<br />
<br />
== USB Drivers ==<br />
<br />
'''Windows only''', OSX and Linux users do not need to install drivers for USB support.<br />
Follow driver installation instructions in [[LimeSDR-Mini_driver_installation|Driver Installation Documentation]].<br />
<br />
== Software ==<br />
<br />
*[[LimeSuiteGUI|LimeSuiteGUI]]<br />
*[[LimeQuickTest|LimeQuickTest]]<br />
*[[LimeSDR ExtIO Plugin for HDSDR|LimeSDR ExtIO Plugin for HDSDR]]<br />
*[[Gr-limesdr_Plugin_for_GNURadio|gr-limesdr Plugin for GNURadio]]<br />
<br />
== FPGA Binaries ==<br />
<br />
Here are the links to pre-compiled MCU firmware and FPGA gateware (bitstream):<br />
* FPGA [https://github.com/myriadrf/LimeSDR-Mini_GW/blob/master/LimeSDR-Mini_bitstreams/LimeSDR-Mini_lms7_trx_HW_1.2_auto.rpd gateware]<br />
<br />
== Board Design Files ==<br />
<br />
Here are links to the schematic, PCB project and BOM:<br />
<br />
LimeSDR-Mini v1.1<br />
<br />
* [https://github.com/myriadrf/LimeSDR-Mini/blob/master/hardware/1v1/Project%20Outputs%20for%20LimeSDR_Mini_1v1/LimeSDR_Mini_1v1_schematic_r1.PDF Schematic (PDF)]<br />
* [https://github.com/myriadrf/LimeSDR-Mini/tree/master/hardware/1v1 PCB project (Altium project)]<br />
* [https://github.com/myriadrf/LimeSDR-Mini/blob/master/hardware/1v1/Project%20Outputs%20for%20LimeSDR_Mini_1v1/BOM/LimeSDR_Mini_1v1_BOMr1.xls BOM (XLS)]<br />
<br />
== Additional Components ==<br />
<br />
Here is a list of additional components to be used with LimeSDR-Mini board.<br />
* [http://uk.farnell.com/ls-research/080-0001/cable-ufl-to-sma-rp-female-bulkhead/dp/2324836 U.FL to SMA adapter cable]<br />
* Tested fans:<br />
** [http://www.digikey.com/product-detail/en/sunon-fans/MC30060V1-000U-A99/259-1545-ND/2757809 MC30060V1-000U-A99]<br />
** [http://www.digikey.com/product-detail/en/sunon-fans/MC30060V2-000U-A99/259-1572-ND/2757810 MC30060V2-000U-A99] (preferred option)<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=PantaHub&diff=2312PantaHub2019-06-04T09:01:32Z<p>AndrewBack: /* LimeSCAN */</p>
<hr />
<div>= Pantahub =<br />
<br />
Pantahub is the one-stop hub for all connected devices. By choosing to use a Pantahub-connected image for your LimeNET Micro, you can begin to easily try out other developers SDR projects as well as share your own innovations with the community, so that others can try out and collaborate with ease.<br />
<br />
By getting connected to Pantahub, your devices become cloud-managed infrastructure, and through the use of our Pantahub.com dashboard and CLI tools you can remotely control the lifecycle of the software running on your device, without the need to be flashing and reflashing every time.<br />
<br />
== LimeNET ==<br />
<br />
By default, our image lets you "'claim"' your device and control it through Pantahub.com as well as our development tools ('''pvr'''). Through this, you can choose to try out different community projects as well as be able to share your own developments and innovations with the broader community.<br />
<br />
Besides our default Pantahub-connected image, we also have one that is automatically connected to the LimeNET. Being part of the LimeNET means you can choose to automatically get all of the latest software, as well as have your device be part of our broad SDR ecosystem. If you choose to install this one, you won't have direct control via Pantahub; however, you can always flash the default image again to get control, or you can get in touch with [mailto:team@pantahub.com team@pantahub.com] to get your device released for you.<br />
<br />
== Image Setup ==<br />
<br />
The Pantahub enabled image for LimeNET Micro can be found at:<br />
<br />
* Pantahub connected image: [https://s3.eu-west-2.amazonaws.com/pantahub-images/rpi3-unclaimed-pv-6144MiB.img.xz rpi3-unclaimed-pv-6144MiB.img.xz]<br />
<br />
* LimeNET controlled image: [https://s3.eu-west-2.amazonaws.com/pantahub-images/rpi3-limenet-pv-6144MiB.img.xz rpi3-limenet-pv-6144MiB.img.xz]<br />
<br />
<br />
To flash this, you can follow the instructions at [https://wiki.myriadrf.org/Getting_Started_with_the_LimeNET-Micro#Flashing_eMMC_or_uSD_card Flashing_eMMC_or_uSD_card]. Make sure to uncompress the image first with the '''unxz''' command.<br />
<br />
== Installing PVR ==<br />
<br />
Our main development tool is called '''pvr''' and it lets you interact with your Pantahub-connected device remotely. This CLI will be what you use to '''clone''' your device as well as '''post''' different demos to it for easy testing and seamless onboarding. You can download it from the following locations:<br />
<br />
* Linux (amd64): [https://gitlab.com/pantacor/pvr/uploads/d51b21e1f10fb62357164d5a062924f4/pvr-006-amd64.tar.gz pvr-006-amd64.tar.gz]<br />
: To install the Linux version you need to place the extracted binary in your '''$PATH''' and make sure it is made executable with '''chmod +x'''.<br />
<br />
* Windows (amd64): [https://gitlab.com/pantacor/pvr/uploads/8c2a619bfd568d58f2a24a3b3dead8b2/pvr-006-win10-64.zip pvr-006-win10-x64.zip]<br />
: To install the Windows version all you need is to place it in a directory to which your user has access and can run executables from. '''C:\Users\YOURUSER''' is usually a good location.<br />
<br />
Once you have it installed just calling the '''pvr''' command from your shell should show you the help menu, where you can get familiarized with the different features that it provides.<br />
<br />
== Registering user in Pantahub ==<br />
<br />
The first thing you need to do to interact with Pantahub is to register a user account on https://www.pantahub.com<br />
<br />
A user account gives you access to the full API, including the object store, and also grants you access to the dashboard.<br />
<br />
Register your user with the following command:<br />
<br />
{| class="wikitable"<br />
|$ pvr register -u youruser -p yourpassword -e your@email.tld<br />
|}<br />
<br />
This will generate a json response with the server-generated part of the credentials:<br />
<br />
{| class="wikitable"<br />
|2017/06/19 11:08:43 Registration Response: {<br/><br />
"id": "5947949b85188a000c143c2e",<br/><br />
"type": "USER",<br/><br />
"email": "your@email.tld",<br/><br />
"nick": "youruser",<br/><br />
"prn": "prn:::accounts:/5947949b85188a000c143c2e",<br/><br />
"password": "yourpassword",<br/><br />
"time-created": "2017-06-19T09:08:43.767224118Z",<br/><br />
"time-modified": "2017-06-19T09:08:43.767224118Z"<br/><br />
}<br />
|}<br />
<br />
You can also go to https://www.pantahub.com and follow the sign-up process on the web interface.<br />
<br />
Your account is not ready for use until you have followed email verification. Please get in touch with [mailto:team@pantahub.com team@pantahub.com] if you had any issues completing verification, or if the default storage quota is not enough for your project.<br />
<br />
== Claiming your device from the LimeNET ==<br />
<br />
Your first use of '''pvr''' will be when claiming your device. In order to claim your device you will need a Pantahub account, so make sure you have created one and have had it approved before the following. We are mostly interested now in the following command:<br />
<br />
'''$ pvr scan'''<br />
<br />
With this command, we will be able to discover devices in our network, both claimed and unclaimed, if they have no owner. We must begin by discovering and claiming our device:<br />
<br />
[[File:Unclaimed-pvr-windows.png]]<br />
<br />
If '''pvr''' finds a device on the local network it will present this metadata for you to claim it via the command quoted in the output. Just run that command as-is and your user should now own your device.<br />
<br />
It can take a minute or two, depending on your connection, for a device to fully show up on Pantahub's device list the first time it boots. Wait a few if it hasn't showed up, it eventually will. Once your device shows up as claimed and under your ownership, you can interact with it via '''clone''' and '''post''' commands. For example, if you '''clone''' a device you will get a checkout of the different container assets that make up this firmware revision.<br />
<br />
= Applications =<br />
<br />
The default image comes with a pre-installed set of applications. Some of these are helpers for management and Pantahub operations, but the two main applications are the interesting ones that drive LimeSDR stack in order to turn the LimeNET Micro into a GSM toolbox.<br />
<br />
=== Osmocom GSM ===<br />
<br />
Osmocom NITB and LMS transmitter middleware that turns your LimeNET Micro into a GSM basestation.<br />
<br />
To enable osmo platform use following key/value in user-meta:<br />
<br />
key: lime.gsmstation.mode<br />
value: osmo<br />
Also the following keys exist that allow you to overwrite our default config files for the services '''nitb''', '''bts-trx''' and '''trx-lms''':<br />
<br />
* key: lime.gsmstation.osmo.config.nitb<br />
* value: <full config file used by osmo-nitb service><br />
<br />
* key: lime.gsmstation.osmo.config.bts<br />
* value: <full config file used by osmo-bts-trx service><br />
<br />
* key: lime.gsmstation.osmo.config.trx<br />
* value: <full config file used by osmo-trx-lms service><br />
<br />
Deleting the keys will make platform go back to default configs.<br />
<br />
=== LimeSCAN ===<br />
<br />
'''''DISCLAIMER''''' LimeSCAN is currently on a private Alpha; in order to get your device transmitting scan data you must [https://docs.google.com/forms/d/1yfzG7zkyQ608tOF2gCgtvqGFidFwSmdZdxYEV74XuXk/ complete the form] to request early access.<br />
<br />
This is a GSM and Power Spectrum scanner that feeds scan data to the limescan.net website.<br />
<br />
To enable the LimeSCAN platform use following key/value in user-meta:<br />
<br />
* key: lime.gsmstation.mode<br />
* value: scan<br />
<br />
You will also have to set your limescan.ini in user-meta:<br />
<br />
* key: limescan-config.ini<br />
* value: <ini file><br />
<br />
Once configured your results will be fed to https://limescan.net/<br />
<br />
== Pantahub services ==<br />
<br />
In addition to the SDR applications, the device comes preinstalled with a set of services that mediate access and discovery via the Pantahub controller.<br />
<br />
* alpine-base platform - auto connects your system through DHCP enabled ethernet<br />
* ph-vpn - pantahub vpn platform (experimental)<br />
* ph-avahi - find and claim your (local) devices with pvr scan and claim<br />
* pvr-auto-follow - make your device automatically track updates from another device<br />
<br />
You can access your device in Pantahub at https://www.pantahub.com/u/<your-user>/devices/<your-device-id><br />
<br />
Pantahub provides a fully fledged monitoring interface so that you can interact with your account's own device and object registry. This let's you visualize the current state of each device, how they are walking through available updates as well as doing introspection on the details of each step, including a README file, the objects that make it up, changelog, and cloud-backed logging and metadata.<br />
<br />
= Developing with Pantahub tools =<br />
<br />
For normal use of '''pvr''' and https://www.pantahub.com to control your device, as well as the concepts of "cloning" and "sharing" your work with other people, you can refer to the [https://gitlab.com/pantacor/docs/blob/master/get-started-limesdr-rpi3.md Panthub + Lime SDR Documentation]<br />
<br />
== SSH for Developer Access ==<br />
<br />
Right now you can access the following platforms as user root, via ssh, through following ports:<br />
<br />
* alpine-base-device: 22 (user: root pass: pantacor)<br />
* limescan-device: 7022 (user: root pass: pantalime)<br />
* lime-osmocom-device: 7024 (user: root pass: pantalime)<br />
* pvr-auto-follow: 8022 (user: root pass: pantasdk)<br />
<br />
''Note'': Root password login is only allowed through console.<br />
<br />
To log in via ssh you have to set the following user-meta key in Pantahub:<br />
<br />
* key: pvr-sdk.authorized_keys<br />
* value: <the authorized_keys file you want grant root login privilege to><br />
<br />
<br />
'''Enjoy!'''</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=PantaHub&diff=2311PantaHub2019-06-03T15:25:40Z<p>AndrewBack: /* LimeSCAN */</p>
<hr />
<div>= Pantahub =<br />
<br />
Pantahub is the one-stop hub for all connected devices. By choosing to use a Pantahub-connected image for your LimeNET Micro, you can begin to easily try out other developers SDR projects as well as share your own innovations with the community, so that others can try out and collaborate with ease.<br />
<br />
By getting connected to Pantahub, your devices become cloud-managed infrastructure, and through the use of our Pantahub.com dashboard and CLI tools you can remotely control the lifecycle of the software running on your device, without the need to be flashing and reflashing every time.<br />
<br />
== LimeNET ==<br />
<br />
By default, our image lets you "'claim"' your device and control it through Pantahub.com as well as our development tools ('''pvr'''). Through this, you can choose to try out different community projects as well as be able to share your own developments and innovations with the broader community.<br />
<br />
Besides our default Pantahub-connected image, we also have one that is automatically connected to the LimeNET. Being part of the LimeNET means you can choose to automatically get all of the latest software, as well as have your device be part of our broad SDR ecosystem. If you choose to install this one, you won't have direct control via Pantahub; however, you can always flash the default image again to get control, or you can get in touch with [mailto:team@pantahub.com team@pantahub.com] to get your device released for you.<br />
<br />
== Image Setup ==<br />
<br />
The Pantahub enabled image for LimeNET Micro can be found at:<br />
<br />
* Pantahub connected image: [https://s3.eu-west-2.amazonaws.com/pantahub-images/rpi3-unclaimed-pv-6144MiB.img.xz rpi3-unclaimed-pv-6144MiB.img.xz]<br />
<br />
* LimeNET controlled image: [https://s3.eu-west-2.amazonaws.com/pantahub-images/rpi3-limenet-pv-6144MiB.img.xz rpi3-limenet-pv-6144MiB.img.xz]<br />
<br />
<br />
To flash this, you can follow the instructions at [https://wiki.myriadrf.org/Getting_Started_with_the_LimeNET-Micro#Flashing_eMMC_or_uSD_card Flashing_eMMC_or_uSD_card]. Make sure to uncompress the image first with the '''unxz''' command.<br />
<br />
== Installing PVR ==<br />
<br />
Our main development tool is called '''pvr''' and it lets you interact with your Pantahub-connected device remotely. This CLI will be what you use to '''clone''' your device as well as '''post''' different demos to it for easy testing and seamless onboarding. You can download it from the following locations:<br />
<br />
* Linux (amd64): [https://gitlab.com/pantacor/pvr/uploads/d51b21e1f10fb62357164d5a062924f4/pvr-006-amd64.tar.gz pvr-006-amd64.tar.gz]<br />
: To install the Linux version you need to place the extracted binary in your '''$PATH''' and make sure it is made executable with '''chmod +x'''.<br />
<br />
* Windows (amd64): [https://gitlab.com/pantacor/pvr/uploads/8c2a619bfd568d58f2a24a3b3dead8b2/pvr-006-win10-64.zip pvr-006-win10-x64.zip]<br />
: To install the Windows version all you need is to place it in a directory to which your user has access and can run executables from. '''C:\Users\YOURUSER''' is usually a good location.<br />
<br />
Once you have it installed just calling the '''pvr''' command from your shell should show you the help menu, where you can get familiarized with the different features that it provides.<br />
<br />
== Registering user in Pantahub ==<br />
<br />
The first thing you need to do to interact with Pantahub is to register a user account on https://www.pantahub.com<br />
<br />
A user account gives you access to the full API, including the object store, and also grants you access to the dashboard.<br />
<br />
Register your user with the following command:<br />
<br />
{| class="wikitable"<br />
|$ pvr register -u youruser -p yourpassword -e your@email.tld<br />
|}<br />
<br />
This will generate a json response with the server-generated part of the credentials:<br />
<br />
{| class="wikitable"<br />
|2017/06/19 11:08:43 Registration Response: {<br/><br />
"id": "5947949b85188a000c143c2e",<br/><br />
"type": "USER",<br/><br />
"email": "your@email.tld",<br/><br />
"nick": "youruser",<br/><br />
"prn": "prn:::accounts:/5947949b85188a000c143c2e",<br/><br />
"password": "yourpassword",<br/><br />
"time-created": "2017-06-19T09:08:43.767224118Z",<br/><br />
"time-modified": "2017-06-19T09:08:43.767224118Z"<br/><br />
}<br />
|}<br />
<br />
You can also go to https://www.pantahub.com and follow the sign-up process on the web interface.<br />
<br />
Your account is not ready for use until you have followed email verification. Please get in touch with [mailto:team@pantahub.com team@pantahub.com] if you had any issues completing verification, or if the default storage quota is not enough for your project.<br />
<br />
== Claiming your device from the LimeNET ==<br />
<br />
Your first use of '''pvr''' will be when claiming your device. In order to claim your device you will need a Pantahub account, so make sure you have created one and have had it approved before the following. We are mostly interested now in the following command:<br />
<br />
'''$ pvr scan'''<br />
<br />
With this command, we will be able to discover devices in our network, both claimed and unclaimed, if they have no owner. We must begin by discovering and claiming our device:<br />
<br />
[[File:Unclaimed-pvr-windows.png]]<br />
<br />
If '''pvr''' finds a device on the local network it will present this metadata for you to claim it via the command quoted in the output. Just run that command as-is and your user should now own your device.<br />
<br />
It can take a minute or two, depending on your connection, for a device to fully show up on Pantahub's device list the first time it boots. Wait a few if it hasn't showed up, it eventually will. Once your device shows up as claimed and under your ownership, you can interact with it via '''clone''' and '''post''' commands. For example, if you '''clone''' a device you will get a checkout of the different container assets that make up this firmware revision.<br />
<br />
= Applications =<br />
<br />
The default image comes with a pre-installed set of applications. Some of these are helpers for management and Pantahub operations, but the two main applications are the interesting ones that drive LimeSDR stack in order to turn the LimeNET Micro into a GSM toolbox.<br />
<br />
=== Osmocom GSM ===<br />
<br />
Osmocom NITB and LMS transmitter middleware that turns your LimeNET Micro into a GSM basestation.<br />
<br />
To enable osmo platform use following key/value in user-meta:<br />
<br />
key: lime.gsmstation.mode<br />
value: osmo<br />
Also the following keys exist that allow you to overwrite our default config files for the services '''nitb''', '''bts-trx''' and '''trx-lms''':<br />
<br />
* key: lime.gsmstation.osmo.config.nitb<br />
* value: <full config file used by osmo-nitb service><br />
<br />
* key: lime.gsmstation.osmo.config.bts<br />
* value: <full config file used by osmo-bts-trx service><br />
<br />
* key: lime.gsmstation.osmo.config.trx<br />
* value: <full config file used by osmo-trx-lms service><br />
<br />
Deleting the keys will make platform go back to default configs.<br />
<br />
=== LimeSCAN ===<br />
<br />
'''''DISCLAIMER''''' LimeSCAN is currently on a private Alpha; in order to get your device transmitting scan data you must get in touch with [https://docs.google.com/forms/d/1yfzG7zkyQ608tOF2gCgtvqGFidFwSmdZdxYEV74XuXk/ complete the form] to request early access.<br />
<br />
This is a GSM and Power Spectrum scanner that feeds scan data to the limescan.net website.<br />
<br />
To enable the LimeSCAN platform use following key/value in user-meta:<br />
<br />
* key: lime.gsmstation.mode<br />
* value: scan<br />
<br />
You will also have to set your limescan.ini in user-meta:<br />
<br />
* key: limescan-config.ini<br />
* value: <ini file><br />
<br />
Once configured your results will be fed to https://limescan.net/<br />
<br />
== Pantahub services ==<br />
<br />
In addition to the SDR applications, the device comes preinstalled with a set of services that mediate access and discovery via the Pantahub controller.<br />
<br />
* alpine-base platform - auto connects your system through DHCP enabled ethernet<br />
* ph-vpn - pantahub vpn platform (experimental)<br />
* ph-avahi - find and claim your (local) devices with pvr scan and claim<br />
* pvr-auto-follow - make your device automatically track updates from another device<br />
<br />
You can access your device in Pantahub at https://www.pantahub.com/u/<your-user>/devices/<your-device-id><br />
<br />
Pantahub provides a fully fledged monitoring interface so that you can interact with your account's own device and object registry. This let's you visualize the current state of each device, how they are walking through available updates as well as doing introspection on the details of each step, including a README file, the objects that make it up, changelog, and cloud-backed logging and metadata.<br />
<br />
= Developing with Pantahub tools =<br />
<br />
For normal use of '''pvr''' and https://www.pantahub.com to control your device, as well as the concepts of "cloning" and "sharing" your work with other people, you can refer to the [https://gitlab.com/pantacor/docs/blob/master/get-started-limesdr-rpi3.md Panthub + Lime SDR Documentation]<br />
<br />
== SSH for Developer Access ==<br />
<br />
Right now you can access the following platforms as user root, via ssh, through following ports:<br />
<br />
* alpine-base-device: 22 (user: root pass: pantacor)<br />
* limescan-device: 7022 (user: root pass: pantalime)<br />
* lime-osmocom-device: 7024 (user: root pass: pantalime)<br />
* pvr-auto-follow: 8022 (user: root pass: pantasdk)<br />
<br />
''Note'': Root password login is only allowed through console.<br />
<br />
To log in via ssh you have to set the following user-meta key in Pantahub:<br />
<br />
* key: pvr-sdk.authorized_keys<br />
* value: <the authorized_keys file you want grant root login privilege to><br />
<br />
<br />
'''Enjoy!'''</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2297SDR Satcom Applications2019-04-23T08:31:01Z<p>AndrewBack: /* WeatherDump */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the SDR Satcom app store.<br />
<br />
Note that there is also a [https://sdrsatcom.snapcraft.io/ web interface to the store] which allows you to view additional details, such as the licence and time of last update.<br />
<br />
For details of how to install snaps and contributing, see [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
==== WeatherDump ====<br />
<br />
[https://github.com/luigifreitas/weatherdump WeatherDump] is multi-platform software for record, demodulate, decode and processing of data from weather satellites.<br />
<br />
===== Supported Datalink Protocols =====<br />
<br />
{| class="wikitable"<br />
|Protocol<br />
|Complete Name<br />
|Satellites<br />
|Band<br />
|Support Leve<br />
|-<br />
|LRPT<br />
|Low Rate Picture Transfer<br />
|Meteor-MN2<br />
|VHF<br />
|Alpha<br />
|-<br />
|HRD<br />
|High Rate Data<br />
|NOAA-20 & Suomi<br />
|X-Band<br />
|Beta<br />
|-<br />
|APT<br />
|Automatic Picture Transfer<br />
|NOAA-15, NOAA-18 & NOAA-19<br />
|VHF<br />
|Planned (Beta 1)<br />
|}<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data for these can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2296SDR Satcom Applications2019-04-23T08:30:19Z<p>AndrewBack: /* WeatherDump */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the SDR Satcom app store.<br />
<br />
Note that there is also a [https://sdrsatcom.snapcraft.io/ web interface to the store] which allows you to view additional details, such as the licence and time of last update.<br />
<br />
For details of how to install snaps and contributing, see [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
==== WeatherDump ====<br />
<br />
WeatherDump is multi-platform software for record, demodulate, decode and processing of data from weather satellites.<br />
<br />
<br />
===== Supported Datalink Protocols =====<br />
<br />
{| class="wikitable"<br />
|Protocol<br />
|Complete Name<br />
|Satellites<br />
|Band<br />
|Support Leve<br />
|-<br />
|LRPT<br />
|Low Rate Picture Transfer<br />
|Meteor-MN2<br />
|VHF<br />
|Alpha<br />
|-<br />
|HRD<br />
|High Rate Data<br />
|NOAA-20 & Suomi<br />
|X-Band<br />
|Beta<br />
|-<br />
|APT<br />
|Automatic Picture Transfer<br />
|NOAA-15, NOAA-18 & NOAA-19<br />
|VHF<br />
|Planned (Beta 1)<br />
|}<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data for these can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2295SDR Satcom Applications2019-04-21T06:49:10Z<p>AndrewBack: /* Community */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the SDR Satcom app store.<br />
<br />
Note that there is also a [https://sdrsatcom.snapcraft.io/ web interface to the store] which allows you to view additional details, such as the licence and time of last update.<br />
<br />
For details of how to install snaps and contributing, see [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
==== WeatherDump ====<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data for these can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=PantaHub_Applications&diff=2209PantaHub Applications2019-04-10T11:25:52Z<p>AndrewBack: Created page with "''Stub''. {{Community}}"</p>
<hr />
<div>''Stub''.<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=PantaHub&diff=2207PantaHub2019-04-10T11:25:17Z<p>AndrewBack: Created page with "''Stub''. {{Community}}"</p>
<hr />
<div>''Stub''.<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2201SDR Satcom Applications2019-04-10T10:04:41Z<p>AndrewBack: /* Reference */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the SDR Satcom app store.<br />
<br />
Note that there is also a [https://sdrsatcom.snapcraft.io/ web interface to the store] which allows you to view additional details, such as the licence and time of last update.<br />
<br />
For details of how to install snaps and contributing, see [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data for these can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_App_Store&diff=2199SDR Satcom App Store2019-04-09T14:01:11Z<p>AndrewBack: /* Contributing */</p>
<hr />
<div>== Introduction ==<br />
<br />
The SDR Satcom app store makes it easy to distribute and install software-defined radio (SDR) applications for satellite communications (satcom).<br />
<br />
The app store is provided as part of a wider initiative supported by the [https://www.esa.int European Space Agency] in partnership with [https://limemicro.com Lime Microsystems], that is dedicated to:<br />
<br />
* democratising access to enabling hardware platforms<br />
* fostering open source SDR development<br />
* accelerating the pace of satcom innovation<br />
<br />
== Requirements ==<br />
<br />
Applications are distributed as containerised ''snaps'' which neatly package them together with their dependencies, thereby simultenously simplifying the installation of complex software stacks and the task of supporting a wide variety of Linux distributions and versions.<br />
<br />
For details of the supported Linux distros, see [https://docs.snapcraft.io/installing-snapd/6735 Installing snapd].<br />
<br />
== Accessing ==<br />
<br />
To install snaps you need to:<br />
<br />
# Have snapd and tools available<br />
# Configure snapd to use the SDR_Satcom store<br />
<br />
=== snapd ===<br />
<br />
The snapd daemon and tools are used to provide support for snaps.<br />
<br />
Snap support comes pre-installed with classic Ubuntu version 16.04.4 and upwards. It is also the native packaging system for [https://www.ubuntu.com/core Ubuntu Core].<br />
<br />
Solus 3 and Zorin OS also provide out-of-the-box support for installing snaps, while [https://docs.snapcraft.io/installing-snapd/6735 installation instructions] are provided for Arch, CentOS, Debian, Raspbian and many others.<br />
<br />
=== Configuration ===<br />
<br />
Configuring snapd to use the SDR_Satcom store is simple:<br />
<br />
<source lang="bash" line='line'><br />
echo "UBUNTU_STORE_ID=SDR_Satcom" | sudo tee -a /etc/environment<br />
sudo service snapd restart<br />
</source><br />
<br />
=== Basic use ===<br />
<br />
To search for a snap with a name containing "lime":<br />
<br />
<source lang="bash" line='line'><br />
snap search lime<br />
</source><br />
<br />
To install sathelperapp:<br />
<br />
<source lang="bash" line='line'><br />
sudo snap install sathelperapp<br />
</source><br />
<br />
Snaps which access a LimeSDR board, or integrated transceiver of a LimeNET Micro or CrowdCell, will also need the ''raw-usb'' interface connecting. For example, with sathelperapp:<br />
<br />
<source lang="bash" line='line'><br />
sudo snap connect sathelperapp:raw-usb<br />
</source><br />
<br />
For further details see the [https://docs.snapcraft.io/snap-documentation/3781 Snap Documentation].<br />
<br />
== Current applications ==<br />
<br />
See [[SDR Satcom Applications]].<br />
<br />
== Contributing ==<br />
<br />
If you would like to contribute to the SDR Satcom app store you can either post to the [https://discourse.myriadrf.org/c/projects/sdr-satcom forum] or e-mail [mailto:a.back@limemicro.com Andrew Back].<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2198SDR Satcom Applications2019-04-09T13:53:01Z<p>AndrewBack: </p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the SDR Satcom app store.<br />
<br />
Note that there is also a [https://sdrsatcom.snapcraft.io/ web interface to the store] which allows you to view additional details, such as the licence and time of last update.<br />
<br />
For details of how to install snaps and contributing, see [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2197SDR Satcom Applications2019-04-09T13:50:01Z<p>AndrewBack: /* Categories */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
There are currently two categories of application:<br />
<br />
* Community contributed apps<br />
* Reference apps provided by Lime Micro<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
The snapcraft build/packaging meta-data can be found on [https://github.com/myriadrf/snapcraft-sandbox GitHub].<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2196SDR Satcom Applications2019-04-09T13:45:10Z<p>AndrewBack: /* SDRangel */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[[File:LimeSDR-Mini SDRangel Demo 768w.jpg]]<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=File:LimeSDR-Mini_SDRangel_Demo_768w.jpg&diff=2195File:LimeSDR-Mini SDRangel Demo 768w.jpg2019-04-09T13:44:57Z<p>AndrewBack: </p>
<hr />
<div></div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2194SDR Satcom Applications2019-04-09T13:44:14Z<p>AndrewBack: /* SatHelperApp */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
[[File:SatHelperApp 1 768w.jpg]]<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=File:SatHelperApp_1_768w.jpg&diff=2193File:SatHelperApp 1 768w.jpg2019-04-09T13:43:52Z<p>AndrewBack: </p>
<hr />
<div></div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2192SDR Satcom Applications2019-04-09T13:42:35Z<p>AndrewBack: /* Gpredict */</p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[[File:Gpredict 1 768w.jpg]]<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=File:Gpredict_1_768w.jpg&diff=2191File:Gpredict 1 768w.jpg2019-04-09T13:41:58Z<p>AndrewBack: </p>
<hr />
<div></div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2190SDR Satcom Applications2019-04-09T13:41:08Z<p>AndrewBack: </p>
<hr />
<div>== Introduction ==<br />
<br />
Here you can find details of the snaps in the [[SDR Satcom App Store]].<br />
<br />
== Categories ==<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
[https://github.com/csete/gpredict Gpredict] is a real time satellite tracking and orbit prediction program for the Linux desktop. It uses the SGP4/SDP4 propagation algorithms together with NORAD two-line element sets (TLE).<br />
<br />
==== SatHelperApp ====<br />
<br />
The OpenSatelliteProject (OSP) [https://github.com/opensatelliteproject/SatHelperApp Satellite Helper Application] is currently an LRIT/HRIT demodulator / decoder program based on libSatHelper and xritdemod.<br />
<br />
==== SDRangel ====<br />
<br />
[https://github.com/f4exb/sdrangel SDRangel] is a Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend. It has support for various modes, including DVB, and transmit operation.<br />
<br />
=== Reference ===<br />
<br />
A small number of reference applications are provided by Lime Microsystems.<br />
<br />
==== Lime Suite ====<br />
<br />
Lime Suite driver and utilities only.<br />
<br />
This minimal snap is useful for validating operation of LimeSDR hardware and performing firmware/gateware upgrades.<br />
<br />
==== LimeSDR + GRC ====<br />
<br />
GNU Radio, GNU Radio Companion (GRC) and gr-limesdr source/sink blocks.<br />
<br />
This snap provides a base GNU Radio system, along with the GRC visual flowgraph editor, and blocks for LimeSDR hardware.<br />
<br />
==== LimeSDR + Gqrx ====<br />
<br />
Gqrx is an open source software-defined radio receiver (SDR) powered by GNU Radio and the Qt graphical toolkit.<br />
<br />
''Note that at the present time a device type of "other" should be selected and the device string "driver=lime;soapy=0" used.<br />
<br />
==== LimeSDR + Pothos ====<br />
<br />
The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks.<br />
<br />
This snap provides a Pothos environment with Pothos GUI, SDR blocks and LimeSDR hardware support via SoapySDR.</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_Applications&diff=2189SDR Satcom Applications2019-04-08T15:25:43Z<p>AndrewBack: Created page with "== Introduction == == Applications == === Reference === === Community === ==== Gpredict ==== ==== SatHelperApp ==== ==== SDRangel ===="</p>
<hr />
<div>== Introduction ==<br />
<br />
== Applications ==<br />
<br />
=== Reference ===<br />
<br />
=== Community ===<br />
<br />
==== Gpredict ====<br />
<br />
==== SatHelperApp ====<br />
<br />
==== SDRangel ====</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=SDR_Satcom_App_Store&diff=2188SDR Satcom App Store2019-04-08T14:17:54Z<p>AndrewBack: </p>
<hr />
<div>== Introduction ==<br />
<br />
The SDR Satcom app store makes it easy to distribute and install software-defined radio (SDR) applications for satellite communications (satcom).<br />
<br />
The app store is provided as part of a wider initiative supported by the [https://www.esa.int European Space Agency] in partnership with [https://limemicro.com Lime Microsystems], that is dedicated to:<br />
<br />
* democratising access to enabling hardware platforms<br />
* fostering open source SDR development<br />
* accelerating the pace of satcom innovation<br />
<br />
== Requirements ==<br />
<br />
Applications are distributed as containerised ''snaps'' which neatly package them together with their dependencies, thereby simultenously simplifying the installation of complex software stacks and the task of supporting a wide variety of Linux distributions and versions.<br />
<br />
For details of the supported Linux distros, see [https://docs.snapcraft.io/installing-snapd/6735 Installing snapd].<br />
<br />
== Accessing ==<br />
<br />
To install snaps you need to:<br />
<br />
# Have snapd and tools available<br />
# Configure snapd to use the SDR_Satcom store<br />
<br />
=== snapd ===<br />
<br />
The snapd daemon and tools are used to provide support for snaps.<br />
<br />
Snap support comes pre-installed with classic Ubuntu version 16.04.4 and upwards. It is also the native packaging system for [https://www.ubuntu.com/core Ubuntu Core].<br />
<br />
Solus 3 and Zorin OS also provide out-of-the-box support for installing snaps, while [https://docs.snapcraft.io/installing-snapd/6735 installation instructions] are provided for Arch, CentOS, Debian, Raspbian and many others.<br />
<br />
=== Configuration ===<br />
<br />
Configuring snapd to use the SDR_Satcom store is simple:<br />
<br />
<source lang="bash" line='line'><br />
echo "UBUNTU_STORE_ID=SDR_Satcom" | sudo tee -a /etc/environment<br />
sudo service snapd restart<br />
</source><br />
<br />
=== Basic use ===<br />
<br />
To search for a snap with a name containing "lime":<br />
<br />
<source lang="bash" line='line'><br />
snap search lime<br />
</source><br />
<br />
To install sathelperapp:<br />
<br />
<source lang="bash" line='line'><br />
sudo snap install sathelperapp<br />
</source><br />
<br />
Snaps which access a LimeSDR board, or integrated transceiver of a LimeNET Micro or CrowdCell, will also need the ''raw-usb'' interface connecting. For example, with sathelperapp:<br />
<br />
<source lang="bash" line='line'><br />
sudo snap connect sathelperapp:raw-usb<br />
</source><br />
<br />
For further details see the [https://docs.snapcraft.io/snap-documentation/3781 Snap Documentation].<br />
<br />
== Current applications ==<br />
<br />
See [[SDR Satcom Applications]].<br />
<br />
== Contributing ==<br />
<br />
If you would like to contribute to the SDR Satcom app store you can either post to [https://discourse.myriadrf.org/c/projects/sdr-satcom forum] or [mailto:a.back@limemicro.com email Andrew Back].<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeNET_Micro&diff=1982LimeNET Micro2019-02-12T21:12:41Z<p>AndrewBack: Created page with "''Stub.'' {{Community}}"</p>
<hr />
<div>''Stub.''<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=LimeSDR-QPCIe&diff=1957LimeSDR-QPCIe2019-02-05T18:32:55Z<p>AndrewBack: /* LimeSDR-QPCIe Boards */</p>
<hr />
<div>== LimeSDR-QPCIe Boards ==<br />
<br />
LimeSDR-QPCIe is software defined radio board based on Lime LMS7002M Field Programmable Radio Frequency (FPRF) transceiver and Altera Cyclone V PFGA, through which apps can be programmed to support any type of wireless standard, e.g. UMTS, LTE, LoRa, GPS, WiFi, Zigbee, RFID, Digital Broadcasting, Radar and many more.<br />
<br />
[[File:LimeSDR-QPCIe_v1.2.png|center|640px|LimeSDR-QPCIe v1.2 board]]<br />
<br />
== Features and Specifications ==<br />
<br />
{| class="wikitable"<br />
! Feature !! Description<br />
|-<br />
| RF Transceiver || 2x Lime Microsystems LMS7002M MIMO FPRF<br />
|-<br />
| FPGA || Intel Cyclone V, 5CGXFC7D7F31C8N device in 896-pin FBGA package<br />
|-<br />
| PCIe interface ||PCIe x4 (Gen1)<br />
|-<br />
| USB 3.0 controller || Cypress USB 3.0 CYUSB3014-BZXC<br />
|-<br />
| Oscillator || ????<br />
|-<br />
| Continuous frequency range || 100 kHz – 3.8 GHz<br />
|-<br />
| Bandwidth || 61.44MHz ???<br />
|-<br />
| RF connection || 20 U.FL connectors (12 RX, 8 TX)<br />
|-<br />
| Power Output (CW) || Up to 10dBm<br />
|-<br />
| Multiplexing || 4×4 MIMO<br />
|-<br />
| Power Supply || Via PCIe interface or external or PCIe 6-pin and DC power connectors<br />
|-<br />
| Status indicators || Programmable LEDs<br />
|-<br />
| Dimensions || 190mm x 106.7mm (7.48” x 4.20”) <br />
|}<br />
<br />
== Getting Help ==<br />
<br />
If you have questions, the [https://discourse.myriadrf.org/ MyriadRF Discourse] is a best place to ask for help.<br />
<br />
== Documentation ==<br />
<br />
* [[LimeSDR-QPCIe_v1.2_hardware_description | LimeSDR-QPCIe v1.2 hardware description]] - LimeSDR-QPCIe hardware description<br />
<br />
-------- NOT FINISHED !!! ---------<br />
<br />
* [[LimeSDR-USB_driver_installation | LimeSDR-USB driver installation description]] - LimeSDR-USB USB driver installation description<br />
* [[Getting_Started_with_LimeSDR-USB_and_LimeSuiteGUI | Getting Started with LimeSDR-USB and LimeSuiteGUI]] - Using LimeSDR-USB board with LimeSuiteGUI software<br />
* [[LimeSDR-USB_Board_Programming | LimeSDR-USB Board Programming]] - LimeSDR-USB FX3 USB microcontroller and FPGA flashing guide<br />
<br />
* [[LimeSDR-USB Quick Test|LimeSDR-USB Quick Test]] - How to check if LimeSDR-USB is working correctly<br />
* [[LimeSDR HF Performance|LimeSDR-USB HF Performance]] - LimeSDR-USB board performance in HF band and RF network modification<br />
* [[LMS7002Mr3_Calibration_Using_MCU|LMS7002M (Mask 1) Transceiver Calibration]] - LMS7002Mr3 calibration guide, using internal MCU<br />
* [[LimeSDR Made Simple]] - Demystifying using SDR in the real world and programming a simple example with confidence, through bite sized chunks.<br />
* [https://github.com/myriadrf/LMS7002M-docs/blob/master/LMS7002M_Data_Sheet_v3.1r00.pdf LMS7002M Datasheet (PDF)] - LMS7002M RF transceiver datasheet<br />
* [https://github.com/myriadrf/LMS7002M-docs/blob/master/LMS7002M_Programming_and_Calibration_Guide_v31r05.pdf LMS7002M Programming and Calibration Guide (PDF)] - LMS7002M programming and calibration guide<br />
<br />
== USB Drivers ==<br />
'''Windows only''', OSX and Linux users do not need to install drivers for USB support.<br />
Follow driver installation instructions in [[LimeSDR-USB_driver_installation|Driver Installation Documentation]].<br />
<br />
== Software ==<br />
<br />
*[[LimeSuiteGUI|LimeSuiteGUI]]<br />
*[[LimeSDR ExtIO Plugin for HDSDR|LimeSDR ExtIO Plugin for HDSDR]]<br />
*[[Gr-limesdr_Plugin_for_GNURadio|gr-limesdr Plugin for GNURadio]]<br />
<br />
== USB3 MCU and FPGA Binaries ==<br />
<br />
Here are the links to pre-compiled MCU firmware and FPGA gateware (bitstream):<br />
* USB3 MCU [https://github.com/myriadrf/LimeSDR-USB_FX3/blob/master/Debug/LimeSDR-USB_fx3_fw.img firmware]<br />
* FPGA [https://github.com/myriadrf/LimeSDR-USB_GW/blob/master/output_files/LimeSDR-USB_lms7_trx_HW_1.4.rbf gateware]<br />
<br />
<br />
== Board Design Files ==<br />
<br />
Here are links to the schematic, PCB project and BOM:<br />
* LimeSDR-USB 1.4v plug version [https://github.com/myriadrf/LimeSDR-USB/blob/master/hardware/plug/1v4/Project%20Outputs%20for%20LimeSDR-USB_1v4_LMS031pad/LimeSDR-USB_1v4_schematic_r7.PDF Schematic (PDF)]<br />
* LimeSDR-USB 1.4v socket version [https://github.com/myriadrf/LimeSDR-USB/blob/master/hardware/socket/1v4/Project%20Outputs%20for%20LimeSDR-USB_1v4s_LMS031pad/LimeSDR-USB_1v4s_schematic_r7.PDF Schematic (PDF)]<br />
* LimeSDR-USB 1.4v plug version [https://github.com/myriadrf/LimeSDR-USB/tree/master/hardware/plug/1v4 PCB project (Altium project)]<br />
* LimeSDR-USB 1.4v socket version [https://github.com/myriadrf/LimeSDR-USB/tree/master/hardware/socket/1v4 PCB project (Altium project)]<br />
* LimeSDR-USB 1.4v plug version [https://github.com/myriadrf/LimeSDR-USB/blob/master/hardware/plug/1v4/Project%20Outputs%20for%20LimeSDR-USB_1v4_LMS031pad/BOM/LimeSDR-USB_1v4_BOMr7.xls BOM (XLS)]<br />
* LimeSDR-USB 1.4v socket version [https://github.com/myriadrf/LimeSDR-USB/blob/master/hardware/socket/1v4/Project%20Outputs%20for%20LimeSDR-USB_1v4s_LMS031pad/BOM/LimeSDR-USB_1v4s_BOMr7.xls BOM (XLS)]<br />
<br />
<br />
== Additional Components ==<br />
<br />
Here is a list of additional components to be used with LimeSDR-USB board.<br />
* [http://uk.farnell.com/ls-research/080-0001/cable-ufl-to-sma-rp-female-bulkhead/dp/2324836 U.FL to SMA adapter cable]<br />
* Tested fans:<br />
** [http://www.digikey.com/product-detail/en/sunon-fans/MB40100V2-000U-A99/259-1565-ND/2757776 MB40100V2-000U-A99]<br />
** [http://www.digikey.com/product-detail/en/sunon-fans/MC30060V1-000U-A99/259-1545-ND/2757809 MC30060V1-000U-A99]<br />
<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=Lime_Suite&diff=1947Lime Suite2019-01-02T14:20:12Z<p>AndrewBack: /* Ubuntu PPA */</p>
<hr />
<div>Lime Suite is a collection of software supporting several hardware platforms including the LimeSDR, drivers for the LMS7002M transceiver RFIC, and other tools for developing with LMS7-based hardware.<br />
Installing the Lime Suite enables many SDR applications such as GQRX to work with supported hardware through the bundled SoapySDR support module.<br />
<br />
This wiki page will guide users through available binary packages, obtaining dependencies, compiling the suite, basic testing with hardware, and upgrading firmware.<br />
<br />
'''Please note that you should either install Lime Suite via a pre-built package/installer (2) ''or'' build it from source (3) and not do both.'''<br />
<br />
[[File:lime_suite_comps.png|700px]]<br />
<br />
* Interested in software or hardware development? Learn more about the [https://myriadrf.org/blog/limesuite-driver-architecture/ Lime Suite driver architecture].<br />
<br />
== Supported hardware ==<br />
<br />
* [[LimeSDR]]<br />
* [[STREAM]] with LMS7002M UNITE (EVB7)<br />
* LMS7002M UNITE (EVB7) through COM port<br />
* [http://www.kosagi.com/w/index.php?title=Novena_Main_Page Novena Laptop] with LMS7 RF board<br />
<br />
== Installers and packages ==<br />
<br />
We have support for a select number of platforms and package managers.<br />
If your platform isn't supported, follow the next sections for getting the dependencies and building LimeSuite.<br />
<br />
'''Note: either install Lime Suite via a package/installer or source code and do not do both!'''<br />
<br />
=== Ubuntu PPA ===<br />
<br />
[[File:ubuntu_logo.png]]<br />
<br />
The drivers PPA for Ubuntu has a recent build of LimeSuite:<br />
<br />
<pre><br />
sudo add-apt-repository -y ppa:myriadrf/drivers<br />
sudo apt-get update<br />
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images<br />
sudo apt-get install soapysdr-tools soapysdr-module-lms7<br />
<br />
#soapysdr-tools use to be called just soapysdr on older packages<br />
sudo apt-get install soapysdr soapysdr-module-lms7<br />
</pre><br />
<br />
We currently package for Ubuntu releases:<br />
<br />
* 16.06<br />
* 18.04<br />
* 18.10<br />
<br />
=== Windows ===<br />
<br />
[[File:windows_logo.png]]<br />
<br />
LimeSuite is bundled with the [https://github.com/pothosware/PothosSDR/wiki PothoSDR development environment] to use supported hardware in an ecosystem of SDR applications like GQRX, Pothos, CubicSDR, and GNU Radio.<br />
<br />
=== OSX homebrew ===<br />
<br />
[[File:apple_logo.jpg]]<br />
<br />
The [https://github.com/pothosware/homebrew-pothos/wiki pothosware homebrew tap] has a build recipe for LimeSuite.<br />
Also checkout the [https://github.com/dholm/homebrew-sdr dholm homebrew tap] for other SDR related software.<br />
To install LimeSuite:<br />
<br />
* install the [https://railsapps.github.io/xcode-command-line-tools.html Xcode Command Line Tools],<br />
* then install [http://brew.sh/ homebrew from http://brew.sh/],<br />
* and run the following commands:<br />
<br />
<pre><br />
brew tap pothosware/homebrew-pothos<br />
brew update<br />
brew install limesuite<br />
</pre><br />
<br />
== Building from source ==<br />
<br />
'''Note: either install Lime Suite via a package/installer or source code and do not do both!'''<br />
<br />
=== Get the dependencies ===<br />
<br />
[[File:git_logo.png]]<br />
<br />
Before building LimeSuite from source, several dependencies must be installed.<br />
However, the dependencies required change based on how much of the suite will be used.<br />
LimeSuite will automatically try and build all components that it can satisfy the dependencies for.<br />
The following table is a guide to the the requirements for various components. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Component<br />
! Dependencies<br />
! Notes<br />
|-<br />
| Build system<br />
| Git & CMake<br />
|<br />
|-<br />
| Core library<br />
| sqlite3<br />
| Has embedded copy for windows <br />
|-<br />
| LMS7 GUI<br />
| wx widgets & OpenGL<br />
| Has embedded GL for windows<br />
|-<br />
| LimeSDR<br />
| libusb 1.0/CyAPI<br />
| Use CyAPI for windows<br />
|-<br />
| NovenaRF7<br />
| i2c and spi dev<br />
| Linux only device<br />
|-<br />
| SoapyLMS7<br />
| SoapySDR<br />
| SDR app ecosystem support<br />
|}<br />
<br />
==== Ubuntu ====<br />
<br />
<pre><br />
#packages for soapysdr available at myriadrf PPA<br />
sudo add-apt-repository -y ppa:myriadrf/drivers<br />
sudo apt-get update<br />
<br />
#install core library and build dependencies<br />
sudo apt-get install git g++ cmake libsqlite3-dev<br />
<br />
#install hardware support dependencies<br />
sudo apt-get install libsoapysdr-dev libi2c-dev libusb-1.0-0-dev<br />
<br />
#install graphics dependencies<br />
sudo apt-get install libwxgtk3.0-dev freeglut3-dev<br />
</pre><br />
<br />
==== Other Linux distributions ====<br />
<br />
Ubuntu derivatives should be able to use the same instructions above.<br />
<br />
Other distributions, e.g. RPM-based, will not be able use the myriadrf/drivers PPA, and O/S packaged dependencies may be different versions and use slightly different naming. <br />
However, it should be possible to use the above as a guide and it is likely that, at the most, SoapySDR would have to be built from [https://github.com/pothosware/SoapySDR source]. <br />
<br />
==== Windows ====<br />
<br />
Users building LimeSuite on windows will need a recent visual studio compiler, preferable 2015.<br />
Other dependencies can be obtained from the following download links:<br />
<br />
* Git for windows - https://git-for-windows.github.io/<br />
* CMake - https://cmake.org/download/<br />
* wxWidgets - https://www.wxwidgets.org/downloads/<br />
* CyUSB - http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit<br />
** It may be easier to download "cy_ssusbsuite_*.zip" rather than the full SDK<br />
<br />
=== Building LimeSuite ===<br />
<br />
[[File:Build_logo.png]]<br />
<br />
==== Unix makefiles ====<br />
<br />
The following commands will clone the LimeSuite repository, configure the project using CMake, build the project, and install it. <br />
The output of the cmake command will show enabled and disabled components. Pay careful attention to this before building with make.<br />
<br />
<pre><br />
git clone https://github.com/myriadrf/LimeSuite.git<br />
cd LimeSuite<br />
git checkout stable<br />
mkdir builddir && cd builddir<br />
cmake ../<br />
make -j4<br />
sudo make install<br />
sudo ldconfig<br />
</pre><br />
<br />
'''Linux-only''' post install step: Install the udev rules to<br />
enable non-root users to access usb-based devices like the LimeSDR:<br />
<br />
<pre><br />
cd LimeSuite/udev-rules<br />
sudo ./install.sh<br />
</pre><br />
<br />
==== Visual Studio ====<br />
<br />
[[File:Visual_studio_logo.png]]<br />
<br />
After installing the dependencies, open a cmd prompt and run the following command to clone the repository:<br />
<br />
<pre><br />
git clone https://github.com/myriadrf/LimeSuite.git<br />
</pre><br />
<br />
Complete '''command line example''' with cmake for MSVC 2015 64-bit (your dependency directories may vary):<br />
<pre><br />
cd LimeSuite<br />
git checkout stable<br />
mkdir builddir<br />
cd builddir<br />
<br />
cmake ../ -G "Visual Studio 14 2015 Win64" ^<br />
-DWX_ROOT_DIR=C:/wxWidgets-3.1.0 ^<br />
-DwxWidgets_ROOT_DIR=C:/wxWidgets-3.1.0 ^<br />
-DwxWidgets_LIB_DIR=C:/wxWidgets-3.1.0/lib/vc140_x64_lib ^<br />
-DFX3_SDK_PATH="C:/EZ-USB FX3 SDK/1.3" ^<br />
-DSoapySDR_DIR=C:/PothosSDR<br />
<br />
cmake --build . --config Release<br />
<br />
#installs files to CMAKE_INSTALL_PREFIX<br />
cmake --build . --config Release --target install<br />
</pre><br />
<br />
'''Or use cmake-gui''' to configure and generate the visual studio project solution.<br />
After generating, open the Visual Studio solution file and run the build target.<br />
<br />
[[File:lime_suite_windows_cmake_gui.png]]<br />
<br />
== Hardware notes ==<br />
<br />
=== LimeSDR-USB ===<br />
<br />
The following post-install tasks are designed to get users up and running with the LimeSDR USB 3.0 device.<br />
Lets check that any necessary drivers are installed and that the LimeSuite utilities can find the LimeSDR attached to your system.<br />
We will also cover using the LMS7 GUI to update the firmware and FPGA images stored in the board's flash memory.<br />
<br />
[[File:limesdr-8_jpg_project-body_cropped.jpg]]<br />
<br />
==== USB driver ====<br />
<br />
'''Windows only''', OSX and Linux users do not need to install drivers for USB support.<br />
Download the [https://github.com/myriadrf/Windows-drivers/archive/master.zip LimeSDR USB driver] and unzip the package.<br />
LimeSDR should appear as an unrecognised device in the device manager.<br />
Use the device properties dialogue to specify the path to the LimeSDR USB drivers directory.<br />
Once the proper directory is specified, the driver installation should complete successfully.<br />
<br />
[[File:limesdr_windows_driver_install.png]]<br />
<br />
==== Device enumeration ====<br />
<br />
Open the '''lms7suite GUI''' and check for the LimeSDR in the '''connection settings dialogue''':<br />
<br />
[[File:lms7gui_connection_settings.png]]<br />
<br />
From the '''command line run LimeUtil''' to get a list of available devices:<br />
<pre><br />
#make sure that STREAM is one of the available connections<br />
LimeUtil --info<br />
<br />
#now run LimeUtil with --find to locate devices on the system<br />
LimeUtil --find<br />
<br />
#Example print output from LimeUtil<br />
* [module=STREAM, media=USB, name=USB 3.0 (LimeSDR-USB), addr=241:1204]<br />
</pre><br />
<br />
Similarly, when working with '''SDR ecosystem applications''',<br />
its also good to verify that the LimeSDR can be found by '''SoapySDRUtil''':<br />
<br />
<pre><br />
#make sure that lime is one of the available factories <br />
SoapySDRUtil --info<br />
<br />
#now run SoapySDRUtil with --find to locate devices on the system<br />
SoapySDRUtil --find="driver=lime"<br />
<br />
#Example print output from LimeUtil<br />
Found device 0<br />
addr = 241:1204<br />
driver = lime<br />
media = USB<br />
module = STREAM<br />
name = USB 3.0 (LimeSDR-USB)<br />
</pre><br />
<br />
==== Flashing images ====<br />
<br />
You may need to update the FX3 firmware or FPGA bitstream stored in the flash memory of the LimeSDR.<br />
Using the programming dialogue, LimeSuiteGUI can automatically download and flash the correct images on the LimeSDR.<br />
<br />
[[File:lms7gui_program_flash_automatic.png]]<br />
<br />
* Users may also obtain the image binaries manually by visiting [http://downloads.myriadrf.org/project/limesuite/ downloads.myriadrf.org]<br />
<br />
{{Community}}</div>AndrewBackhttps://wiki.myriadrf.org/index.php?title=Lime_Suite&diff=1946Lime Suite2019-01-02T14:10:24Z<p>AndrewBack: /* Visual Studio */</p>
<hr />
<div>Lime Suite is a collection of software supporting several hardware platforms including the LimeSDR, drivers for the LMS7002M transceiver RFIC, and other tools for developing with LMS7-based hardware.<br />
Installing the Lime Suite enables many SDR applications such as GQRX to work with supported hardware through the bundled SoapySDR support module.<br />
<br />
This wiki page will guide users through available binary packages, obtaining dependencies, compiling the suite, basic testing with hardware, and upgrading firmware.<br />
<br />
'''Please note that you should either install Lime Suite via a pre-built package/installer (2) ''or'' build it from source (3) and not do both.'''<br />
<br />
[[File:lime_suite_comps.png|700px]]<br />
<br />
* Interested in software or hardware development? Learn more about the [https://myriadrf.org/blog/limesuite-driver-architecture/ Lime Suite driver architecture].<br />
<br />
== Supported hardware ==<br />
<br />
* [[LimeSDR]]<br />
* [[STREAM]] with LMS7002M UNITE (EVB7)<br />
* LMS7002M UNITE (EVB7) through COM port<br />
* [http://www.kosagi.com/w/index.php?title=Novena_Main_Page Novena Laptop] with LMS7 RF board<br />
<br />
== Installers and packages ==<br />
<br />
We have support for a select number of platforms and package managers.<br />
If your platform isn't supported, follow the next sections for getting the dependencies and building LimeSuite.<br />
<br />
'''Note: either install Lime Suite via a package/installer or source code and do not do both!'''<br />
<br />
=== Ubuntu PPA ===<br />
<br />
[[File:ubuntu_logo.png]]<br />
<br />
The drivers PPA for Ubuntu has a recent build of LimeSuite:<br />
<br />
<pre><br />
sudo add-apt-repository -y ppa:myriadrf/drivers<br />
sudo apt-get update<br />
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images<br />
sudo apt-get install soapysdr-tools soapysdr-module-lms7<br />
<br />
#soapysdr-tools use to be called just soapysdr on older packages<br />
sudo apt-get install soapysdr soapysdr-module-lms7<br />
</pre><br />
<br />
=== Windows ===<br />
<br />
[[File:windows_logo.png]]<br />
<br />
LimeSuite is bundled with the [https://github.com/pothosware/PothosSDR/wiki PothoSDR development environment] to use supported hardware in an ecosystem of SDR applications like GQRX, Pothos, CubicSDR, and GNU Radio.<br />
<br />
=== OSX homebrew ===<br />
<br />
[[File:apple_logo.jpg]]<br />
<br />
The [https://github.com/pothosware/homebrew-pothos/wiki pothosware homebrew tap] has a build recipe for LimeSuite.<br />
Also checkout the [https://github.com/dholm/homebrew-sdr dholm homebrew tap] for other SDR related software.<br />
To install LimeSuite:<br />
<br />
* install the [https://railsapps.github.io/xcode-command-line-tools.html Xcode Command Line Tools],<br />
* then install [http://brew.sh/ homebrew from http://brew.sh/],<br />
* and run the following commands:<br />
<br />
<pre><br />
brew tap pothosware/homebrew-pothos<br />
brew update<br />
brew install limesuite<br />
</pre><br />
<br />
== Building from source ==<br />
<br />
'''Note: either install Lime Suite via a package/installer or source code and do not do both!'''<br />
<br />
=== Get the dependencies ===<br />
<br />
[[File:git_logo.png]]<br />
<br />
Before building LimeSuite from source, several dependencies must be installed.<br />
However, the dependencies required change based on how much of the suite will be used.<br />
LimeSuite will automatically try and build all components that it can satisfy the dependencies for.<br />
The following table is a guide to the the requirements for various components. <br />
<br />
{| class="wikitable"<br />
|-<br />
! Component<br />
! Dependencies<br />
! Notes<br />
|-<br />
| Build system<br />
| Git & CMake<br />
|<br />
|-<br />
| Core library<br />
| sqlite3<br />
| Has embedded copy for windows <br />
|-<br />
| LMS7 GUI<br />
| wx widgets & OpenGL<br />
| Has embedded GL for windows<br />
|-<br />
| LimeSDR<br />
| libusb 1.0/CyAPI<br />
| Use CyAPI for windows<br />
|-<br />
| NovenaRF7<br />
| i2c and spi dev<br />
| Linux only device<br />
|-<br />
| SoapyLMS7<br />
| SoapySDR<br />
| SDR app ecosystem support<br />
|}<br />
<br />
==== Ubuntu ====<br />
<br />
<pre><br />
#packages for soapysdr available at myriadrf PPA<br />
sudo add-apt-repository -y ppa:myriadrf/drivers<br />
sudo apt-get update<br />
<br />
#install core library and build dependencies<br />
sudo apt-get install git g++ cmake libsqlite3-dev<br />
<br />
#install hardware support dependencies<br />
sudo apt-get install libsoapysdr-dev libi2c-dev libusb-1.0-0-dev<br />
<br />
#install graphics dependencies<br />
sudo apt-get install libwxgtk3.0-dev freeglut3-dev<br />
</pre><br />
<br />
==== Other Linux distributions ====<br />
<br />
Ubuntu derivatives should be able to use the same instructions above.<br />
<br />
Other distributions, e.g. RPM-based, will not be able use the myriadrf/drivers PPA, and O/S packaged dependencies may be different versions and use slightly different naming. <br />
However, it should be possible to use the above as a guide and it is likely that, at the most, SoapySDR would have to be built from [https://github.com/pothosware/SoapySDR source]. <br />
<br />
==== Windows ====<br />
<br />
Users building LimeSuite on windows will need a recent visual studio compiler, preferable 2015.<br />
Other dependencies can be obtained from the following download links:<br />
<br />
* Git for windows - https://git-for-windows.github.io/<br />
* CMake - https://cmake.org/download/<br />
* wxWidgets - https://www.wxwidgets.org/downloads/<br />
* CyUSB - http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit<br />
** It may be easier to download "cy_ssusbsuite_*.zip" rather than the full SDK<br />
<br />
=== Building LimeSuite ===<br />
<br />
[[File:Build_logo.png]]<br />
<br />
==== Unix makefiles ====<br />
<br />
The following commands will clone the LimeSuite repository, configure the project using CMake, build the project, and install it. <br />
The output of the cmake command will show enabled and disabled components. Pay careful attention to this before building with make.<br />
<br />
<pre><br />
git clone https://github.com/myriadrf/LimeSuite.git<br />
cd LimeSuite<br />
git checkout stable<br />
mkdir builddir && cd builddir<br />
cmake ../<br />
make -j4<br />
sudo make install<br />
sudo ldconfig<br />
</pre><br />
<br />
'''Linux-only''' post install step: Install the udev rules to<br />
enable non-root users to access usb-based devices like the LimeSDR:<br />
<br />
<pre><br />
cd LimeSuite/udev-rules<br />
sudo ./install.sh<br />
</pre><br />
<br />
==== Visual Studio ====<br />
<br />
[[File:Visual_studio_logo.png]]<br />
<br />
After installing the dependencies, open a cmd prompt and run the following command to clone the repository:<br />
<br />
<pre><br />
git clone https://github.com/myriadrf/LimeSuite.git<br />
</pre><br />
<br />
Complete '''command line example''' with cmake for MSVC 2015 64-bit (your dependency directories may vary):<br />
<pre><br />
cd LimeSuite<br />
git checkout stable<br />
mkdir builddir<br />
cd builddir<br />
<br />
cmake ../ -G "Visual Studio 14 2015 Win64" ^<br />
-DWX_ROOT_DIR=C:/wxWidgets-3.1.0 ^<br />
-DwxWidgets_ROOT_DIR=C:/wxWidgets-3.1.0 ^<br />
-DwxWidgets_LIB_DIR=C:/wxWidgets-3.1.0/lib/vc140_x64_lib ^<br />
-DFX3_SDK_PATH="C:/EZ-USB FX3 SDK/1.3" ^<br />
-DSoapySDR_DIR=C:/PothosSDR<br />
<br />
cmake --build . --config Release<br />
<br />
#installs files to CMAKE_INSTALL_PREFIX<br />
cmake --build . --config Release --target install<br />
</pre><br />
<br />
'''Or use cmake-gui''' to configure and generate the visual studio project solution.<br />
After generating, open the Visual Studio solution file and run the build target.<br />
<br />
[[File:lime_suite_windows_cmake_gui.png]]<br />
<br />
== Hardware notes ==<br />
<br />
=== LimeSDR-USB ===<br />
<br />
The following post-install tasks are designed to get users up and running with the LimeSDR USB 3.0 device.<br />
Lets check that any necessary drivers are installed and that the LimeSuite utilities can find the LimeSDR attached to your system.<br />
We will also cover using the LMS7 GUI to update the firmware and FPGA images stored in the board's flash memory.<br />
<br />
[[File:limesdr-8_jpg_project-body_cropped.jpg]]<br />
<br />
==== USB driver ====<br />
<br />
'''Windows only''', OSX and Linux users do not need to install drivers for USB support.<br />
Download the [https://github.com/myriadrf/Windows-drivers/archive/master.zip LimeSDR USB driver] and unzip the package.<br />
LimeSDR should appear as an unrecognised device in the device manager.<br />
Use the device properties dialogue to specify the path to the LimeSDR USB drivers directory.<br />
Once the proper directory is specified, the driver installation should complete successfully.<br />
<br />
[[File:limesdr_windows_driver_install.png]]<br />
<br />
==== Device enumeration ====<br />
<br />
Open the '''lms7suite GUI''' and check for the LimeSDR in the '''connection settings dialogue''':<br />
<br />
[[File:lms7gui_connection_settings.png]]<br />
<br />
From the '''command line run LimeUtil''' to get a list of available devices:<br />
<pre><br />
#make sure that STREAM is one of the available connections<br />
LimeUtil --info<br />
<br />
#now run LimeUtil with --find to locate devices on the system<br />
LimeUtil --find<br />
<br />
#Example print output from LimeUtil<br />
* [module=STREAM, media=USB, name=USB 3.0 (LimeSDR-USB), addr=241:1204]<br />
</pre><br />
<br />
Similarly, when working with '''SDR ecosystem applications''',<br />
its also good to verify that the LimeSDR can be found by '''SoapySDRUtil''':<br />
<br />
<pre><br />
#make sure that lime is one of the available factories <br />
SoapySDRUtil --info<br />
<br />
#now run SoapySDRUtil with --find to locate devices on the system<br />
SoapySDRUtil --find="driver=lime"<br />
<br />
#Example print output from LimeUtil<br />
Found device 0<br />
addr = 241:1204<br />
driver = lime<br />
media = USB<br />
module = STREAM<br />
name = USB 3.0 (LimeSDR-USB)<br />
</pre><br />
<br />
==== Flashing images ====<br />
<br />
You may need to update the FX3 firmware or FPGA bitstream stored in the flash memory of the LimeSDR.<br />
Using the programming dialogue, LimeSuiteGUI can automatically download and flash the correct images on the LimeSDR.<br />
<br />
[[File:lms7gui_program_flash_automatic.png]]<br />
<br />
* Users may also obtain the image binaries manually by visiting [http://downloads.myriadrf.org/project/limesuite/ downloads.myriadrf.org]<br />
<br />
{{Community}}</div>AndrewBack