<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://napan.ca/ghpsdr3/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dl6kbg</id>
	<title>Ghpsdr3 SDR project - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://napan.ca/ghpsdr3/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dl6kbg"/>
	<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php/Special:Contributions/Dl6kbg"/>
	<updated>2026-04-08T23:43:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=592</id>
		<title>What&#039;s New</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=592"/>
		<updated>2012-09-25T09:10:40Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: /* Sep 17 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sep 24 2012===&lt;br /&gt;
Sep 24 2012 glSDR version 16 is in Play Store. You can also download here:&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR16.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
===Sep 22 2012===&lt;br /&gt;
Online dspserver Server Map Thanks Andrea!  http://www.montefusco.com/gmap/map.html&lt;br /&gt;
&lt;br /&gt;
===Sep 20 2012===&lt;br /&gt;
glSDR version 12 is in Play Store.  You can also download here:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR12.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
It has an 80khz FM filter for listening to FM broadcasts and also options for Spectrum Averaging.&lt;br /&gt;
&lt;br /&gt;
===Sep 17 2012===&lt;br /&gt;
Added direct support in QtRadio (linux) for the Griffin Powermate Vfo knob. Pushing the knob cycles through vfo step size.&lt;br /&gt;
&lt;br /&gt;
===Sep 15 2012===&lt;br /&gt;
&lt;br /&gt;
Codec2 has been updated to the latest developmental branch.  This branch can be downloaded:&lt;br /&gt;
&lt;br /&gt;
svn co https://freetel.svn.sourceforge.net/svnroot/freetel/codec2-dev codec2-dev&lt;br /&gt;
&lt;br /&gt;
This has a new API and it has updated codec2, including a new 3200 bps codec which gives better quality than the 2400 bps codec we have used in the past.&lt;br /&gt;
&lt;br /&gt;
Both master and opengl-qt5 branches have been updated with the new codec2.  You need to download the codec2-dev branch above, rebuild codec2, and then rebuild dspserver and QtRadio.&lt;br /&gt;
&lt;br /&gt;
===Sep 14 2012===&lt;br /&gt;
glSDR version 10 is in Play Store, For those without access to Play, you can download from:&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR10.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
===Sep 12 2012===&lt;br /&gt;
The zoom feature has been ported to glSDR.  Ver 9 is now in Play store.  For those without access to Play store, you can download the apk here:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR9.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
With the recent changes, high bandwidth rigs are now adequately supported by ghpsdr3-alex.  You can zoom in and out to spectrum/waterfall up to 960 ksps and beyond.&lt;br /&gt;
&lt;br /&gt;
Note that Glenn has also compiled a Windows binary of QtRadio that has the zoom feature and other updates to allow you to access rigs such as HiQSDR and Perseus. allowing you to set Pre-selector, attentuator etc.&lt;br /&gt;
&lt;br /&gt;
===Sep 10 2012===&lt;br /&gt;
The LO_offset mechanism has been revamped.  The rotation of the spectrum data is now done entirely in dspserver.  Therefore clients eg. QtRadio, glSDR, do not have to rotate the data anymore.&lt;br /&gt;
&lt;br /&gt;
This is needed to support the new zoom feature.  You can now zoom the spectrum/waterfall on the fly.  This feature is very useful for looking closely at a signal, eg 50Hz CW for you to tune spot on, and also for very wide bandwidth hardware such as Peuseus and HiQSDR.  We now have servers running 500 ksps or even 960 ksps.&lt;br /&gt;
&lt;br /&gt;
Checkout these videos:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=g3vbv.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=g3vbv2.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
It will take a while for all dspservers to be updated to the lastest code and you must use the latest QtRadio and glSDR (ver 8 or later) for the new LO_offset.&lt;br /&gt;
&lt;br /&gt;
===Sep 5 2012===&lt;br /&gt;
&lt;br /&gt;
Just to summarise the status of support of the just released Qt5 Beta1 for building QtRadio under Linux:&lt;br /&gt;
&lt;br /&gt;
1.  You download and install the Qt5 Beta:&lt;br /&gt;
&lt;br /&gt;
http://releases.qt-project.org/qt5.0/beta1/&lt;br /&gt;
&lt;br /&gt;
2.  You set the path to point to the qmake you want to use:&lt;br /&gt;
&lt;br /&gt;
$ export PATH=/where/the/Qt/bin/dir/is:$PATH&lt;br /&gt;
&lt;br /&gt;
(For example, mine is:&lt;br /&gt;
&lt;br /&gt;
export PATH=/home/alex/Qt5.0.0beta1/Desktop/Qt/5.0.0-beta1/gcc_64/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
3.  You can check which version of Qt is active by:&lt;br /&gt;
&lt;br /&gt;
$ qmake --version&lt;br /&gt;
&lt;br /&gt;
(For example, mine is:&lt;br /&gt;
&lt;br /&gt;
alex@alex-Aspire-4750:~/ghpsdr3-alex$ qmake --version&lt;br /&gt;
QMake version 2.01a&lt;br /&gt;
Using Qt version 5.0.0 in /home/alex/Qt5.0.0beta1/Desktop/Qt/5.0.0-beta1/gcc_64/lib&lt;br /&gt;
&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
4.  The master branch now has conditional compile for Qt5 Beta and for older versions of Qt.  Once the above PATH is set for the version of Qt you want, you can just use the usual automake steps to build.&lt;br /&gt;
&lt;br /&gt;
5.  The opengl-qt5 branch is customised for qt5 Beta ONLY.  You also need to have a video card/ video chip in your PC that is opengl 2.0 compatible for it to compile and run.&lt;br /&gt;
&lt;br /&gt;
===Aug 3 2012===&lt;br /&gt;
glSDR updated to version 6.  This has Rx IQ Correction setting in the DSP tab.  You should enable it only when connecting to servers running IQ based hardware (eg Softrock, UHFSDR), but NOT direct sampling rigs (eg Perseus).&lt;br /&gt;
&lt;br /&gt;
===July 3 2012===&lt;br /&gt;
Experimental version of glSDR (version 5) that has Tx capabilities. Will only work in certain devices capable of 8khz microphone audio recording and fast CPU at the moment. Go to MENU &amp;gt; Tx to enable tx. Will only work with servers allowing anyone to Tx. http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
===May 30 2012===&lt;br /&gt;
The opengl ES 2.0 enabled version of the Android client has been uploaded to Google Play store and can be downloaded to compatible Android devices.  The name of the App is glSDR.&lt;br /&gt;
&lt;br /&gt;
===May 28 2012===&lt;br /&gt;
Tx audio encoding now has two available codecs:  aLaw and Codec2.  aLaw uses higher LAN bandwidth but the audio quality is much better than Codec2.  aLaw is also suitable for digital mode Tx using the fldigi front-end connected to QtRadio.  The Tx code is available in both the master and the opengl-qt5 branches.&lt;br /&gt;
&lt;br /&gt;
===May 19 2012===&lt;br /&gt;
Qt5 has the bug fix for pull mode audio in Qt.  The master branch and the opengl-qt5 branch can be built with the latest Qt5 (BETA) daily snapshot and the audio in pull mode works very well with Ubuntu 12.04 where most users had problems.&lt;br /&gt;
&lt;br /&gt;
===May 12 2012===&lt;br /&gt;
Experimental support for [[RTL-SDR]] available.&lt;br /&gt;
&lt;br /&gt;
===Apr 11 2012===&lt;br /&gt;
* The branch audio-testing was created for linux users who were having trouble with Qt&#039;s lack of sound in QtRadio.  It seemed to be more of a problem with newer 64 bit installs.  audio-testing bypasses QT for audio playback and calls pulse audio libs directly. You may have to direct sound to your proper sound device with pavucontrol.&lt;br /&gt;
&lt;br /&gt;
===Apr 5 2012===&lt;br /&gt;
* Created an article on the Utilities &amp;amp; Add-ons page called: &amp;quot;Full featured recording script&amp;quot; unsing sox and rigctl (hamlib).&lt;br /&gt;
&lt;br /&gt;
===Apr 4 2012===&lt;br /&gt;
* A new branch, opengl, has working QtRadio code that uses OpenGL shaders to compute and display the waterfall.  The waterfall is actually a 3-D cube and you can pan/zoom with mouse drags on the waterfall display.  Drag it all the way to one side and you can have a glimpse of the sides of the cube.  The aim of this QtRadio is to offload work from the cpu to the gpu.  If your system has a weak cpu (eg atom) and a powerful gpu (eg nvidia ION) it should reduce the cpu util significantly.&lt;br /&gt;
&lt;br /&gt;
===Mar 18 2012===&lt;br /&gt;
* A new build for windows from the new protocol-3 branch is available at: http://napan.com/ve9gj/qtradio-protocol-3.zip (Built Mar 18 2012). This uses the new protocol-3 and should be able to connect with master and protocol-3 servers. Still experimental. It contains improvements to the spectrum and waterfall refresh rates for remote connections.&lt;br /&gt;
&lt;br /&gt;
===Feb 25 2012===&lt;br /&gt;
* New Windows build of QtRadio (master branch)  Download: http://napan.com/ve9gj/qtradio-master.zip&lt;br /&gt;
===Feb 19 2012===&lt;br /&gt;
* Graeme ZL2APV has coded CW receive in QtRadio to behave the same as Kenwood, Yaesu, K3 etc.&lt;br /&gt;
===Feb 18 2012===&lt;br /&gt;
* Frank DG1SBG has got QtRadio to run on Mac OS X 10.6.8 ! http://www.youtube.com/watch?v=LaWnr6Pn3ek&lt;br /&gt;
===Feb 17 2012===&lt;br /&gt;
* Bugfix to possible segfault in dspserver&lt;br /&gt;
===Feb 16 2012===&lt;br /&gt;
* New Windows build of QtRadio (master branch)  Download: http://napan.com/ve9gj/qtradio-master.zip&lt;br /&gt;
===Feb 11 2012===&lt;br /&gt;
* The android client AHPSDR now has a Server list feature just like QtRadio. Look under the menu item Servers and select from among the active servers  Download information on the  [[AHPSDR]] page&lt;br /&gt;
* The branch to use for most users is now the master branch.  This is the one that most dspservers are running&lt;br /&gt;
* Fixed SetTXAMCarrierLevel bug when tx =&amp;quot;all&amp;quot; in master branch &lt;br /&gt;
* Two key Rx audio functions into their own QThread in QtRadio.  This should help lower spec&#039;d PCs&lt;br /&gt;
* Fixed a bug where the band edge line in the spectrum display was off by the offset value of the dspserver.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=591</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=591"/>
		<updated>2012-09-25T09:07:10Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
Since we have QtRadio, we have a lot of Radios over the world, which cover the frequency spectrum nearly from dc to uhf. So it is often the case you come along some interesting, odd, seldom transmissions, which you ever wanted to record and maybe analyse later.&lt;br /&gt;
&lt;br /&gt;
The supplied script will, when started:&lt;br /&gt;
*take you actual system time,&lt;br /&gt;
*ask QtRadio for the actual tuned frequency,&lt;br /&gt;
*will create a wav file stamped by the previos asked data (time+qrg.wav).&lt;br /&gt;
*will, when you stopped recording, create a spectrum image from the recorded wav file.&lt;br /&gt;
&lt;br /&gt;
So, first we need some little helpful programms. Check if you already have or install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the recording script. Copy it into you favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
make the script executable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create you favorite recording location, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
change to that directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script and start the recording script from your recording directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
while doing the first recording open pavucontrol and check if sox uses the right audio source. Select the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Pavucontrol.png]]&lt;br /&gt;
&lt;br /&gt;
if you are done with your recording, press CRTL-C to quit the script and stop the recording. The script processes the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, you should have something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You now have a time and frequency stamped audio file and the spectrum view from that audio file.&lt;br /&gt;
&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
&lt;br /&gt;
So, if you never want to miss to make a recording, open a terminal every time you use QtRadio and change in that terminal to your recording directory.&lt;br /&gt;
Fire up &amp;quot;qtradio_rec&amp;quot; whenever you hear something interesting.&lt;br /&gt;
&lt;br /&gt;
Enjoy and collect :-)&lt;br /&gt;
===Squelch activated recordings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /usr/local/bin/qtradio_rec_sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and put in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav silence 1 0 -35d -1 00:00:05 -35d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make the script executable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/qtradio_rec_sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
stay tuned&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
stay tuned&lt;br /&gt;
===WSPR===&lt;br /&gt;
stay tuned&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=577</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=577"/>
		<updated>2012-09-17T18:45:51Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Cleaning up stored configuration settings from previous installs of QtRadio ===&lt;br /&gt;
&lt;br /&gt;
On Tue, Sep 4, 2012 at 9:59 PM, f6ehp29 &amp;lt;pascal@f6ehp.fr&amp;gt; wrote:&lt;br /&gt;
Hi, on the QtRadio (QT5 on ubuntu 12.04) in audio/device setting, no card appears at opening of the window, and if I choose one (two possible choices), QtRadio shuts down - Mic setting is ok.&lt;br /&gt;
Any idea ?&lt;br /&gt;
&lt;br /&gt;
Clean up your config file and try again:&lt;br /&gt;
&lt;br /&gt;
$ rm ~/.config/G0ORX/QtRadio.conf&lt;br /&gt;
&lt;br /&gt;
=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted using the pulse audio volume control until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the [[#Bookmarks | Bookmarks]] facility.&lt;br /&gt;
&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings used. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current read memory position and current store memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number. If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored location, then memory 0 would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown. The status bar is updated to reflect the memory read/write information and a message is displayed advising you the vfo is currently matching a retrieved memory. &lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section [[#Band Selection | Band]]&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on the already checked band stores the current vfo frequency and radio information to the current quick memory location then steps to the next memory position where it retrieves the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, (Current memory, next store location), Mode, Filter and a memory information message.&lt;br /&gt;
&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
Bookmarks are for storing semi permanent frequencies like favourite radio station or weekly sked etc.&lt;br /&gt;
====Saving a bookmark====&lt;br /&gt;
Tune to the frequency to be stored and set up mode, filter  and spectra.&lt;br /&gt;
From the main menu choose Bookmarks/Bookmark this frequency and an entry panel will appear&lt;br /&gt;
The Title may be edited from simply the frequency to say &amp;quot;3.61 Weekly fists net&amp;quot;&lt;br /&gt;
Choose &amp;quot;OK&amp;quot; to store.&lt;br /&gt;
====Retrieving a bookmark====&lt;br /&gt;
From the main menu choose Bookmarks/View Bookmarks.&lt;br /&gt;
Run the mouse cursor up and down the list of stored frequencies and click to choose&lt;br /&gt;
====Editing a bookmark====&lt;br /&gt;
This facility allows editing of the title or deletion of an entry.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
* From the left hand panel click on the item to be edited.&lt;br /&gt;
* Either edit the title and click on update,&lt;br /&gt;
  or click on delete.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only the title is editable and if other data is needed to be changed it will be necessary to delete the entry and start again.&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&lt;br /&gt;
It is now supported directly by QtRadio. For now only function 1. and 2. added for tuning. Stay tuned.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=576</id>
		<title>What&#039;s New</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=576"/>
		<updated>2012-09-17T18:42:48Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sep 17 2012===&lt;br /&gt;
Added direct support in QtRadio (linux) for the Griffin Powermate Vfo knob.&lt;br /&gt;
Added to branch dl6kbg first for testing. Please read the README for the setup.&lt;br /&gt;
At the moment up/- and down tuning is supported. Set the stepsize with the up amd down arrows.&lt;br /&gt;
&lt;br /&gt;
===Sep 15 2012===&lt;br /&gt;
&lt;br /&gt;
Codec2 has been updated to the latest developmental branch.  This branch can be downloaded:&lt;br /&gt;
&lt;br /&gt;
svn co https://freetel.svn.sourceforge.net/svnroot/freetel/codec2-dev codec2-dev&lt;br /&gt;
&lt;br /&gt;
This has a new API and it has updated codec2, including a new 3200 bps codec which gives better quality than the 2400 bps codec we have used in the past.&lt;br /&gt;
&lt;br /&gt;
Both master and opengl-qt5 branches have been updated with the new codec2.  You need to download the codec2-dev branch above, rebuild codec2, and then rebuild dspserver and QtRadio.&lt;br /&gt;
&lt;br /&gt;
===Sep 14 2012===&lt;br /&gt;
glSDR version 10 is in Play Store, For those without access to Play, you can download from:&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR10.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
===Sep 12 2012===&lt;br /&gt;
The zoom feature has been ported to glSDR.  Ver 9 is now in Play store.  For those without access to Play store, you can download the apk here:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR9.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
With the recent changes, high bandwidth rigs are now adequately supported by ghpsdr3-alex.  You can zoom in and out to spectrum/waterfall up to 960 ksps and beyond.&lt;br /&gt;
&lt;br /&gt;
Note that Glenn has also compiled a Windows binary of QtRadio that has the zoom feature and other updates to allow you to access rigs such as HiQSDR and Perseus. allowing you to set Pre-selector, attentuator etc.&lt;br /&gt;
&lt;br /&gt;
===Sep 10 2012===&lt;br /&gt;
The LO_offset mechanism has been revamped.  The rotation of the spectrum data is now done entirely in dspserver.  Therefore clients eg. QtRadio, glSDR, do not have to rotate the data anymore.&lt;br /&gt;
&lt;br /&gt;
This is needed to support the new zoom feature.  You can now zoom the spectrum/waterfall on the fly.  This feature is very useful for looking closely at a signal, eg 50Hz CW for you to tune spot on, and also for very wide bandwidth hardware such as Peuseus and HiQSDR.  We now have servers running 500 ksps or even 960 ksps.&lt;br /&gt;
&lt;br /&gt;
Checkout these videos:&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=g3vbv.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
http://code.google.com/p/sdr-widget/downloads/detail?name=g3vbv2.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
It will take a while for all dspservers to be updated to the lastest code and you must use the latest QtRadio and glSDR (ver 8 or later) for the new LO_offset.&lt;br /&gt;
&lt;br /&gt;
===Sep 5 2012===&lt;br /&gt;
&lt;br /&gt;
Just to summarise the status of support of the just released Qt5 Beta1 for building QtRadio under Linux:&lt;br /&gt;
&lt;br /&gt;
1.  You download and install the Qt5 Beta:&lt;br /&gt;
&lt;br /&gt;
http://releases.qt-project.org/qt5.0/beta1/&lt;br /&gt;
&lt;br /&gt;
2.  You set the path to point to the qmake you want to use:&lt;br /&gt;
&lt;br /&gt;
$ export PATH=/where/the/Qt/bin/dir/is:$PATH&lt;br /&gt;
&lt;br /&gt;
(For example, mine is:&lt;br /&gt;
&lt;br /&gt;
export PATH=/home/alex/Qt5.0.0beta1/Desktop/Qt/5.0.0-beta1/gcc_64/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
3.  You can check which version of Qt is active by:&lt;br /&gt;
&lt;br /&gt;
$ qmake --version&lt;br /&gt;
&lt;br /&gt;
(For example, mine is:&lt;br /&gt;
&lt;br /&gt;
alex@alex-Aspire-4750:~/ghpsdr3-alex$ qmake --version&lt;br /&gt;
QMake version 2.01a&lt;br /&gt;
Using Qt version 5.0.0 in /home/alex/Qt5.0.0beta1/Desktop/Qt/5.0.0-beta1/gcc_64/lib&lt;br /&gt;
&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
4.  The master branch now has conditional compile for Qt5 Beta and for older versions of Qt.  Once the above PATH is set for the version of Qt you want, you can just use the usual automake steps to build.&lt;br /&gt;
&lt;br /&gt;
5.  The opengl-qt5 branch is customised for qt5 Beta ONLY.  You also need to have a video card/ video chip in your PC that is opengl 2.0 compatible for it to compile and run.&lt;br /&gt;
&lt;br /&gt;
===Aug 3 2012===&lt;br /&gt;
glSDR updated to version 6.  This has Rx IQ Correction setting in the DSP tab.  You should enable it only when connecting to servers running IQ based hardware (eg Softrock, UHFSDR), but NOT direct sampling rigs (eg Perseus).&lt;br /&gt;
&lt;br /&gt;
===July 3 2012===&lt;br /&gt;
Experimental version of glSDR (version 5) that has Tx capabilities. Will only work in certain devices capable of 8khz microphone audio recording and fast CPU at the moment. Go to MENU &amp;gt; Tx to enable tx. Will only work with servers allowing anyone to Tx. http://code.google.com/p/sdr-widget/downloads/detail?name=glSDR.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
===May 30 2012===&lt;br /&gt;
The opengl ES 2.0 enabled version of the Android client has been uploaded to Google Play store and can be downloaded to compatible Android devices.  The name of the App is glSDR.&lt;br /&gt;
&lt;br /&gt;
===May 28 2012===&lt;br /&gt;
Tx audio encoding now has two available codecs:  aLaw and Codec2.  aLaw uses higher LAN bandwidth but the audio quality is much better than Codec2.  aLaw is also suitable for digital mode Tx using the fldigi front-end connected to QtRadio.  The Tx code is available in both the master and the opengl-qt5 branches.&lt;br /&gt;
&lt;br /&gt;
===May 19 2012===&lt;br /&gt;
Qt5 has the bug fix for pull mode audio in Qt.  The master branch and the opengl-qt5 branch can be built with the latest Qt5 (BETA) daily snapshot and the audio in pull mode works very well with Ubuntu 12.04 where most users had problems.&lt;br /&gt;
&lt;br /&gt;
===May 12 2012===&lt;br /&gt;
Experimental support for [[RTL-SDR]] available.&lt;br /&gt;
&lt;br /&gt;
===Apr 11 2012===&lt;br /&gt;
* The branch audio-testing was created for linux users who were having trouble with Qt&#039;s lack of sound in QtRadio.  It seemed to be more of a problem with newer 64 bit installs.  audio-testing bypasses QT for audio playback and calls pulse audio libs directly. You may have to direct sound to your proper sound device with pavucontrol.&lt;br /&gt;
&lt;br /&gt;
===Apr 5 2012===&lt;br /&gt;
* Created an article on the Utilities &amp;amp; Add-ons page called: &amp;quot;Full featured recording script&amp;quot; unsing sox and rigctl (hamlib).&lt;br /&gt;
&lt;br /&gt;
===Apr 4 2012===&lt;br /&gt;
* A new branch, opengl, has working QtRadio code that uses OpenGL shaders to compute and display the waterfall.  The waterfall is actually a 3-D cube and you can pan/zoom with mouse drags on the waterfall display.  Drag it all the way to one side and you can have a glimpse of the sides of the cube.  The aim of this QtRadio is to offload work from the cpu to the gpu.  If your system has a weak cpu (eg atom) and a powerful gpu (eg nvidia ION) it should reduce the cpu util significantly.&lt;br /&gt;
&lt;br /&gt;
===Mar 18 2012===&lt;br /&gt;
* A new build for windows from the new protocol-3 branch is available at: http://napan.com/ve9gj/qtradio-protocol-3.zip (Built Mar 18 2012). This uses the new protocol-3 and should be able to connect with master and protocol-3 servers. Still experimental. It contains improvements to the spectrum and waterfall refresh rates for remote connections.&lt;br /&gt;
&lt;br /&gt;
===Feb 25 2012===&lt;br /&gt;
* New Windows build of QtRadio (master branch)  Download: http://napan.com/ve9gj/qtradio-master.zip&lt;br /&gt;
===Feb 19 2012===&lt;br /&gt;
* Graeme ZL2APV has coded CW receive in QtRadio to behave the same as Kenwood, Yaesu, K3 etc.&lt;br /&gt;
===Feb 18 2012===&lt;br /&gt;
* Frank DG1SBG has got QtRadio to run on Mac OS X 10.6.8 ! http://www.youtube.com/watch?v=LaWnr6Pn3ek&lt;br /&gt;
===Feb 17 2012===&lt;br /&gt;
* Bugfix to possible segfault in dspserver&lt;br /&gt;
===Feb 16 2012===&lt;br /&gt;
* New Windows build of QtRadio (master branch)  Download: http://napan.com/ve9gj/qtradio-master.zip&lt;br /&gt;
===Feb 11 2012===&lt;br /&gt;
* The android client AHPSDR now has a Server list feature just like QtRadio. Look under the menu item Servers and select from among the active servers  Download information on the  [[AHPSDR]] page&lt;br /&gt;
* The branch to use for most users is now the master branch.  This is the one that most dspservers are running&lt;br /&gt;
* Fixed SetTXAMCarrierLevel bug when tx =&amp;quot;all&amp;quot; in master branch &lt;br /&gt;
* Two key Rx audio functions into their own QThread in QtRadio.  This should help lower spec&#039;d PCs&lt;br /&gt;
* Fixed a bug where the band edge line in the spectrum display was off by the offset value of the dspserver.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=471</id>
		<title>Screenshots and Recordings</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=471"/>
		<updated>2012-05-30T19:34:13Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Various QtRadio Recordings ==&lt;br /&gt;
&lt;br /&gt;
Glenn&#039;s Windows QtRadio on an XP Virtual Machine:  http://www.youtube.com/watch?v=0A5MaSYL6mk&lt;br /&gt;
&lt;br /&gt;
Glenn demonstrating 3 connections to Kevin&#039;s server where the slaves follow master&#039;s tuning: http://www.youtube.com/watch?v=EAWkHErtO7U&lt;br /&gt;
&lt;br /&gt;
Sid&#039;s Beagleboard XM and QtRadio on napan.ca - 8000 1 aLaw:  http://www.youtube.com/watch?v=LB8Vxb07Ph8 &lt;br /&gt;
&lt;br /&gt;
Alex testing TX on the rxtx-event branch:  http://www.youtube.com/watch?v=oc9TuJucD48&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 15M  in VE9 from Singapore:  http://www.youtube.com/watch?v=X-pSa5cHq6A&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 10M, kb0omm from Singapore: http://youtu.be/Rt8E0hHMwMY&lt;br /&gt;
&lt;br /&gt;
Oliver&#039;s TX Signal received on 10 Meter by a Softrock RXTX: http://www.youtube.com/watch?v=vsIdDfSHsWA&lt;br /&gt;
&lt;br /&gt;
Oliver - QtRadio Zapping on a new Server: http://www.youtube.com/watch?v=yY_mUzj357s&lt;br /&gt;
&lt;br /&gt;
Android Client: http://www.youtube.com/watch?v=up-BEKxTTXs&lt;br /&gt;
&lt;br /&gt;
Alex - Tx spectrum displayed: http://youtu.be/I4ya56LYUQ0&lt;br /&gt;
&lt;br /&gt;
Oliver with UHFSDR TXing at 2-Meter: http://www.youtube.com/watch?v=Okx_tCu4hcs&lt;br /&gt;
&lt;br /&gt;
Oliver rcv with UHFSDR on 70cm: http://www.youtube.com/watch?v=5qr9rmz0OSo&lt;br /&gt;
&lt;br /&gt;
Oliver rcv with UHFSDR HO-68 Satellite in CW (95mW): http://www.youtube.com/watch?v=fwHSIyLsb54&lt;br /&gt;
&lt;br /&gt;
Alberto IZ0CEZ with USRP: http://www.youtube.com/watch?v=mD9tUWV_Y-Q&lt;br /&gt;
&lt;br /&gt;
Frank DG1SBG running QtRadio on OSX http://www.youtube.com/watch?v=LaWnr6Pn3ek&lt;br /&gt;
&lt;br /&gt;
Rob, KL7NA&#039;s TX audio as recorded by Rit, N4BNM.  http://people.wallawalla.edu/~rob.frohne/ghpsdr3-alex/KL7NA.wav&lt;br /&gt;
&lt;br /&gt;
Alex connecting to kb3omm&#039;s rtl-sdr DVB-T stick: http://code.google.com/p/sdr-widget/downloads/detail?name=kb3omm-rtlsdr-NBFM.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
and: http://code.google.com/p/sdr-widget/downloads/detail?name=kb3omm-rtlsdr-WBFM.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
DL6KBG, aLaw TX Test opengl-qt5 to opengl-qt5 (mobo to uhfsdr): http://www.youtube.com/watch?v=V9DHgaxpUGcdi&lt;br /&gt;
&lt;br /&gt;
== Audio Recordings ==&lt;br /&gt;
First QSO DL6KBG &amp;lt;&amp;gt; 9A208DX 20 Meter 5 Watts (QtRadio opengl-qt5): http://soundcloud.com/dl6kbg/201205301902-14241000-1906&lt;br /&gt;
&lt;br /&gt;
== Various QtRadio Screenshots ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Qtradio-cqww-2011-sa5bke.png|QtRadio from CQWW October 2011 running in Ubuntu 10.04&lt;br /&gt;
File:QtRadioFedoraXFCE.png|QtRadio running on GNU Linux/Fedora 16 XFCE&lt;br /&gt;
File:QtRadioOnUbuntu-iw0hdv.png|QtRadio running on GNU Linux/Ubuntu&lt;br /&gt;
File:2011-11-26 CQWWCW qtradio ve9gj 28-MHz.jpg|QtRadio on Windows listening to CQWW CW&lt;br /&gt;
File:QtRadio-Fldigi.png| fldigi using QtRadio including Rig Control via hamlib&lt;br /&gt;
File:QtRadiowCQRLog.jpg| CQRLog and QtRadio working together via QtRadio&#039;s hamlib interface&lt;br /&gt;
File:Xoom+Stretch+Mode.png| aHPSDRgl running on a kb3omm&#039;s Motorola Xoom &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ghpsdr3-usb-boot ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ghpsdr3-usb-boot_1.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to make videos in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
In Ubuntu videos are easily recorded with recordmydesktop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change to a terminal window and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In pavucontrol select the wanted audio source.&lt;br /&gt;
&lt;br /&gt;
Before you upload the recorded ogg video file to Youtube, it has to be converted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install mencoder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mencoder foo.ogv -o foo.avi -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to take screenshots in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
[http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux Taking Screenshots in Ubuntu ]&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=455</id>
		<title>Screenshots and Recordings</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=455"/>
		<updated>2012-05-27T15:08:46Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Various QtRadio Recordings ==&lt;br /&gt;
&lt;br /&gt;
Glenn&#039;s Windows QtRadio on an XP Virtual Machine:  http://www.youtube.com/watch?v=0A5MaSYL6mk&lt;br /&gt;
&lt;br /&gt;
Glenn demonstrating 3 connections to Kevin&#039;s server where the slaves follow master&#039;s tuning: http://www.youtube.com/watch?v=EAWkHErtO7U&lt;br /&gt;
&lt;br /&gt;
Sid&#039;s Beagleboard XM and QtRadio on napan.ca - 8000 1 aLaw:  http://www.youtube.com/watch?v=LB8Vxb07Ph8 &lt;br /&gt;
&lt;br /&gt;
Alex testing TX on the rxtx-event branch:  http://www.youtube.com/watch?v=oc9TuJucD48&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 15M  in VE9 from Singapore:  http://www.youtube.com/watch?v=X-pSa5cHq6A&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 10M, kb0omm from Singapore: http://youtu.be/Rt8E0hHMwMY&lt;br /&gt;
&lt;br /&gt;
Oliver&#039;s TX Signal received on 10 Meter by a Softrock RXTX: http://www.youtube.com/watch?v=vsIdDfSHsWA&lt;br /&gt;
&lt;br /&gt;
Oliver - QtRadio Zapping on a new Server: http://www.youtube.com/watch?v=yY_mUzj357s&lt;br /&gt;
&lt;br /&gt;
Android Client: http://www.youtube.com/watch?v=up-BEKxTTXs&lt;br /&gt;
&lt;br /&gt;
Alex - Tx spectrum displayed: http://youtu.be/I4ya56LYUQ0&lt;br /&gt;
&lt;br /&gt;
Oliver with UHFSDR TXing at 2-Meter: http://www.youtube.com/watch?v=Okx_tCu4hcs&lt;br /&gt;
&lt;br /&gt;
Oliver rcv with UHFSDR on 70cm: http://www.youtube.com/watch?v=5qr9rmz0OSo&lt;br /&gt;
&lt;br /&gt;
Oliver rcv with UHFSDR HO-68 Satellite in CW (95mW): http://www.youtube.com/watch?v=fwHSIyLsb54&lt;br /&gt;
&lt;br /&gt;
Alberto IZ0CEZ with USRP: http://www.youtube.com/watch?v=mD9tUWV_Y-Q&lt;br /&gt;
&lt;br /&gt;
Frank DG1SBG running QtRadio on OSX http://www.youtube.com/watch?v=LaWnr6Pn3ek&lt;br /&gt;
&lt;br /&gt;
Rob, KL7NA&#039;s TX audio as recorded by Rit, N4BNM.  http://people.wallawalla.edu/~rob.frohne/ghpsdr3-alex/KL7NA.wav&lt;br /&gt;
&lt;br /&gt;
Alex connecting to kb3omm&#039;s rtl-sdr DVB-T stick: http://code.google.com/p/sdr-widget/downloads/detail?name=kb3omm-rtlsdr-NBFM.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
and: http://code.google.com/p/sdr-widget/downloads/detail?name=kb3omm-rtlsdr-WBFM.ogv&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
DL6KBG, aLaw TX Test opengl-qt5 to opengl-qt5 (mobo to uhfsdr): http://www.youtube.com/watch?v=V9DHgaxpUGc&lt;br /&gt;
&lt;br /&gt;
== Various QtRadio Screenshots ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Qtradio-cqww-2011-sa5bke.png|QtRadio from CQWW October 2011 running in Ubuntu 10.04&lt;br /&gt;
File:QtRadioFedoraXFCE.png|QtRadio running on GNU Linux/Fedora 16 XFCE&lt;br /&gt;
File:QtRadioOnUbuntu-iw0hdv.png|QtRadio running on GNU Linux/Ubuntu&lt;br /&gt;
File:2011-11-26 CQWWCW qtradio ve9gj 28-MHz.jpg|QtRadio on Windows listening to CQWW CW&lt;br /&gt;
File:QtRadio-Fldigi.png| fldigi using QtRadio including Rig Control via hamlib&lt;br /&gt;
File:QtRadiowCQRLog.jpg| CQRLog and QtRadio working together via QtRadio&#039;s hamlib interface&lt;br /&gt;
File:Xoom+Stretch+Mode.png| aHPSDRgl running on a kb3omm&#039;s Motorola Xoom &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ghpsdr3-usb-boot ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ghpsdr3-usb-boot_1.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to make videos in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
In Ubuntu videos are easily recorded with recordmydesktop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change to a terminal window and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In pavucontrol select the wanted audio source.&lt;br /&gt;
&lt;br /&gt;
Before you upload the recorded ogg video file to Youtube, it has to be converted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install mencoder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mencoder foo.ogv -o foo.avi -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to take screenshots in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
[http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux Taking Screenshots in Ubuntu ]&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=427</id>
		<title>What&#039;s New</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=427"/>
		<updated>2012-04-05T21:40:30Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Apr 5 2012===&lt;br /&gt;
* Created an article on the Utilities &amp;amp; Add-ons page called: &amp;quot;Full featured recording script&amp;quot; unsing sox and rigctl (hamlib).&lt;br /&gt;
&lt;br /&gt;
===Apr 4 2012===&lt;br /&gt;
* A new branch, opengl, has working QtRadio code that uses OpenGL shaders to compute and display the waterfall.  The waterfall is actually a 3-D cube and you can pan/zoom with mouse drags on the waterfall display.  Drag it all the way to one side and you can have a glimpse of the sides of the cube.  The aim of this QtRadio is to offload work from the cpu to the gpu.  If your system has a weak cpu (eg atom) and a powerful gpu (eg nvidia ION) it should reduce the cpu util significantly.&lt;br /&gt;
&lt;br /&gt;
===Mar 18 2012===&lt;br /&gt;
* Protocol-3 capable version (protocol-3 branch) of aHPSDR (Android Client).  This version may not work with non-protocol-3 dspservers.&lt;br /&gt;
&lt;br /&gt;
Download: http://code.google.com/p/sdr-widget/downloads/detail?name=aHPSDRp3.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
* A new build for windows from the new protocol-3 branch is available at: http://napan.com/ve9gj/qtradio-protocol-3.zip (Built Mar 18 2012). This uses the new protocol-3 and should be able to connect with master and protocol-3 servers. Still experimental. It contains improvements to the spectrum and waterfall refresh rates for remote connections.&lt;br /&gt;
&lt;br /&gt;
===Mar 12 2012===&lt;br /&gt;
* New build of aHPSDR (rxtx-opencl branch).  This version has updates by kb3omm and a fast color waterfall algorithm.&lt;br /&gt;
&lt;br /&gt;
Download: http://code.google.com/p/sdr-widget/downloads/detail?name=aHPSDR.apk&amp;amp;can=2&amp;amp;q=&lt;br /&gt;
&lt;br /&gt;
===Feb 25 2012===&lt;br /&gt;
* New Windows build of QtRadio (master branch)  Download: http://napan.com/ve9gj/qtradio-master.zip&lt;br /&gt;
===Feb 19 2012===&lt;br /&gt;
* Graeme ZL2APV has coded CW receive in QtRadio to behave the same as Kenwood, Yaesu, K3 etc.&lt;br /&gt;
===Feb 18 2012===&lt;br /&gt;
* Frank DG1SBG has got QtRadio to run on Mac OS X 10.6.8 ! http://www.youtube.com/watch?v=LaWnr6Pn3ek&lt;br /&gt;
===Feb 17 2012===&lt;br /&gt;
* Bugfix to possible segfault in dspserver&lt;br /&gt;
===Feb 16 2012===&lt;br /&gt;
* New Windows build of QtRadio (master branch)  Download: http://napan.com/ve9gj/qtradio-master.zip&lt;br /&gt;
===Feb 11 2012===&lt;br /&gt;
* The android client AHPSDR now has a Server list feature just like QtRadio. Look under the menu item Servers and select from among the active servers  Download information on the  [[AHPSDR]] page&lt;br /&gt;
* The branch to use for most users is now the master branch.  This is the one that most dspservers are running&lt;br /&gt;
* Fixed SetTXAMCarrierLevel bug when tx =&amp;quot;all&amp;quot; in master branch &lt;br /&gt;
* Two key Rx audio functions into their own QThread in QtRadio.  This should help lower spec&#039;d PCs&lt;br /&gt;
* Fixed a bug where the band edge line in the spectrum display was off by the offset value of the dspserver.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=426</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=426"/>
		<updated>2012-04-05T19:42:01Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated cecordings===&lt;br /&gt;
stay tuned&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
Since we have QtRadio, we have a lot of Radios over the world, which cover the frequency spectrum nearly from dc to uhf. So it is often the case you come along some interesting, odd, seldom transmissions, which you ever wanted to record and maybe analyse later.&lt;br /&gt;
&lt;br /&gt;
The supplied script will, when started:&lt;br /&gt;
*take you actual system time,&lt;br /&gt;
*ask QtRadio for the actual tuned frequency,&lt;br /&gt;
*will create a wav file stamped by the previos asked data (time+qrg.wav).&lt;br /&gt;
*will, when you stopped recording, create a spectrum image from the recorded wav file.&lt;br /&gt;
&lt;br /&gt;
So, first we need some little helpful programms. Check if you already have or install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the recording script. Copy it into you favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
make the script executable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create you favorite recording location, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
change to that directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script and start the recording script from your recording directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
while doing the first recording open pavucontrol and check if sox uses the right audio source. Select the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Pavucontrol.png]]&lt;br /&gt;
&lt;br /&gt;
if you are done with your recording, press CRTL-C to quit the script and stop the recording. The script processes the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, you should have something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You now have a time and frequency stamped audio file and the spectrum view from that audio file.&lt;br /&gt;
&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
&lt;br /&gt;
So, if you never want to miss to make a recording, open a terminal every time you use QtRadio and change in that terminal to your recording directory.&lt;br /&gt;
Fire up &amp;quot;qtradio_rec&amp;quot; whenever you hear something interesting.&lt;br /&gt;
&lt;br /&gt;
Enjoy and collect :-)&lt;br /&gt;
&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
stay tuned&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
stay tuned&lt;br /&gt;
===WSPR===&lt;br /&gt;
stay tuned&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=425</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=425"/>
		<updated>2012-04-05T19:15:16Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
Since we have QtRadio, we have a lot of Radios over the world, which cover the frequency spectrum nearly from dc to uhf. So it is often the case you come along some interesting, odd, seldom transmissions, which you ever wanted to record and maybe analyse later.&lt;br /&gt;
&lt;br /&gt;
The supplied script will, when started:&lt;br /&gt;
*take you actual system time,&lt;br /&gt;
*ask QtRadio for the actual tuned frequency,&lt;br /&gt;
*will create a wav file stamped by the previos asked data (time+qrg.wav).&lt;br /&gt;
*will, when you stopped recording, create a spectrum image from the recorded wav file.&lt;br /&gt;
&lt;br /&gt;
So, first we need some little helpful programms. Check if you already have or install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the recording script. Copy it into you favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
make the script executable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create you favorite recording location, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
change to that directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script and start the recording script from your recording directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
while doing the first recording open pavucontrol and check if sox uses the right audio source. Select the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Pavucontrol.png]]&lt;br /&gt;
&lt;br /&gt;
if you are done with your recording, press CRTL-C to quit the script and stop the recording. The script processes the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, you should have something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You now have a time and frequency stamped audio file and the spectrum view from that audio file.&lt;br /&gt;
&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
&lt;br /&gt;
So, if you never want to miss to make a recording, open a terminal every time you use QtRadio and change in that terminal to your recording directory.&lt;br /&gt;
Fire up &amp;quot;qtradio_rec&amp;quot; whenever you hear something interesting.&lt;br /&gt;
&lt;br /&gt;
Enjoy and collect :-)&lt;br /&gt;
&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=424</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=424"/>
		<updated>2012-04-05T19:11:41Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
Since we have QtRadio, we have a lot of Radios over the world, which cover the frequency spectrum nearly from dc to uhf. So it is often the case you come along some interesting, odd, seldom transmissions, which you ever wanted to record and maybe analyse later.&lt;br /&gt;
&lt;br /&gt;
The supplied script will, when started:&lt;br /&gt;
*take you actual system time,&lt;br /&gt;
*ask QtRadio for the actual tuned frequency,&lt;br /&gt;
*will create a wav file stamped by the previos asked data (time+qrg.wav).&lt;br /&gt;
*will, when you stopped recording, create a spectrum image from the recorded wav file.&lt;br /&gt;
&lt;br /&gt;
So, first we need some little helpful programms. Check if you already have or install:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is the recording script. Copy it into you favorite editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
make the script executable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Create you favorite recording location, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
change to that directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script and start the recording script from your recording directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
while doing the first recording open pavucontrol and check if sox uses the right audio source. Select the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Pavucontrol.png]]&lt;br /&gt;
&lt;br /&gt;
if you are done with your recording, press CRTL-C to quit the script and stop the recording. The script processes the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, you should have something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You now have a time and frequency stamped audio file and the spectrum view from that audio file.&lt;br /&gt;
&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Enjoy and collect :-)&lt;br /&gt;
&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=423</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=423"/>
		<updated>2012-04-05T18:53:40Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
open pavucontrol and check if sox uses the right audio source. Select the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Pavucontrol.png]]&lt;br /&gt;
&lt;br /&gt;
if you are done with your recording, press CRTL-C to quit the script and stop the recording. The script processes the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, you should have something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You now have a time and frequency stamped audio file and the spectrum view from that audio file.&lt;br /&gt;
&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=422</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=422"/>
		<updated>2012-04-05T18:46:24Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sox:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
open pavucontrol and check if sox uses the right audio source. Select the following:&lt;br /&gt;
[[File:Pavucontrol.png|200px]]&lt;br /&gt;
if you are done. Press CRTL-C to quit the script and stop the recording. The script processess now the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, it should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=421</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=421"/>
		<updated>2012-04-05T18:43:19Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano /usr/local/bin/qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd QtRadio_Recordings&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Fire up QtRadio before starting the recording-script.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
qtradio_rec&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
you should now see this output from sx:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dl6kbg@ubuntu:~$ qtradio_rec &lt;br /&gt;
&lt;br /&gt;
Input File     : &#039;default&#039; (alsa)&lt;br /&gt;
Channels       : 1&lt;br /&gt;
Sample Rate    : 8000&lt;br /&gt;
Precision      : 16-bit&lt;br /&gt;
Sample Encoding: 16-bit Signed Integer PCM&lt;br /&gt;
&lt;br /&gt;
In:0.00% 00:00:21.50 [00:00:00.00] Out:164k  [      |      ]        Clip:0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
if you are done. Press CRTL-C to quit the script and stop the recording. The script processess now the spectrum image from the just recorded wave-file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Aborted.&lt;br /&gt;
processing spectrogram...&lt;br /&gt;
...done !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
when you now have a look into your recording directory, it should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg  207665 2012-04-05 20:41 201204052041_3756000.png&lt;br /&gt;
-rw-rw-r-- 1 dl6kbg dl6kbg   32812 2012-04-05 20:41 201204052041_3756000.wav&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File&lt;br /&gt;
:Sox_spec.png|200px]]&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=File:Pavucontrol.png&amp;diff=420</id>
		<title>File:Pavucontrol.png</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=File:Pavucontrol.png&amp;diff=420"/>
		<updated>2012-04-05T18:33:27Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=419</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=419"/>
		<updated>2012-04-05T18:19:14Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install sox&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install hamlib-utils&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=418</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=418"/>
		<updated>2012-04-05T18:12:05Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured recording script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=417</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=417"/>
		<updated>2012-04-05T18:11:13Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured Recording Script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##!/bin/bash&lt;br /&gt;
QRG=&amp;quot;_$(exec rigctl -m2 -r 127.0.0.1:19090 f 2&amp;gt;&amp;amp;1)&amp;quot;&lt;br /&gt;
NAME=`date +%Y%m%d%H%M`&lt;br /&gt;
rec -r 8000 -c 1 $NAME$QRG.wav&lt;br /&gt;
echo &amp;quot;processing spectrogram...&amp;quot;&lt;br /&gt;
sox $NAME$QRG.wav -n spectrogram -x 1280 -y 720 -z 100 -t &amp;quot;$NAME$QRG.wav&amp;quot; -c &#039;&#039; -o $NAME$QRG.png&lt;br /&gt;
echo &amp;quot;...done !&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[File:Sox_spec.png|200px]]&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=File:Sox_spec.png&amp;diff=416</id>
		<title>File:Sox spec.png</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=File:Sox_spec.png&amp;diff=416"/>
		<updated>2012-04-05T18:02:05Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: Spectrum generated from a recorded wave file.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Spectrum generated from a recorded wave file.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=414</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Utilities&amp;diff=414"/>
		<updated>2012-04-04T21:28:33Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So, now you have QtRadio running. Let&#039;s have some fun and do some useful things.&lt;br /&gt;
===Squelch activated Recordings===&lt;br /&gt;
===Full featured Recording Script===&lt;br /&gt;
===Frequency Scanning===&lt;br /&gt;
===Gnome Predict===&lt;br /&gt;
===WSPR===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Main_Page&amp;diff=389</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Main_Page&amp;diff=389"/>
		<updated>2012-02-21T23:31:03Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: /* The ghpsdr3-alex Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===[[What&#039;s New| What&#039;s New and latest news]]===&lt;br /&gt;
=== &#039;&#039;&#039;The ghpsdr3-alex Project&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
This is a modification of the excellent Software Defined Radio (SDR) software by John Melton [G0ORX/N6LYT][http://g0orx.blogspot.com]&lt;br /&gt;
&lt;br /&gt;
The original software by John is called ghpsdr3.  We are working towards merging the two projects (ghpsdr3 and ghpsdr3-alex) source trees to a single source.  However BEFORE that happens, you CANNOT mix and match programs from the two projects.  See note for HPSDR hardware users below.&lt;br /&gt;
  &lt;br /&gt;
Project README https://github.com/alexlee188/ghpsdr3-alex/blob/master/README [https://github.com/alexlee188/ghpsdr3-alex/blob/master/README]&lt;br /&gt;
&lt;br /&gt;
Source Code is via git at https://github.com/alexlee188/ghpsdr3-alex [https://github.com/alexlee188/ghpsdr3-alex]&lt;br /&gt;
&lt;br /&gt;
You can browse the list of online dspservers at http://qtradio.napan.ca/qtradio/qtradio.pl[http://qtradio.napan.ca/qtradio/qtradio.pl]&lt;br /&gt;
&lt;br /&gt;
Currently it supports HPSDR, Softrock, UHFSDR, Microtelecom Perseus, SDR-iq, HiQSDR and Ettus Research USRP.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;What is the actual ghpsdr3-alex Project software?&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The software comprises 3 different components:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A)&#039;&#039;&#039;  server - there is a CLI based server for each type of hardware.  For example, there are hpsdr-server, usrp-server, softrock (server), sdriq-server, HiQSDR etc.  Some servers are based on soundcard/USB connections to the hardware.  Some are connected via ethernet (eg HPSDR Metis).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B)&#039;&#039;&#039;  dspserver - this is the software in the middle that processes the IQ data from the server (connected over LAN via UDP) using DttSP.  The same dspserver can connect to any of the servers in A.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C)&#039;&#039;&#039;  clients - this is the GUI user interface.  There are clients built with Qt and runs on Windows and Linux.  A few developers are now trying to port QtRadio to Mac OSX now.  There is a working Android client that works on Android phones and Android tablets.  The clients connect to dspserver via LAN or remotely via Internet.  In future we will have java based web clients as well (either specifically written clients, or running Qt inside a web browser)  Also, multiple clients can concurrently access the same dspserver.  There is also RxTx capability (currently for voice modes).  the QtRadio client has a Hamlib interface and can connect to gPredict, xLog, and fldigi (for digital mode)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Project Goals&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1.  Open source (GPL) SDR software&lt;br /&gt;
&lt;br /&gt;
2.  Client-server network-enabled by design from the ground up&lt;br /&gt;
&lt;br /&gt;
3.  Customized server for each SDR hardware type.  Currently supporting HPSDR, Softrock, UHFSDR, Microtelecom Perseus, RFSPACE SDR-IQ, HiQSDR and Ettus Research USRP.&lt;br /&gt;
&lt;br /&gt;
4.  Single dspserver that connects to single server.  However, each server can have multiple Rx and Tx channels.&lt;br /&gt;
&lt;br /&gt;
5.  Multiple clients, such as QtRadio, that can concurrently connect to a single dspserver.&lt;br /&gt;
&lt;br /&gt;
6.  Full Rx and Tx capability for hardware capable of Tx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Screenshots and Recordings]] &lt;br /&gt;
*[[QtRadio on Windows]]&lt;br /&gt;
*[[QtRadio - Operation]]&lt;br /&gt;
*[[QtRadio Installation]]&lt;br /&gt;
*[[aHPSDR]] Android Client&lt;br /&gt;
*[[Pulseaudio Setup]]&lt;br /&gt;
*[[Developers Documentation]]&lt;br /&gt;
*[[ToDo/- Wishlist]]&lt;br /&gt;
*[[dspserver.conf]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for HPSDR and ghpsdr3 (original) users:&#039;&#039;&#039;&lt;br /&gt;
In general, you cannot mix and match software from the two projects, ghpsdr3 and ghpsdr3-alex.  However, John has updated the programs in the ghpsdr3-alex repository, and the hpsdr-server program in gphsdr3-alex works for HPSDR hardware.  The following newbie guide is written by Erich Heinzle (vk5hse at yahoo.com):&lt;br /&gt;
&lt;br /&gt;
http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/2011-December/016334.html[http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/2011-December/016334.html]&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=302</id>
		<title>Screenshots and Recordings</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=302"/>
		<updated>2012-01-09T15:31:46Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Various QtRadio Recordings ==&lt;br /&gt;
&lt;br /&gt;
Glenn&#039;s Windows QtRadio on an XP Virtual Machine:  http://www.youtube.com/watch?v=0A5MaSYL6mk&lt;br /&gt;
&lt;br /&gt;
Glenn demonstrating 3 connections to Kevin&#039;s server where the slaves follow master&#039;s tuning: http://www.youtube.com/watch?v=EAWkHErtO7U&lt;br /&gt;
&lt;br /&gt;
Sid&#039;s Beagleboard XM and QtRadio on napan.ca - 8000 1 aLaw:  http://www.youtube.com/watch?v=LB8Vxb07Ph8 &lt;br /&gt;
&lt;br /&gt;
Alex testing TX on the rxtx-event branch:  http://www.youtube.com/watch?v=oc9TuJucD48&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 15M  in VE9 from Singapore:  http://www.youtube.com/watch?v=X-pSa5cHq6A&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 10M, kb0omm from Singapore: http://youtu.be/Rt8E0hHMwMY&lt;br /&gt;
&lt;br /&gt;
Oliver&#039;s TX Signal received on 10 Meter by a Softrock RXTX: http://www.youtube.com/watch?v=vsIdDfSHsWA&lt;br /&gt;
&lt;br /&gt;
Oliver - QtRadio Zapping on a new Server: http://www.youtube.com/watch?v=yY_mUzj357s&lt;br /&gt;
&lt;br /&gt;
Android Client: http://www.youtube.com/watch?v=up-BEKxTTXs&lt;br /&gt;
&lt;br /&gt;
Alex - Tx spectrum displayed: http://youtu.be/I4ya56LYUQ0&lt;br /&gt;
&lt;br /&gt;
Oliver with UHFSDR TXing at 2-Meter: http://www.youtube.com/watch?v=Okx_tCu4hcs&lt;br /&gt;
&lt;br /&gt;
Oliver rcv with UHFSDR on 70cm: http://www.youtube.com/watch?v=5qr9rmz0OSo&lt;br /&gt;
&lt;br /&gt;
Oliver rcv with UHFSDR HO-68 Satellite in CW (95mW): http://www.youtube.com/watch?v=fwHSIyLsb54&lt;br /&gt;
&lt;br /&gt;
== Various QtRadio Screenshots ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Qtradio-cqww-2011-sa5bke.png|QtRadio from CQWW October 2011 running in Ubuntu 10.04&lt;br /&gt;
File:QtRadioFedoraXFCE.png|QtRadio running on GNU Linux/Fedora 16 XFCE&lt;br /&gt;
File:QtRadioOnUbuntu-iw0hdv.png|QtRadio running on GNU Linux/Ubuntu&lt;br /&gt;
File:2011-11-26 CQWWCW qtradio ve9gj 28-MHz.jpg|QtRadio on Windows listening to CQWW CQ&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ghpsdr3-usb-boot ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Ghpsdr3-usb-boot_1.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to make videos in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
In Ubuntu videos are easily recorded with recordmydesktop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change to a terminal window and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In pavucontrol select the wanted audio source.&lt;br /&gt;
&lt;br /&gt;
Before you upload the recorded ogg video file to Youtube, it has to be converted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install mencoder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mencoder foo.ogv -o foo.avi -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to take screenshots in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
[http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux Taking Screenshots in Ubuntu ]&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=244</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=244"/>
		<updated>2011-12-03T08:41:33Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted using the pulse audio volume control until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the [[#Bookmarks | Bookmarks]] facility.&lt;br /&gt;
&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings used. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current read memory position and current store memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number. If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored location, then memory 0 would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown. The status bar is updated to reflect the memory read/write information and a message is displayed advising you the vfo is currently matching a retrieved memory. &lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section [[#Band Selection | Band]]&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
Bookmarks are for storing semi permanent frequencies like favourite radio station or weekly sked etc.&lt;br /&gt;
====Saving a bookmark====&lt;br /&gt;
Tune to the frequency to be stored and set up mode, filter  and spectra.&lt;br /&gt;
From the main menu choose Bookmarks/Bookmark this frequency and an entry panel will appear&lt;br /&gt;
The Title may be edited from simply the frequency to say &amp;quot;3.61 Weekly fists net&amp;quot;&lt;br /&gt;
Choose &amp;quot;OK&amp;quot; to store.&lt;br /&gt;
====Retrieving a bookmark====&lt;br /&gt;
From the main menu choose Bookmarks/View Bookmarks.&lt;br /&gt;
Run the mouse cursor up and down the list of stored frequencies and click to choose&lt;br /&gt;
====Editing a bookmark====&lt;br /&gt;
This facility allows editing of the title or deletion of an entry.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
* From the left hand panel click on the item to be edited.&lt;br /&gt;
* Either edit the title and click on update,&lt;br /&gt;
  or click on delete.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only the title is editable and if other data is needed to be changed it will be necessary to delete the entry and start again.&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need at least Ubuntu 11.10 installed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46.1&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo groupadd input&lt;br /&gt;
$ sudo gpasswd -a your_user_name input&lt;br /&gt;
$ cd /etc/udev/rules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file called 99-input.rules and put in it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo gedit 99-input.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;event*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;js*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;664&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reboot System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/* .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp -r /usr/etc/gizmod/modules.d/bases/ .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp -r /usr/etc/gizmod/modules.d/visualizers/ .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_UP)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=243</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=243"/>
		<updated>2011-12-03T07:50:23Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted using the pulse audio volume control until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the [[#Bookmarks | Bookmarks]] facility.&lt;br /&gt;
&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings used. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current read memory position and current store memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number. If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored location, then memory 0 would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown. The status bar is updated to reflect the memory read/write information and a message is displayed advising you the vfo is currently matching a retrieved memory. &lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section [[#Band Selection | Band]]&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
Bookmarks are for storing semi permanent frequencies like favourite radio station or weekly sked etc.&lt;br /&gt;
====Saving a bookmark====&lt;br /&gt;
Tune to the frequency to be stored and set up mode, filter  and spectra.&lt;br /&gt;
From the main menu choose Bookmarks/Bookmark this frequency and an entry panel will appear&lt;br /&gt;
The Title may be edited from simply the frequency to say &amp;quot;3.61 Weekly fists net&amp;quot;&lt;br /&gt;
Choose &amp;quot;OK&amp;quot; to store.&lt;br /&gt;
====Retrieving a bookmark====&lt;br /&gt;
From the main menu choose Bookmarks/View Bookmarks.&lt;br /&gt;
Run the mouse cursor up and down the list of stored frequencies and click to choose&lt;br /&gt;
====Editing a bookmark====&lt;br /&gt;
This facility allows editing of the title or deletion of an entry.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
* From the left hand panel click on the item to be edited.&lt;br /&gt;
* Either edit the title and click on update,&lt;br /&gt;
  or click on delete.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only the title is editable and if other data is needed to be changed it will be necessary to delete the entry and start again.&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need at least Ubuntu 11.10 installed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46.1&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo groupadd input&lt;br /&gt;
$ sudo gpasswd -a your_user_name input&lt;br /&gt;
$ cd /etc/udev/rules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file called 99-input.rules and put in it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo gedit 99-input.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;event*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;js*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;664&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reboot System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/* .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp -r /usr/etc/gizmod/modules.d/bases/ .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_UP)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=242</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=242"/>
		<updated>2011-12-03T07:46:54Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted using the pulse audio volume control until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the [[#Bookmarks | Bookmarks]] facility.&lt;br /&gt;
&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings used. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current read memory position and current store memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number. If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored location, then memory 0 would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown. The status bar is updated to reflect the memory read/write information and a message is displayed advising you the vfo is currently matching a retrieved memory. &lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section [[#Band Selection | Band]]&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
Bookmarks are for storing semi permanent frequencies like favourite radio station or weekly sked etc.&lt;br /&gt;
====Saving a bookmark====&lt;br /&gt;
Tune to the frequency to be stored and set up mode, filter  and spectra.&lt;br /&gt;
From the main menu choose Bookmarks/Bookmark this frequency and an entry panel will appear&lt;br /&gt;
The Title may be edited from simply the frequency to say &amp;quot;3.61 Weekly fists net&amp;quot;&lt;br /&gt;
Choose &amp;quot;OK&amp;quot; to store.&lt;br /&gt;
====Retrieving a bookmark====&lt;br /&gt;
From the main menu choose Bookmarks/View Bookmarks.&lt;br /&gt;
Run the mouse cursor up and down the list of stored frequencies and click to choose&lt;br /&gt;
====Editing a bookmark====&lt;br /&gt;
This facility allows editing of the title or deletion of an entry.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
* From the left hand panel click on the item to be edited.&lt;br /&gt;
* Either edit the title and click on update,&lt;br /&gt;
  or click on delete.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only the title is editable and if other data is needed to be changed it will be necessary to delete the entry and start again.&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need at least Ubuntu 11.10 installed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46.1&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo groupadd input&lt;br /&gt;
$ sudo gpasswd -a your_user_name input&lt;br /&gt;
$ cd /etc/udev/rules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file called 99-input.rules and put in it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo gedit 99-input.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;event*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;js*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;664&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reboot System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/* .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp -r /usr/etc/gizmod/modules.d/bases/ .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=241</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=241"/>
		<updated>2011-12-03T07:40:21Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted using the pulse audio volume control until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the [[#Bookmarks | Bookmarks]] facility.&lt;br /&gt;
&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings used. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current read memory position and current store memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number. If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored location, then memory 0 would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown. The status bar is updated to reflect the memory read/write information and a message is displayed advising you the vfo is currently matching a retrieved memory. &lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section [[#Band Selection | Band]]&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
Bookmarks are for storing semi permanent frequencies like favourite radio station or weekly sked etc.&lt;br /&gt;
====Saving a bookmark====&lt;br /&gt;
Tune to the frequency to be stored and set up mode, filter  and spectra.&lt;br /&gt;
From the main menu choose Bookmarks/Bookmark this frequency and an entry panel will appear&lt;br /&gt;
The Title may be edited from simply the frequency to say &amp;quot;3.61 Weekly fists net&amp;quot;&lt;br /&gt;
Choose &amp;quot;OK&amp;quot; to store.&lt;br /&gt;
====Retrieving a bookmark====&lt;br /&gt;
From the main menu choose Bookmarks/View Bookmarks.&lt;br /&gt;
Run the mouse cursor up and down the list of stored frequencies and click to choose&lt;br /&gt;
====Editing a bookmark====&lt;br /&gt;
This facility allows editing of the title or deletion of an entry.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
* From the left hand panel click on the item to be edited.&lt;br /&gt;
* Either edit the title and click on update,&lt;br /&gt;
  or click on delete.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only the title is editable and if other data is needed to be changed it will be necessary to delete the entry and start again.&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need at least Ubuntu 11.10 installed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46.1&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo groupadd input&lt;br /&gt;
$ sudo gpasswd -a your_user_name input&lt;br /&gt;
$ cd /etc/udev/rules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file called 99-input.rules and put in it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo gedit 99-input.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;event*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;js*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;664&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reboot System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/* .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=240</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=240"/>
		<updated>2011-12-02T14:55:17Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted using the pulse audio volume control until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the [[#Bookmarks | Bookmarks]] facility.&lt;br /&gt;
&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings used. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current read memory position and current store memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number. If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored location, then memory 0 would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown. The status bar is updated to reflect the memory read/write information and a message is displayed advising you the vfo is currently matching a retrieved memory. &lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section [[#Band Selection | Band]]&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
Bookmarks are for storing semi permanent frequencies like favourite radio station or weekly sked etc.&lt;br /&gt;
====Saving a bookmark====&lt;br /&gt;
Tune to the frequency to be stored and set up mode, filter  and spectra.&lt;br /&gt;
From the main menu choose Bookmarks/Bookmark this frequency and an entry panel will appear&lt;br /&gt;
The Title may be edited from simply the frequency to say &amp;quot;3.61 Weekly fists net&amp;quot;&lt;br /&gt;
Choose &amp;quot;OK&amp;quot; to store.&lt;br /&gt;
====Retrieving a bookmark====&lt;br /&gt;
From the main menu choose Bookmarks/View Bookmarks.&lt;br /&gt;
Run the mouse cursor up and down the list of stored frequencies and click to choose&lt;br /&gt;
====Editing a bookmark====&lt;br /&gt;
This facility allows editing of the title or deletion of an entry.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
* From the left hand panel click on the item to be edited.&lt;br /&gt;
* Either edit the title and click on update,&lt;br /&gt;
  or click on delete.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only the title is editable and if other data is needed to be changed it will be necessary to delete the entry and start again.&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need at least Ubuntu 11.10 installed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46.1&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo groupadd input&lt;br /&gt;
$ sudo gpasswd -a your_user_name input&lt;br /&gt;
$ cd /etc/udev/rules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a file called 99-input.rules and put in it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo gedit 99-input.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;event*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;660&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
KERNEL==&amp;quot;js*&amp;quot;, NAME=&amp;quot;input/%k&amp;quot;, MODE=&amp;quot;664&amp;quot;, GROUP=&amp;quot;input&amp;quot;&amp;amp;lt;BR&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reboot System&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=227</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=227"/>
		<updated>2011-12-01T21:14:36Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the bookmarks facility.&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number.If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored then memory then it would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown.&lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section &amp;quot;Band&amp;quot; TODO make this a link&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You need at least Ubuntu 11.10 installed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46.1&lt;br /&gt;
$ sudo apt-get install libboost-filesystem1.46-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=226</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=226"/>
		<updated>2011-12-01T13:53:55Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
===Overview===&lt;br /&gt;
The quick memories are used in conjunction with the VFO memory to give quick access to storing and retrieving memories which will be used on a temporary basis. Each selected quick memory is transferred to the vfo memory and if any tune operation is made the operation shifts to the vfo and the displayed frequency of course is the operational frequency. Data held in memory or vfo is stored in the config file and is available through sessions with the last used frequency being the next start frequency. Long term memory storage should be made via the bookmarks facility.&lt;br /&gt;
===VFO memory===&lt;br /&gt;
The vfo has a memory associated with it for each band and allows startup of QtRadio to retrieve last frequency, mode, filter and spectrum/waterfall settings. Shifting to another band allows the last used frequency etc. for that band to be retrieved and of course a return to the original band will get back the original data.&lt;br /&gt;
===Storing===&lt;br /&gt;
Storing a quick memory is accomplished by right clicking over any of the band buttons. The software will work out the right button for the frequency and store it there. The storage button will light up yellow for 1/2 second and the status bar will show ... the current band, the current memory position, Mode, Filter and &amp;quot;stored at&amp;quot; store memory number.If the current frequency, mode and filter is already stored in quick memory, the memory will become the current memory and no extra storage will take place. Storage is always made to overwrite the oldest stored memory position so if your memories are stored as 0,1,2 for 3 quick memories and memory 2 was the last stored then memory then it would be would be the next storage location. The index to the current memory storage location is saved on shutdown.&lt;br /&gt;
===Reading from Band Buttons===&lt;br /&gt;
A left click on the band button will cycle through the stored memories without ever overwriting them. The data in the selected memory is copied to the vfo memory and any change to the vfo is not written to memory unless explicitly via a right click over the bandbutton area. Full current information is retrieved from the memory and consists of Frequency, Mode, Filter, Spectrum info and Waterfall info. The index to the current memory read location is saved on shutdown.&lt;br /&gt;
===Reading from Band menu===&lt;br /&gt;
Please refer to main menu section &amp;quot;Band&amp;quot; TODO make this a link&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
====Keypad====&lt;br /&gt;
Clicking on the keypad brings up a key entry window. The frequency must be entered by clicking on the number pads and should be in the form MHz dot KHz i.e. 14.293 Entering in KHz will cause an error which is not trapped yet.&lt;br /&gt;
====Band Selection====&lt;br /&gt;
The band menu allows selection of a band by clicking on the desired entry. Clicks on an already selected entry steps to the next memory position and sets the stored frequency, mode, filter and spectrum/waterfall settings.&lt;br /&gt;
The status line on the bottom right hand side of the window will display ... Band, Memory position, Mode, Filter and whether using memory or vfo.&lt;br /&gt;
====XVTR====&lt;br /&gt;
To Come&lt;br /&gt;
&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ../&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=218</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=218"/>
		<updated>2011-11-30T20:39:09Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit cpuusage.cpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get an error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=217</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=217"/>
		<updated>2011-11-29T20:43:36Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gedit libHDynamicBuffer.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo apt-get install libboost-all-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you still get a boot error do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=214</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=214"/>
		<updated>2011-11-27T21:00:57Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=213</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=213"/>
		<updated>2011-11-27T20:08:03Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may apply the above patch manually by:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit libH/Average.hpp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
make sure that you have the following #include&#039;s in that file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do the same with the following patch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p ~/.gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=212</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=212"/>
		<updated>2011-11-27T20:02:49Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png|200px]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p ~/.gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=User:Dl6kbg&amp;diff=211</id>
		<title>User:Dl6kbg</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=User:Dl6kbg&amp;diff=211"/>
		<updated>2011-11-27T19:58:00Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dl6kbg.png|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Name is Oliver and i was born in 1967 and i am a licensed ham since 1991. All of the RIG&#039;s here are homebrewed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Softrock VHF RX Ensemble - 120-180 MHz&lt;br /&gt;
1 Softrock Ensemble RXTX 40-30-20-Meter&lt;br /&gt;
1 Softrock Ensemble RXTX 15-12-10-Meter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Mobo 4.3.4 with SDR-Widget and Filters for 80/40/30/20/15/10-Meters, HF-Projects LPF Board, POSWR Board (5 Watts on all Bands)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the desk now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 UHFSDR which i will connect to a new SDR-Widget / Mobo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am living in the City of Dresden and the Antenna System is poor. I have Short Verticals from 20-10 Meter and a Magnetic Loop for 40-Meter.&lt;br /&gt;
&lt;br /&gt;
73 Oliver DL6KBG, JO61UB&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=210</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=210"/>
		<updated>2011-11-27T15:19:58Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p ~/.gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
Buttonpress = cycle through Step Size&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=209</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=209"/>
		<updated>2011-11-27T15:18:36Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p ~/.gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=User:Dl6kbg&amp;diff=208</id>
		<title>User:Dl6kbg</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=User:Dl6kbg&amp;diff=208"/>
		<updated>2011-11-27T10:59:35Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dl6kbg.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Name is Oliver and i was born in 1967 and i am a licensed ham since 1991. All of the RIG&#039;s here are homebrewed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Softrock VHF RX Ensemble - 120-180 MHz&lt;br /&gt;
1 Softrock Ensemble RXTX 40-30-20-Meter&lt;br /&gt;
1 Softrock Ensemble RXTX 15-12-10-Meter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Mobo 4.3.4 with SDR-Widget and Filters for 80/40/30/20/15/10-Meters, HF-Projects LPF Board, POSWR Board (5 Watts on all Bands)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the desk now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 UHFSDR which i will connect to a new SDR-Widget / Mobo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am living in the City of Dresden and the Antenna System is poor. I have Short Verticals from 20-10 Meter and a Magnetic Loop for 40-Meter.&lt;br /&gt;
&lt;br /&gt;
73 Oliver DL6KBG, JO61UB&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=File:Dl6kbg.png&amp;diff=207</id>
		<title>File:Dl6kbg.png</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=File:Dl6kbg.png&amp;diff=207"/>
		<updated>2011-11-27T10:43:09Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: DL6KBG presenting the Mobo/SDR-Widget and QtRadio at the local Ham Radio Club. (Nov 2011)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DL6KBG presenting the Mobo/SDR-Widget and QtRadio at the local Ham Radio Club. (Nov 2011)&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=User:Dl6kbg&amp;diff=206</id>
		<title>User:Dl6kbg</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=User:Dl6kbg&amp;diff=206"/>
		<updated>2011-11-27T10:31:41Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: Created page with &amp;quot;Name is Oliver and i was born in 1967 and i am a licensed ham since 1991. All of the RIG&amp;#039;s here are homebrewed:  &amp;lt;pre&amp;gt; 1 Softrock VHF RX Ensemble - 120-180 MHz 1 Softrock Ensembl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Name is Oliver and i was born in 1967 and i am a licensed ham since 1991. All of the RIG&#039;s here are homebrewed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Softrock VHF RX Ensemble - 120-180 MHz&lt;br /&gt;
1 Softrock Ensemble RXTX 40-30-20-Meter&lt;br /&gt;
1 Softrock Ensemble RXTX 15-12-10-Meter&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 Mobo 4.3.4 with SDR-Widget and Filters for 80/40/30/20/15/10-Meters, HF-Projects LPF Board, POSWR Board (5 Watts on all Bands)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On the desk now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 UHFSDR which i will connect to a new SDR-Widget / Mobo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I am living in the City of Dresden and the Antenna System is poor. I have Short Verticals from 20-10 Meter and a Magnetic Loop for 40-Meter.&lt;br /&gt;
&lt;br /&gt;
73 Oliver DL6KBG, JO61UB&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=ToDo/-_Wishlist&amp;diff=196</id>
		<title>ToDo/- Wishlist</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=ToDo/-_Wishlist&amp;diff=196"/>
		<updated>2011-11-26T00:55:48Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*add configurable ports to dspserver and qtradio&lt;br /&gt;
*add user/password login to dspserver&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=195</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=195"/>
		<updated>2011-11-26T00:12:28Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;br /&gt;
&lt;br /&gt;
Go to your user directory and do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir -p ~/.gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod * .gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir .gizmod/modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/000-CatchAllDebug.py .gizmod/modules.d/&lt;br /&gt;
$ cp /usr/etc/gizmod/modules.d/299-Powermate-Default.py .gizmod/modules.d/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd modules.d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gedit 299-Powermate-Default.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit 299-Powermate-Default.py like this (Do not change the Filename and edit exactly)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    #***&lt;br /&gt;
  #*********************************************************************&lt;br /&gt;
#*************************************************************************&lt;br /&gt;
#*** &lt;br /&gt;
#*** GizmoDaemon Config Script&lt;br /&gt;
#*** 	Powermate Default config&lt;br /&gt;
#***&lt;br /&gt;
#*****************************************&lt;br /&gt;
  #*****************************************&lt;br /&gt;
    #***&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  Copyright (c) 2007, Gizmo Daemon Team&lt;br /&gt;
  Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
  you may not use this file except in compliance with the License.&lt;br /&gt;
  You may obtain a copy of the License at &lt;br /&gt;
&lt;br /&gt;
	http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and &lt;br /&gt;
  limitations under the License. &lt;br /&gt;
  &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# Imports&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
from GizmoDaemon import *&lt;br /&gt;
from GizmoScriptDefault import *&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
ENABLED = True&lt;br /&gt;
VERSION_NEEDED = 3.2&lt;br /&gt;
INTERESTED_CLASSES = [GizmoEventClass.Powermate]&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault Class definition&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
class PowermateDefault(GizmoScriptDefault):&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	Default Powermate Event Mapping&lt;br /&gt;
	&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	############################&lt;br /&gt;
	# Public Functions&lt;br /&gt;
	##########################&lt;br /&gt;
			&lt;br /&gt;
	def onDeviceEvent(self, Event, Gizmo = None):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		Called from Base Class&#039; onEvent method.&lt;br /&gt;
		See GizmodDispatcher.onEvent documention for an explanation of this function&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	   	# Check for rotations&lt;br /&gt;
		if Event.Type == GizmoEventType.EV_REL:&lt;br /&gt;
			if Gizmo.getKeyState(GizmoKey.BTN_0):&lt;br /&gt;
		   		if Gizmod.DefaultMixerVolume:&lt;br /&gt;
		   			Gizmod.DefaultMixerVolume.VolumePlayback = Gizmod.DefaultMixerVolume.VolumePlayback + Event.Value&lt;br /&gt;
			else:&lt;br /&gt;
				# scroll quickly (by pages using the page up / page down keys)&lt;br /&gt;
				if Event.Value &amp;lt; 0:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_RIGHT)&lt;br /&gt;
				else:&lt;br /&gt;
					for repeat in range(abs(Event.Value)):&lt;br /&gt;
						Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_LEFT)&lt;br /&gt;
			return True&lt;br /&gt;
		elif Event.Type == GizmoEventType.EV_KEY:&lt;br /&gt;
			if Event.Value == 0 and not Gizmo.Rotated:&lt;br /&gt;
				Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY, GizmoKey.KEY_PLUS)				&lt;br /&gt;
			return True&lt;br /&gt;
		return False&lt;br /&gt;
		&lt;br /&gt;
	############################&lt;br /&gt;
	# Private Functions&lt;br /&gt;
	##########################&lt;br /&gt;
&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
		Default Constructor&lt;br /&gt;
		&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		GizmoScriptDefault.__init__(self, ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)&lt;br /&gt;
&lt;br /&gt;
############################&lt;br /&gt;
# PowermateDefault class end&lt;br /&gt;
##########################&lt;br /&gt;
&lt;br /&gt;
# register the user script&lt;br /&gt;
PowermateDefault()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should see the following output:(depends on your system)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GizmoDaemon v3.4 -=- (c) 2007, Tim Burrell &amp;lt;tim.burrell@gmail.com&amp;gt;&lt;br /&gt;
=---------=&lt;br /&gt;
&lt;br /&gt;
Registering Devices:&lt;br /&gt;
&lt;br /&gt;
    Standard - Directory [input]&lt;br /&gt;
    Standard - Sleep Button [event0] vId: 0x0 pId: 0x3&lt;br /&gt;
    Standard - Lid Switch [event1] vId: 0x0 pId: 0x5&lt;br /&gt;
    Standard - HDA Intel Mic [event10] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Mic [event11] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event12] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - HDA Intel Headphone [event13] vId: 0x0 pId: 0x0&lt;br /&gt;
    Standard - Power Button [event2] vId: 0x0 pId: 0x1&lt;br /&gt;
    Keyboard - AT Translated Set 2 keyboard [event3] vId: 0x1 pId: 0x1&lt;br /&gt;
    Standard - Asus Laptop extra buttons [event4] vId: 0x0 pId: 0x0&lt;br /&gt;
   Powermate - Griffin PowerMate [event5] vId: 0x77d pId: 0x410&lt;br /&gt;
    Standard - CNF7237&amp;amp;CNF7238 [event6] vId: 0x17ef pId: 0x4808&lt;br /&gt;
       Mouse - SynPS/2 Synaptics TouchPad [event7] vId: 0x2 pId: 0x7&lt;br /&gt;
    Standard - Video Bus [event8] vId: 0x0 pId: 0x6&lt;br /&gt;
    Standard - HDA Intel HDMI/DP,pcm=3 [event9] vId: 0x0 pId: 0x0&lt;br /&gt;
&lt;br /&gt;
Loading User Scripts:&lt;br /&gt;
&lt;br /&gt;
         CatchAllDebug - CatchAll Event Mapping for Testing&lt;br /&gt;
      PowermateDefault - Default Powermate Event Mapping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should have the following functions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
turn left = KEY RIGHT&lt;br /&gt;
turn right = KEY LEFT&lt;br /&gt;
press and turn left = System Volume down&lt;br /&gt;
press and turn right = System Volume up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=194</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=194"/>
		<updated>2011-11-25T23:57:02Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
In Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
1. Go to your preferred local git directory.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git clone git://github.com/jtriley/gizmod.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd gizmod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the following two patches:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index 14b8d37..b61e2a1 100644&lt;br /&gt;
--- a/libH/Average.hpp&lt;br /&gt;
+++ b/libH/Average.hpp&lt;br /&gt;
@@ -35,6 +35,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
index d794055..75f4c27 100644&lt;br /&gt;
--- a/libH/DynamicBuffer.hpp&lt;br /&gt;
+++ b/libH/DynamicBuffer.hpp&lt;br /&gt;
@@ -33,6 +33,7 @@&lt;br /&gt;
 #include &amp;quot;config.h&amp;quot;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#include &amp;lt;stddef.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vector&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir build&lt;br /&gt;
$ cd build&lt;br /&gt;
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc ..&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will still get a built error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nano gizmod/CMakeFiles/gizmod.dir/link.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-lboost_system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
build again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=193</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=193"/>
		<updated>2011-11-25T23:40:13Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Connecting to a server ===&lt;br /&gt;
&lt;br /&gt;
== Tuning the radio ==&lt;br /&gt;
=== Fixed frequency radio ===&lt;br /&gt;
For crystal locked radios such as the softrock lite II or YU1LM sdr&#039;s It is necessary to use [[#Using subRx | subRx]]. The procedure is to set vfoA to your centre frequency, usually the crystal frequency / 4 and leave it alone as changing it will affect your centre frequency. Using the button on the vfo panel or the &#039;Receiver&#039; Menu / subRx choice switch on the subRx. You can now tune within the limits of the sample rate of your sound card (48, 96 or 192 KHz).&lt;br /&gt;
&lt;br /&gt;
Note that you need to start dspserver with LO offset of zero:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
In the Softrock series of hardware using sound cards, there is frequently a noise band near DC (offset 0).  As such most users will set an offset of 9000 Hz (or 12000Hz etc.) using programs such as PSDR-IQ.  You do the same when starting dspserver:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 9000&lt;br /&gt;
&lt;br /&gt;
=== Direct Down Conversion (DDC) radio ===&lt;br /&gt;
&lt;br /&gt;
Such radios (eg. Perseus, HPSDR, usrp) do not need the offset.  So start dspserver with:&lt;br /&gt;
&lt;br /&gt;
$ dspserver --lo 0&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
The height of the spectrum from the baseline is adjusted by rolling the mouse wheel with the pointer over the level calibration markings on the extreme left hand side of the spectrum window. This will at the same time change the base colour of the waterfall.&lt;br /&gt;
&lt;br /&gt;
The procedure is: After setting the [[#Calibrating the S meter | sound-card gain]] you should remove the antenna and roll the mouse-wheel to give a spectrum display line just above the bottom of the window. When you apply the antenna the spectrum will rise in the window and the waterfall base colour should be dark blue unless the band is particularly noisy.&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&lt;br /&gt;
To calibrate the S Meter, a signal equal to S9 (-73 dBm) is injected into the sdr and the soundcard gain is adjusted until the S meter reads S9. It will then probably be necessary to adjust the spectrum [[#Setting the noise floor | noise floor]] level.&lt;br /&gt;
&lt;br /&gt;
A subjective calibration may be performed by tuning into a signal considered S9 and performing the above procedure.&lt;br /&gt;
&lt;br /&gt;
== VFO and Split selection ==&lt;br /&gt;
&lt;br /&gt;
== Using RIT ==&lt;br /&gt;
&lt;br /&gt;
== Changing bands ==&lt;br /&gt;
&lt;br /&gt;
== Using Quick Memories ==&lt;br /&gt;
&lt;br /&gt;
== Using subRx ==&lt;br /&gt;
To be constructed&lt;br /&gt;
&lt;br /&gt;
== The Menu choices ==&lt;br /&gt;
&lt;br /&gt;
=== Receiver ===&lt;br /&gt;
&#039;&#039;Connect/Disconnect&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can connect to a server either by selecting the server in the Configure &amp;gt; Server list and then click Connect, or by selecting the server in the Quick Server List and click connect.&lt;br /&gt;
&lt;br /&gt;
After you Disconnect from a server, you must wait at least 10 seconds for the disconnection to take full effect before connecting to another server.  This is to allow the internet connection to really disconnect (remember there is network latency and the server will continue to send data till its buffers are emptied).  Failure to do so will often result in error in QtRadio and may even hang QtRadio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Quick Server List&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you see that a public server&#039;s status is &amp;quot;Busy&amp;quot;, please &#039;&#039;&#039;do not&#039;&#039;&#039; connect to it.  Doing so will disrupt the user already connected.  If you see a server&#039;s status is &amp;quot;Idle&amp;quot; or &amp;quot;0 client(s)&amp;quot;, you can connect to it.  If you see &amp;quot;1 client(s)&amp;quot; or &amp;quot;2 client(s)&amp;quot; etc., you are sharing a connection to the same server.  The first client is the master who has control over the vfo and Tx etc., and you will be connecting as a slave.  You will only be able to listen to the audio and see the spectrum passively as an observer.  When the clients before you disconnect, you will automatically become the master.  This is a queuing mechanism.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Configure &amp;gt; Audio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are connecting to a public server on the Internet (ie not your own server on your LAN), &#039;&#039;&#039;please&#039;&#039;&#039; set Audio to 8000, aLaw, and 1 channel.  If you use other settings, your QtRadio and/or the dspserver/server will hang.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
&lt;br /&gt;
=== Band ===&lt;br /&gt;
=== Mode ===&lt;br /&gt;
=== Filter ===&lt;br /&gt;
=== Noise Reduction ===&lt;br /&gt;
=== AGC ===&lt;br /&gt;
=== Spectrum ===&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
=== Bookmarks ===&lt;br /&gt;
&lt;br /&gt;
== Transmit commands ==&lt;br /&gt;
&lt;br /&gt;
== Keyboard Shortcuts ==&lt;br /&gt;
* Arrow Left/Right Tune Down/Up the active VFO&lt;br /&gt;
* Arrow Up/Down Increase /Decrease Step Size above&lt;br /&gt;
* lowercase a = VFOA&lt;br /&gt;
* lowercase b = VFOB&lt;br /&gt;
* lowercase c = Connect &lt;br /&gt;
* lowercase d = Disconnect&lt;br /&gt;
* lowercase k= Bring up Keypad entry window&lt;br /&gt;
* lowercase l = Bring up Quick Connect Window&lt;br /&gt;
* lowercase s = toggle SubRX&lt;br /&gt;
&lt;br /&gt;
== Using the Griffin Powermate USB Dial as VFO Knob ==&lt;br /&gt;
=== The Griffin Powermate USB DIal ===&lt;br /&gt;
[[File:powermate_.png]]&lt;br /&gt;
&lt;br /&gt;
The Griffin Powermate has a single wheel and a pushbutton, which is&lt;br /&gt;
able to do the following actions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Rotate Clockwise&lt;br /&gt;
2. Rotate Counterclockwise&lt;br /&gt;
3. Push Down and Rotate Clockwise&lt;br /&gt;
4. Push Down and Rotate Counterclockwise&lt;br /&gt;
5. Push Down&lt;br /&gt;
6. Long Push Down&lt;br /&gt;
7. Responisve Blue LED&#039;s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So we have 6 possibilities to map to keystrokes, soundcard levels and so on.&lt;br /&gt;
&lt;br /&gt;
In Windows you may refer to the following Document published by FlexRadio. Install the Powermate Software for Windows and map your wanted keys.&lt;br /&gt;
&lt;br /&gt;
http://support.flexradio.com/Downloads.aspx?id=47&lt;br /&gt;
&lt;br /&gt;
=== Download Gizmod ===&lt;br /&gt;
&lt;br /&gt;
IN Linux there is Gizmo Daemon - THE Linux Linux Input Device Utility.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Gizmo is no longer supported by Ubuntu and most other Linux Distributions. The last update on the Gizmo page was in 2009.&lt;br /&gt;
&lt;br /&gt;
So the following Setup is experimental until we may have support for the Powermate in QtRadio or Hamlib directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup Gizmod ===&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=File:Powermate_.png&amp;diff=192</id>
		<title>File:Powermate .png</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=File:Powermate_.png&amp;diff=192"/>
		<updated>2011-11-25T23:19:13Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: A picture of the Griffin Powermate USB Knob. Picture taken by DL6KBG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A picture of the Griffin Powermate USB Knob. Picture taken by DL6KBG&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=153</id>
		<title>Screenshots and Recordings</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=153"/>
		<updated>2011-11-16T19:39:31Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Various QtRadio Recordings ==&lt;br /&gt;
&lt;br /&gt;
Glenn&#039;s Windows QtRadio on an XP Virtual Machine:  http://www.youtube.com/watch?v=0A5MaSYL6mk&lt;br /&gt;
&lt;br /&gt;
Sid&#039;s Beagleboard XM and QtRadio on napan.ca - 8000 1 aLaw:  http://www.youtube.com/watch?v=LB8Vxb07Ph8 &lt;br /&gt;
&lt;br /&gt;
Alex testing TX on the rxtx-event branch:  http://www.youtube.com/watch?v=oc9TuJucD48&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 15M  in VE9 from Singapore:  http://www.youtube.com/watch?v=X-pSa5cHq6A&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Oliver&#039;s TX Signal received on 10 Meter by a Softrock RXTX: http://www.youtube.com/watch?v=vsIdDfSHsWA&lt;br /&gt;
&lt;br /&gt;
Oliver - QtRadio Zapping on a new Server: http://www.youtube.com/watch?v=yY_mUzj357s&lt;br /&gt;
&lt;br /&gt;
== Various QtRadio Screenshots ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Qtradio-cqww-2011-sa5bke.png|QtRadio from CQWW October 2011 running in Ubuntu 10.04&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to make videos in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
In Ubuntu videos are easily recorded with recordmydesktop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change to a terminal window and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In pavucontrol select the wanted audio source.&lt;br /&gt;
&lt;br /&gt;
Before you upload the recorded ogg video file to Youtube, it has to be converted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install mencoder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mencoder foo.ogv -o foo.avi -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to take screenshots in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
[http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux Taking Screenshots in Ubuntu ]&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=152</id>
		<title>Screenshots and Recordings</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Screenshots_and_Recordings&amp;diff=152"/>
		<updated>2011-11-16T17:07:05Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Various QtRadio Recordings ==&lt;br /&gt;
&lt;br /&gt;
Glenn&#039;s Windows QtRadio on an XP Virtual Machine:  http://www.youtube.com/watch?v=0A5MaSYL6mk&lt;br /&gt;
&lt;br /&gt;
Sid&#039;s Beagleboard XM and QtRadio on napan.ca - 8000 1 aLaw:  http://www.youtube.com/watch?v=LB8Vxb07Ph8 &lt;br /&gt;
&lt;br /&gt;
Alex testing TX on the rxtx-event branch:  http://www.youtube.com/watch?v=oc9TuJucD48&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Alex listening in on 15M  in VE9 from Singapore:  http://www.youtube.com/watch?v=X-pSa5cHq6A&amp;amp;feature=related&lt;br /&gt;
&lt;br /&gt;
Oliver&#039;s TX Signal received on 10 Meter by a Softrock RXTX: http://www.youtube.com/watch?v=vsIdDfSHsWA&lt;br /&gt;
&lt;br /&gt;
Oliver - QtRadio Zapping on an new Server: http://www.youtube.com/watch?v=yY_mUzj357s&lt;br /&gt;
&lt;br /&gt;
== Various QtRadio Screenshots ==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Qtradio-cqww-2011-sa5bke.png|QtRadio from CQWW October 2011 running in Ubuntu 10.04&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to make videos in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
In Ubuntu videos are easily recorded with recordmydesktop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change to a terminal window and type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~$ recordmydesktop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In pavucontrol select the wanted audio source.&lt;br /&gt;
&lt;br /&gt;
Before you upload the recorded ogg video file to Youtube, it has to be converted:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install mencoder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mencoder foo.ogv -o foo.avi -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to take screenshots in Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
[http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux Taking Screenshots in Ubuntu ]&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=ToDo/-_Wishlist&amp;diff=119</id>
		<title>ToDo/- Wishlist</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=ToDo/-_Wishlist&amp;diff=119"/>
		<updated>2011-11-14T20:02:08Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*add support for Griffin Powermate Vfo Knob&lt;br /&gt;
*add configurable ports to dspserver and qtradio&lt;br /&gt;
*add user/password login to dspserver&lt;br /&gt;
*add setSquelchVal for VHF&lt;br /&gt;
*add keystrokes for all buttons&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Pulseaudio_Setup&amp;diff=114</id>
		<title>Pulseaudio Setup</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Pulseaudio_Setup&amp;diff=114"/>
		<updated>2011-11-14T19:34:25Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set audio levels with Pavucontrol ==&lt;br /&gt;
To configure the softrock server with your soundcard for IQ processing use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pavucontrol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to install it, submit the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install pavucontrol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose your Soundcard for IQ processing. If you are running the SDR-Widget your settings should look like in the following two pictures.&lt;br /&gt;
=== TX audio levels on the softrock server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playback.png]]&lt;br /&gt;
=== RX audio levels on the softrock server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Recording.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Make shure not to set the RX Audio level in the Recording Tab of pavucontrol to 100%. Otherwise you could have audio feedthrough from RX to TX and a distorted TX Audio. A level from 22% - 80% would be ok, but may vary on each system.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Enable network mode ==&lt;br /&gt;
You also need to run pulse in network mode. Use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
paprefs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to install it, submit the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paprefs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to set up network access by checking the various option boxes.&lt;br /&gt;
&lt;br /&gt;
=== Pulseaudio Setup independant on a X-Server installation ===&lt;br /&gt;
==== Add Username to /etc/group ====&lt;br /&gt;
Make sure you add your username to the following system groups:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;pulse&lt;br /&gt;
&amp;lt;li&amp;gt;pulse-access&lt;br /&gt;
&amp;lt;li&amp;gt;audio&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the following commands: ($USER stands for current logged in user)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo adduser $USER pulse&lt;br /&gt;
sudo adduser $USER pulse-access&lt;br /&gt;
sudo adduser $USER audio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example, for the user dl6kbg the grup file must contain:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep dl6kbg /etc/group&lt;br /&gt;
...&lt;br /&gt;
audio:x:29:pulse,dl6kbg&lt;br /&gt;
pulse:x:119:dl6kbg&lt;br /&gt;
pulse-access:x:120:dl6kbg&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Enable Pulseaudio Daemon to run in system wide mode ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/pulseaudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
change settings to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PULSEAUDIO_SYSTEM_START=1&lt;br /&gt;
DISALLOW_MODULE_LOADING=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Enable network mode ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/pulse/system.pa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load-module module-native-protocol-tcp auth-anonymous=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart pulseaudio:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/pulseaudio restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or restart the system and fire up the softrock server.&lt;br /&gt;
Pulseaudio runs now in systemwide mode and your softrock server should be able to establish a connection&lt;br /&gt;
to your following dspserver.&lt;br /&gt;
&lt;br /&gt;
== Configure Pulseaudio Daemon ==&lt;br /&gt;
&lt;br /&gt;
In order to use 96000 or 192000, you will need to configure pulse audio by editing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pulse/daemon.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment these settings and change it for your needs.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s24le&lt;br /&gt;
default-sample-rate = 192000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweak System for realtime performance ==&lt;br /&gt;
&lt;br /&gt;
For realtime audio add the following to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/security/limits.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@audio - rtprio 99&lt;br /&gt;
@audio - memlock unlimited&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and reboot and enjoy your system.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Pulseaudio_Setup&amp;diff=109</id>
		<title>Pulseaudio Setup</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Pulseaudio_Setup&amp;diff=109"/>
		<updated>2011-11-14T19:24:55Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: /* Set audio levels with Pavucontrol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set audio levels with Pavucontrol ==&lt;br /&gt;
To run the softrock server use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pavucontrol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to install it, submit the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install pavucontrol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to choose the default pulse audio sources:&lt;br /&gt;
=== TX audio levels on the softrock server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playback.png]]&lt;br /&gt;
=== RX audio levels on the softrock server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Recording.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Make shure not to set the RX Audio level in the Recording Tab of pavucontrol to 100%. Otherwise you could have audio feedthrough from RX to TX and a distorted TX Audio. A level from 22% - 80% would be ok, but may vary on each system.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Enable Network Mode ==&lt;br /&gt;
You also need to run pulse in network mode. Use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
paprefs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to install it, submit the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paprefs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to set up network access by checking the various option boxes.&lt;br /&gt;
&lt;br /&gt;
=== Pulseaudio Setup independant on a X-Server installation ===&lt;br /&gt;
&lt;br /&gt;
Make sure you add your username to the following system groups:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;pulse&lt;br /&gt;
&amp;lt;li&amp;gt;pulse-access&lt;br /&gt;
&amp;lt;li&amp;gt;audio&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the following commands: ($USER stands for current logged in user)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo adduser $USER pulse&lt;br /&gt;
sudo adduser $USER pulse-access&lt;br /&gt;
sudo adduser $USER audio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example, for the user dl6kbg the grup file must contain:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep dl6kbg /etc/group&lt;br /&gt;
...&lt;br /&gt;
audio:x:29:pulse,dl6kbg&lt;br /&gt;
pulse:x:119:dl6kbg&lt;br /&gt;
pulse-access:x:120:dl6kbg&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/pulseaudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
change settings to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PULSEAUDIO_SYSTEM_START=1&lt;br /&gt;
DISALLOW_MODULE_LOADING=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/pulse/system.pa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load-module module-native-protocol-tcp auth-anonymous=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart pulseaudio:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/pulseaudio restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or restart the system and fire up the softrock server.&lt;br /&gt;
Pulseaudio runs now in systemwide mode and your softrock server should be able to establish a connection&lt;br /&gt;
to your following dspserver.&lt;br /&gt;
&lt;br /&gt;
== Configure Pulseaudio Daemon ==&lt;br /&gt;
&lt;br /&gt;
In order to use 96000 or 192000, you will need to configure pulse audio by editing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pulse/daemon.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment these settings and change it for your needs.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s24le&lt;br /&gt;
default-sample-rate = 192000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tweak System for realtime performance ==&lt;br /&gt;
&lt;br /&gt;
For realtime audio add the following to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/security/limits.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@audio - rtprio 99&lt;br /&gt;
@audio - memlock unlimited&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and reboot and enjoy your system.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Pulseaudio_Setup&amp;diff=108</id>
		<title>Pulseaudio Setup</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Pulseaudio_Setup&amp;diff=108"/>
		<updated>2011-11-14T19:15:48Z</updated>

		<summary type="html">&lt;p&gt;Dl6kbg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Set audio levels with Pavucontrol ==&lt;br /&gt;
To run the softrock server use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pavucontrol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to install it, submit the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install pavucontrol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to choose the default pulse audio sources:&lt;br /&gt;
=== TX audio levels on the softrock server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Playback.png]]&lt;br /&gt;
=== RX adio levels on the softrock server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Recording.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Make shure not to set the RX Audio level in the Recording Tab of pavucontrol to 100%. Otherwise you could have audio feedthrough from RX to TX and a distorted TX Audio. A level from 22% - 80% would be ok, but may vary on each system.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You also need to run pulse in network mode. Use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
paprefs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to install it, submit the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install paprefs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to set up network access by checking the various option boxes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pulseaudio Setup independant on a X-Server installation  &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you add your username to the following system groups:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;pulse&lt;br /&gt;
&amp;lt;li&amp;gt;pulse-access&lt;br /&gt;
&amp;lt;li&amp;gt;audio&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the following commands: ($USER stands for current logged in user)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo adduser $USER pulse&lt;br /&gt;
sudo adduser $USER pulse-access&lt;br /&gt;
sudo adduser $USER audio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example, for the user dl6kbg the grup file must contain:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grep dl6kbg /etc/group&lt;br /&gt;
...&lt;br /&gt;
audio:x:29:pulse,dl6kbg&lt;br /&gt;
pulse:x:119:dl6kbg&lt;br /&gt;
pulse-access:x:120:dl6kbg&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/default/pulseaudio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
change settings to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PULSEAUDIO_SYSTEM_START=1&lt;br /&gt;
DISALLOW_MODULE_LOADING=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/pulse/system.pa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load-module module-native-protocol-tcp auth-anonymous=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart pulseaudio:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/pulseaudio restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or restart the system and fire up the softrock server.&lt;br /&gt;
Pulseaudio runs now in systemwide mode and your softrock server should be able to establish a connection&lt;br /&gt;
to your following dspserver.&lt;br /&gt;
&lt;br /&gt;
In order to use 96000 or 192000, you will need to configure pulse audio by editing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/pulse/daemon.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Uncomment these settings and change it for your needs.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s24le&lt;br /&gt;
default-sample-rate = 192000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For realtime audio add the following to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/security/limits.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@audio - rtprio 99&lt;br /&gt;
@audio - memlock unlimited&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and reboot and enjoy your system.&lt;/div&gt;</summary>
		<author><name>Dl6kbg</name></author>
	</entry>
</feed>