Tx ph.1: changed main menu Acquisition item to Devices item. Updated various readmes

pull/27/head
f4exb 2016-10-25 04:05:23 +02:00
rodzic 0fc6d95357
commit 237703eb14
3 zmienionych plików z 68 dodań i 73 usunięć

Wyświetl plik

@ -23,15 +23,17 @@ These plugins come from the parent code base and have been maintained so that th
<h1>Supported hardware</h1>
<h2>Multiple device support</h2>
<h2>General</h2>
<h3>Multiple device support</h3>
From version 2 SDRangel can integrate more than one hardware device running concurrently.
<h2>Transmission support</h2>
<h3>Transmission support</h3>
Transmission or signal generation support for eligible devices (BladeRF and HackRF) will be progressively introduced with the following roadmap:
Transmission or signal generation support for eligible devices (BladeRF and HackRF) is progressively introduced with the following roadmap:
- Phase 1: version 2.2.0: generation to file (File Sink) with AM modulator with simple sine modulation. Fixed sample rate of 48 kS/s (no interpolation)
- Phase 1: version 2.2.0: generation to file (File Sink) with AM modulator with simple sine modulation. Fixed sample rate of 48 kS/s (no effective interpolation)
- Phase 2: version 2.2.x: full baseband interpolation chain: in AM modulator and Up Channelizer.
- Phase 3: version 2.3.0: FM and SSB modulators with audio file input
- Phase 4: version 2.3.x: Audio (Mic) input support
@ -83,14 +85,22 @@ If you use your own location for librtlsdr install directory you need to specify
`-DLIBRTLSDR_LIBRARIES=/opt/install/librtlsdr/lib/librtlsdr.so -DLIBRTLSDR_INCLUDE_DIR=/opt/install/librtlsdr/include`
<h1>Plugins for special sample sources</h1>
<h1>Plugins for special devices</h1>
<h2>File input</h2>
The file input plugin allows the playback of a recorded IQ file. Such a file is obtained using the recording feature. Press F7 to start recording and F8 to stop. The file has a fixed name `test.sdriq` created in the current directory.
The file source plugin allows the playback of a recorded IQ file. Such a file is obtained using the recording feature. Press F7 to start recording and F8 to stop. The file has a fixed name `test.sdriq` created in the current directory.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is alwasys available in the list of devices as `FileSource[0]` even if no physical device is connected.
The `.sdriq` format produced are the 2x2 bytes I/Q samples with a header containing the center frequency of the baseband, the sample rate and the timestamp of the recording start. Note that this header length is a multiple of the sample size so the file can be read with a simple 2x2 bytes I/Q reader such as a GNU Radio file source block with a glitch at the beginning corresponding to the header data.
<h2>File output</h2>
The file sink plugin allows the recording of the I/Q baseband signal produced by a transmission chain to a file in the `.sdriq` format thus readable by the file source plugin described just above.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is alwasys available in the list of devices as `FileSink[0]` even if no physical device is connected.
<h2>SDRdaemon input</h2>
This is the client side of the SDRdaemon server. See the [SDRdaemon](https://github.com/f4exb/sdrdaemon) project in this Github repository. You must specify the address and UDP port to which the server connects and samples will flow into the SDRangel application (default is `127.0.0.1`port `9090`). It uses the meta data to retrieve the sample flow characteristics such as sample rate and receiveng center frequency.

Wyświetl plik

@ -44,6 +44,12 @@ At present the following plugins are available:
- `SDRDaemonFECXxx` classes in `plugins/samplesource/sdrdaemonfec`: Special inteface collecting I/Q samples from an UDP flow sent by a remote device using [SDRdaemon](https://github.com/f4exb/sdrdaemon) with FEC protection of blocks.
- `FileSource` classes in `plugins/samplesource/filesource`: Special inteface reading I/Q samples from a file directly into the baseband skipping the downsampling block
<h3>Device sample sink plugins</h3>
At present the following plugins are available:
- `FileSink` classes in `plugins/samplesink/filesink`: Special inteface writing baseband I/Q samples to a file skipping the final upsampling block
<h3>Channel receiver (Rx) plugins</h3>
At present the following plugins are available:
@ -59,6 +65,12 @@ At present the following plugins are available:
- `TCPSrcXxx` classes in `plugins/channelrx/tcpsrc`: Sends channel I/Q samples via TCP
- `UDPSrcXxx` classes in `plugins/channelrx/udpsrc`: Sends channel I/Q or FM demodulated samples via UDP
<h3>Channel transmitter (Tx) plugins</h3>
At present the following plugins are available:
- `AMMmodXxx` classes in `plugins/channeltx/modam`: AM modulator with simple sine
<h2>Source tree structure</h2>
At the first subdirectory level `indclude` and `sdrbase` contain the common core components include and source files respectively. They are further broken down in subdirectories corresponding to a specific area:
@ -70,7 +82,7 @@ At the first subdirectory level `indclude` and `sdrbase` contain the common core
- `settings` contains components to manage presets and preferences
- `util` contains common utilities such as the message queue
The `plugins` subdirectory contains the associated plugins used to manage devices and channel components. Naming convention of various items depend on the usage and Rx (reception side) or Tx (transmission side) affinity. Transmission side is yet to be created.
The `plugins` subdirectory contains the associated plugins used to manage devices and channel components. Naming convention of various items depend on the usage and Rx (reception side) or Tx (transmission side) affinity. Transmission side is a work in progress.
- Receiver functions (Rx):
- `samplesource`: Device managers:
@ -81,11 +93,11 @@ The `plugins` subdirectory contains the associated plugins used to manage device
- `xxxsettings.h/cpp` : Configuration manager
- `xxxthread.h/cpp` : Reading samples
- `xxx.pro` : Qt .pro file for Windows/Android build
- `channel`: Channel handlers:
- `channelrx`: Channel handlers:
- `demodxxx` : Demodulator internal handler (e.g xxx = demodam)
- `xxxdemod.h/cpp` : Demodulator core
- `xxxdemodgui.h/cpp` : Demodulator GUI
- `xxxplugin.h/cpp` : Plugin interface
- `xxxdemodplugin.h/cpp` : Plugin interface
- `demodxxx.pro` : Qt .pro file for Windows/Android build
- `xxxanalyzer` : Analyzer internal handler (e.g xxx = channel)
- `xxxanalyzer.h/cpp` : Analyzer core
@ -97,3 +109,30 @@ The `plugins` subdirectory contains the associated plugins used to manage device
- `xxxsrcgui.h/cpp` : Interface GUI
- `xxxsrcplugin/h/cpp` : Interface plugin manager
- `xxxsrc.pro` : Qt .pro file for Windows/Android build
- Transmitter functions (Tx):
- `samplesink`: Device managers:
- `xxx` : Device manager (e.g. xxx = bladerf)
- `xxxsinkoutput.h/cpp` : Device interface
- `xxxsinkgui.h/cpp` : GUI
- `xxxsinkplugin.h/cpp` : Plugin interface
- `xxxsinksettings.h/cpp` : Configuration manager
- `xxxsinkthread.h/cpp` : Writing samples
- `xxxsink.pro` : Qt .pro file for Windows/Android build
- `channeltx`: Channel handlers:
- `modxxx` : Modulator internal handler (e.g xxx = modam)
- `xxxmod.h/cpp` : Modulator core
- `xxxmodgui.h/cpp` : Modulator GUI
- `xxxmodplugin.h/cpp` : Plugin interface
- `modxxx.pro` : Qt .pro file for Windows/Android build
- `xxxgenerator` : Generator internal handler (e.g xxx = channel)
- `xxxgenerator.h/cpp` : Generator core
- `xxxgeneratorgui.h/cpp` : Generator GUI
- `xxxgeneratorplugin.h/cpp` : Generator plugin manager
- `xxxgenerator.pro` : Qt .pro file for Windows/Android build
- `xxxsink` : Interface to the outside (e.g xxx = udp):
- `xxxsink.h/cpp` : Inteface core
- `xxxsinkgui.h/cpp` : Interface GUI
- `xxxsinklugin/h/cpp` : Interface plugin manager
- `xxxsink.pro` : Qt .pro file for Windows/Android build

Wyświetl plik

@ -33,16 +33,7 @@
</font>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>0</number>
</property>
<item>
@ -75,7 +66,7 @@
<x>0</x>
<y>0</y>
<width>1012</width>
<height>21</height>
<height>19</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
@ -90,7 +81,7 @@
</property>
<addaction name="action_Exit"/>
</widget>
<widget class="QMenu" name="menu_Acquisition">
<widget class="QMenu" name="menu_Devices">
<property name="font">
<font>
<family>Sans Serif</family>
@ -98,7 +89,7 @@
</font>
</property>
<property name="title">
<string>&amp;Acquisition</string>
<string>&amp;Devices</string>
</property>
<addaction name="action_addSourceDevice"/>
<addaction name="action_addSinkDevice"/>
@ -151,7 +142,7 @@
</widget>
<addaction name="menu_File"/>
<addaction name="menu_View"/>
<addaction name="menu_Acquisition"/>
<addaction name="menu_Devices"/>
<addaction name="menu_Window"/>
<addaction name="menuPreferences"/>
<addaction name="menu_Help"/>
@ -173,16 +164,7 @@
</attribute>
<widget class="QWidget" name="dockWidgetContents">
<layout class="QGridLayout" name="gridLayout_6">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>2</number>
</property>
<property name="spacing">
@ -410,16 +392,7 @@
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>2</number>
</property>
<item>
@ -450,16 +423,7 @@
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>2</number>
</property>
<item>
@ -496,16 +460,7 @@
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>2</number>
</property>
<item>
@ -533,16 +488,7 @@
<property name="spacing">
<number>3</number>
</property>
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<property name="margin">
<number>2</number>
</property>
<item>