mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-22 17:45:48 -05:00
File source: added documentation. Bumped version
This commit is contained in:
parent
4032d62b3d
commit
ef1e9c2b25
@ -263,7 +263,7 @@ This is the `demoddsd` plugin. At present it can be used to decode the following
|
||||
|
||||
It is based on the [DSDcc](https://github.com/f4exb/dsdcc) C++ library which is a rewrite of the original [DSD](https://github.com/szechyjs/dsd) program. So you will need to have DSDcc installed in your system. Please follow instructions in [DSDcc readme](https://github.com/f4exb/dsdcc/blob/master/Readme.md) to build and install DSDcc. If you install it in a custom location say `/opt/install/dsdcc` you will need to add these defines to the cmake command: `-DLIBDSDCC_INCLUDE_DIR=/opt/install/dsdcc/include/dsdcc -DLIBDSDCC_LIBRARIES=/opt/install/dsdcc/lib/libdsdcc.so`
|
||||
|
||||
If you have one or more serial devices interfacing the AMBE3000 chip in packet mode you can use them to decode AMBE voice frames. For that purpose you will need to compile with [SerialDV](https://github.com/f4exb/serialDV) support. Please refer to this project Readme.md to compile and install SerialDV. If you install it in a custom location say `/opt/install/serialdv` you will need to add these defines to the cmake command: `-DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib/libserialdv.so` Also your user must be a member of group `dialout` to be able to use the dongle.
|
||||
If you have one or more serial devices interfacing the AMBE3000 chip in packet mode you can use them to decode AMBE voice frames. For that purpose you will need to compile with [SerialDV](https://github.com/f4exb/serialDV) support. Please refer to this project Readme.md to compile and install SerialDV. If you install it in a custom location say `/opt/install/serialdv` you will need to add these defines to the cmake command: `-DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib/libserialdv.so` Also your user must be a member of group `dialout` (Ubuntu/Debian) or `uucp` (Arch) to be able to use the dongle.
|
||||
|
||||
Although such serial devices work with a serial interface at 400 kb in practice maybe for other reasons they are capable of handling only one conversation at a time. The software will allocate the device dynamically to a conversation with an inactivity timeout of 1 second so that conversations do not get interrupted constantly making the audio output too choppy. In practice you will have to have as many devices connected to your system as the number of conversations you would like to be handled in parallel.
|
||||
|
||||
|
@ -35,7 +35,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
*/
|
||||
QCoreApplication::setOrganizationName("f4exb");
|
||||
QCoreApplication::setApplicationName("SDRangel");
|
||||
QCoreApplication::setApplicationVersion("4.2.0");
|
||||
QCoreApplication::setApplicationVersion("4.2.1");
|
||||
|
||||
#if 1
|
||||
qApp->setStyle(QStyleFactory::create("fusion"));
|
||||
|
@ -57,7 +57,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
|
||||
QCoreApplication::setOrganizationName("f4exb");
|
||||
QCoreApplication::setApplicationName("SDRangelBench");
|
||||
QCoreApplication::setApplicationVersion("4.2.0");
|
||||
QCoreApplication::setApplicationVersion("4.2.1");
|
||||
|
||||
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
|
||||
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));
|
||||
|
@ -56,7 +56,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
|
||||
QCoreApplication::setOrganizationName("f4exb");
|
||||
QCoreApplication::setApplicationName("SDRangelSrv");
|
||||
QCoreApplication::setApplicationVersion("4.2.0");
|
||||
QCoreApplication::setApplicationVersion("4.2.1");
|
||||
|
||||
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
|
||||
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));
|
||||
|
4
debian/changelog
vendored
4
debian/changelog
vendored
@ -1,9 +1,9 @@
|
||||
sdrangel (4.2.1-1) unstable; urgency=medium
|
||||
|
||||
* FileRecord improvement with robust header and some fixes. Fixes issue #206
|
||||
* BladeRF2 MO Tx fix so that the two channels are used effectively
|
||||
* BladeRF2 MO Tx fix so that the two channels are used effectively. Fixes issue #225
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 14 Oct 2018 21:14:18 +0200
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 10 Oct 2018 21:14:18 +0200
|
||||
|
||||
sdrangel (4.2.0-1) unstable; urgency=medium
|
||||
|
||||
|
BIN
doc/img/FileSource_plugin.png
Normal file
BIN
doc/img/FileSource_plugin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
BIN
doc/img/FileSource_plugin.xcf
Normal file
BIN
doc/img/FileSource_plugin.xcf
Normal file
Binary file not shown.
@ -30,7 +30,7 @@
|
||||
|
||||
const PluginDescriptor BladeRF2OutputPlugin::m_pluginDescriptor = {
|
||||
QString("BladeRF2 Output"),
|
||||
QString("4.2.0"),
|
||||
QString("4.2.1"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
const PluginDescriptor Blderf2InputPlugin::m_pluginDescriptor = {
|
||||
QString("BladeRF2 Input"),
|
||||
QString("4.2.0"),
|
||||
QString("4.2.1"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
const PluginDescriptor FileSourcePlugin::m_pluginDescriptor = {
|
||||
QString("File source input"),
|
||||
QString("3.14.5"),
|
||||
QString("4.2.1"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
106
plugins/samplesource/filesource/readme.md
Normal file
106
plugins/samplesource/filesource/readme.md
Normal file
@ -0,0 +1,106 @@
|
||||
<h1>File source input plugin</h1>
|
||||
|
||||
<h2>Introduction</h2>
|
||||
|
||||
This plugin reads a file of I/Q samples that have been previously saved with the file record button of other sampling source devices. The file starts with a 32 byte header of all unsigned integer of various sizes containing meta data:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Displ.</th>
|
||||
<th>Bytes</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>4</td>
|
||||
<td>Sample rate in S/s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>8</td>
|
||||
<td>Center frequency in Hz</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td>8</td>
|
||||
<td>Unix epoch (timestamp) of start</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>Sample size (16 or 24 bits)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>24</td>
|
||||
<td>4</td>
|
||||
<td>Filler with zeroes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>28</td>
|
||||
<td>4</td>
|
||||
<td>CRC32 of the previous 28 bytes</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
The header takes an integer number of 16 (4 bytes) or 24 (8 bytes) bits samples. To calculate CRC it is assumed that bytes are in little endian order.
|
||||
|
||||
<h2>Interface</h2>
|
||||
|
||||
![FileSource input plugin GUI](../../../doc/img/FileSource_plugin.png)
|
||||
|
||||
<h3>1: Start/Stop</h3>
|
||||
|
||||
Device start / stop button.
|
||||
|
||||
- Blue triangle icon: ready to be started
|
||||
- Green square icon: currently running and can be stopped
|
||||
- Magenta (or pink) square icon: an error occurred. The file may not be found or this can be a header CRC error or the file is too small (less than the header length). You may stop and choose another file.
|
||||
|
||||
<h3>2: Stream sample rate</h3>
|
||||
|
||||
Baseband I/Q sample rate in kS/s. This is the sample rate present in the header.
|
||||
|
||||
<h3>3: Frequency</h3>
|
||||
|
||||
This is the center frequency of reception in kHz when the record was taken and written in the header.
|
||||
|
||||
<h3>4: Open file</h3>
|
||||
|
||||
Opens a file dialog to select the input file. It expects a default extension of `.sdriq`. This button is disabled when the stream is running. You need to pause (button 11) to make it active and thus be able to select another file.
|
||||
|
||||
<h3>5: File path</h3>
|
||||
|
||||
Absolute path of the file being read
|
||||
|
||||
<h3>6: File recorded sample rate</h3>
|
||||
|
||||
Sample rate of the record in kS/s as written in the header. The reading process is based on this sample rate.
|
||||
|
||||
<h3>7: Sample size</h3>
|
||||
|
||||
This is the sample size in bits as written in the header. The reading process is based on this sample size.
|
||||
|
||||
<h3>8: CRC indicator</h3>
|
||||
|
||||
Indicates if the header block CRC check has succeeded (green) or failed (red) or undetermined yet (grey). If the header is corrupted you may try to reconstruct a valid header using the `rescuesdriq` utility in the folder with the same name. See the [readme](../../../rescuesdriq/readme.md) for details.
|
||||
|
||||
<h3>9: Current timestamp</h3>
|
||||
|
||||
This is the timestamp of the current pointer in the file based on the start time, number of samples read and sample rate.
|
||||
|
||||
<h3>10: Loop</h3>
|
||||
|
||||
Use this button to read in a loop or read only once
|
||||
|
||||
<h3>11: Play/pause</h3>
|
||||
|
||||
This is the play/pause button
|
||||
|
||||
<h3>12: Relative timestamp and record length</h3>
|
||||
|
||||
Left is the relative timestamp of the current pointer from the start of the record. Right is the total record time.
|
||||
|
||||
<h3>13: Current pointer gauge</h3>
|
||||
|
||||
This represents the position of the current pointer position in the complete recording. It can be used it paused mode to position the current pointer by moving the slider.
|
||||
|
Loading…
Reference in New Issue
Block a user