From 58ee0951949f7b54cefe3dc1a40d4e3fc76b4a99 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 9 Jun 2019 19:51:59 +0200 Subject: [PATCH] KiwiSDR: updated documentation and Qt5 websockets dependencies where missing. Updated version and changelogs --- .appveyor.yml | 2 +- .travis.yml | 1 + CHANGELOG | 6 ++- CMakeLists.txt | 4 +- Readme.md | 4 ++ debian/changelog | 6 ++- doc/img/KiwiSDRInput_plugin.png | Bin 0 -> 17368 bytes doc/img/KiwiSDRInput_plugin.xcf | Bin 0 -> 71488 bytes plugins/samplesource/kiwisdr/readme.md | 60 +++++++++++++++++++++++++ 9 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 doc/img/KiwiSDRInput_plugin.png create mode 100644 doc/img/KiwiSDRInput_plugin.xcf create mode 100644 plugins/samplesource/kiwisdr/readme.md diff --git a/.appveyor.yml b/.appveyor.yml index d090a3051..8de9a4877 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -59,7 +59,7 @@ for: - sh: | sudo apt-get -y install build-essential cmake git \ devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libqt5opengl5-dev \ - qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins \ + qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \ libusb-1.0-0-dev libboost-all-dev librtlsdr-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \ libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \ libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \ diff --git a/.travis.yml b/.travis.yml index bc7abec21..5748a018b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,6 +41,7 @@ addons: - qttools5-dev-tools - qtmultimedia5-dev - libqt5multimedia5-plugins + - libqt5websockets5-dev - libusb-1.0-0-dev - libboost-all-dev - librtlsdr-dev diff --git a/CHANGELOG b/CHANGELOG index 54101c163..a7cbd2ad3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,8 +1,10 @@ sdrangel (4.10.0-1) unstable; urgency=medium * Support for KiwiSDR + * SSB demod: reworked AGC to handle the threshold gate properly + * FreeDV demod: support interpolation as well as decimation from channel sample rate - -- Edouard Griffiths, F4EXB Sun, 09 Jun 2019 20:44:06 +0100 + -- Edouard Griffiths, F4EXB Sun, 09 Jun 2019 16:44:06 +0100 sdrangel (4.9.1-1) unstable; urgency=medium @@ -14,7 +16,7 @@ sdrangel (4.9.1-1) unstable; urgency=medium sdrangel (4.9.0-1) unstable; urgency=medium - * New build system + * New build system introduction * NFM demod: fixed low-pass audio filter -- Edouard Griffiths, F4EXB Sat, 01 Jun 2019 20:44:06 +0100 diff --git a/CMakeLists.txt b/CMakeLists.txt index 599d1a5b5..0f95f42b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,8 +17,8 @@ set(CMAKE_CXX_EXTENSIONS OFF) # configure version set(sdrangel_VERSION_MAJOR "4") -set(sdrangel_VERSION_MINOR "9") -set(sdrangel_VERSION_PATCH "1") +set(sdrangel_VERSION_MINOR "10") +set(sdrangel_VERSION_PATCH "0") set(sdrangel_VERSION_SUFFIX "") # SDRAngel cmake options diff --git a/Readme.md b/Readme.md index 15bec3301..eaf54e5e2 100644 --- a/Readme.md +++ b/Readme.md @@ -96,6 +96,10 @@ The [File sink plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/sample Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `FileSink[0]` even if no physical device is connected. +

KiwiSDR

+ +The [KiwiSDR plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesource/kiwisdr) is designed to enable connection to publicly available [KiwiSDR](http://kiwisdr.com/) receivers. +

Test source

The [Test source plugin](https://github.com/f4exb/sdrangel/tree/master/plugins/samplesource/testsource) is an internal continuous wave generator that can be used to carry out test of software internals. diff --git a/debian/changelog b/debian/changelog index 54101c163..a7cbd2ad3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,10 @@ sdrangel (4.10.0-1) unstable; urgency=medium * Support for KiwiSDR + * SSB demod: reworked AGC to handle the threshold gate properly + * FreeDV demod: support interpolation as well as decimation from channel sample rate - -- Edouard Griffiths, F4EXB Sun, 09 Jun 2019 20:44:06 +0100 + -- Edouard Griffiths, F4EXB Sun, 09 Jun 2019 16:44:06 +0100 sdrangel (4.9.1-1) unstable; urgency=medium @@ -14,7 +16,7 @@ sdrangel (4.9.1-1) unstable; urgency=medium sdrangel (4.9.0-1) unstable; urgency=medium - * New build system + * New build system introduction * NFM demod: fixed low-pass audio filter -- Edouard Griffiths, F4EXB Sat, 01 Jun 2019 20:44:06 +0100 diff --git a/doc/img/KiwiSDRInput_plugin.png b/doc/img/KiwiSDRInput_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..e19507a4cb701853cdb9ba4dbb617869b27d8647 GIT binary patch literal 17368 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 literal 0 HcmV?d00001 diff --git a/doc/img/KiwiSDRInput_plugin.xcf b/doc/img/KiwiSDRInput_plugin.xcf new file mode 100644 index 0000000000000000000000000000000000000000..66966e69276f7187b7d9f92815643d8999542e2c GIT binary patch literal 71488 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

}c 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∈5Tidw#F>MzfDhVO+A&0cXG!P7H1}%5cq`WcJjj4gHzsknab3x!@qUc z)R*(azFoKQJ-nwoM%P*TukR1NIhc=sG1IfRL%2Q6XF<4C z^8xIS(qelt)iEx90FQf8V4pa){~$hzHx6-J6B$d9e8=R7o{>qB#ym$!M4TzfWXyF; zir^EI5^-v3LPSDxQZmkYjhD-q9mNq;3r7M*4ed(}8OGYj42fZlgdqV!!@;1{sI&Po(@0 z%y#%|*(ORu6OQd2A;lsg`%GQA_(V%qAOcC{U9 z2cj7t8#z?X{?Sl`V00zcxbRZ98fPRVE*<+t9$qkN|HYMQy`31o^)C#{7}x})(_t+XSP zRVX&osQV7Y+szXT_M50mf(X&Q_#jnbdcbMOW9lRQo`cC4nj^B<%y;Kcy!OlC!zXKN z`0o~?^w(6{rE;=Ma3nh?%f+)G+-uP=f7i!Z={1{B^fy(*q;`|;thKO$<1*EP36CEC z^@TLrPAHlr-RRRFl(HeC7(J=68QP#Iol^L7aunb%gOb@3uk5VGEGF?Q!akDSJda?v0ZjU!ukAC{*n5?|JPLG~_Y(iG?+e5SLvo%HCcai?K_^%_k{(Sn>yVquB-u%s> zZ~l^*xvieQ7uYyXz2(Yt7?;_@#dJTiu^BxwPK{+nHIJ9LjWU;uE+QN!Ta0gQtQhrc0<3D<7`Js?aj_|WP9jqI&VM@O}(WO9Ui z9_IIUO~AaUJY_mjOrCDJQR)=SiBcy_PP-h(vQv-Yd_sfule&g)HxAA*BRl(++B=Gd-+20t>>zcj;B-dqm|ya2t1Xrx zwYSpD7%|c^(pxXr}DC z4b!J_>Mxeu<9FkDN>lwcc_;6~j1aH8KPyO`LUd$dOe6i-s-M4EnR!$FU8A#Sy#4d= z%v+o89W&&{QvyEGqD%^u6gR$)e@{R1Zf54vk7^qZJ~o`@%&PtMr$1Vh*-kB(5v5K8 zcPu?hoeF8aU2~wQx9j24gZ2N|y(dB|IdF9buz5J*dH@@8y?~AJbil?q8epq1t-AT< zRd^Yq1GWm&I^#M~7^(+0aD&!43-rLon4$pdP_w{>V(r#BnQe_BmLFh~i>+!Mu*rpQ zW`$eAHk56@P6okdu}#}%bMU4eX!GzUmz1x(1$aZzpmm}(kzG+s@Wu)&Ps0UoVA6vt zU=Pj(Z@P!cN_d0Eekb4dhgp9v*mpoinV6nCKqevz72)d?O5~sHci21vCUPkIbhQcv3X#VOSWp?hN7+C zx3R*W`!+Cr?AvsY*9C0KBya(nJWaH~CUdmF295`?fdgRE|LX=eP77?D8`wA(u*oq3 zHqHfXoD0|xYXz`ztpql%mB1#K^9yWTD}araX#v={)&d(&qO=m&SjpA^8|MNxZA=9= z&JApw8`wAvu<0MT_Y^oIj^6_+H7d@28L{p&PUXH;k5)K1&Gu3or3I!zTB6?9YD z+AZ!v?$K%DGPo?0wUe38!i-@dZW0U6BOm*YY99(Zt@8hS{OaiHSRaa}*Z!XF&UxJc zUa+lIL|3poa$co^$EMp%~JHiN1_dqAIqeg-vhhOQk!mxKC)Qb9vOlR&dUt3c~O z4}vy>sz7@{pM!n|HPKkDU34VQ=(iM<%VHdticr6vIPQ`$<#WrYFRfTGKYT>#k~vgTU9KurSix%z zR9vjoB{;z(QJ1;8>WMA?4BcJ?HmNJ#fK~o4&hV!zKz%_8N+CJl(0w&$=q`Y60^I_- z9dsAy9?<=uhd`B}$3ahno&&uIdIj`4Xa}eovkIfW8DB1RVk$0sRU( z4mu5L068!w4ipIL0O}0t0_qCtL1V=Vr&;ftKiwiSDR input plugin + +

Introduction

+ +This plugin is designed to enable connection to publicly available [KiwiSDR](http://kiwisdr.com/) receivers. A list of on-line receiver is available [here](https://sdr.hu/?q=kiwisdr) + +

Interface

+ +![KiwiSDR input plugin GUI](../../../doc/img/KiwiSDRInput_plugin.png) + +

1: Start/Stop

+ +This button is used to start the "device" i.e connect to the remote and start stream or stop the "device" i.e. stop stream and disconnect from the remote. The button shows the following faces: + + - Blue triangle icon: device is ready and can be started + - Green square icon: device is running and can be stopped + +

2: Record

+ +Record baseband I/Q stream toggle button + +

3: Frequency

+ +This is the center frequency of reception in kHz. + +

4: Stream sample rate

+ +This is the 12 kS/s fixed sample rate of the I/Q stream provided by the Kiwi. + +

5: Remote address and port

+ +This is the remote address and port of the remote KiwiSDR instance to which to connect. The address can be in the form of an URL or IPv4 address. This is the same address and port found in the servers list of [SDR.hu](https://sdr.hu/?q=kiwisdr) for example. Note that the `http://` prefix should be removed this should be only the address and port. + +Press button (7) to validate your change. + +

6: Status indicator

+ +This ball can take the following colors depending on the status: + + - **Gray**: Idle + - **Yellow**: Connecting + - **Green**: Connected + - **Red**: Error + - **Magenta**: Disconnected + +The connection can take several seconds (yellow status) please be patient. + +In case of untimely disconnection (magenta status) you can stop and start again with button (1) to attempt re-connection. + +

7: Set address

+ +When you change the address in (5) you have to push this button to validate the change. + +

8: Gain

+ +This is the RF gain control sent to the remote + +

9: AGC

+ +Use this button to switch on or off the AGC in the remote \ No newline at end of file