<?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=Zl2apv</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=Zl2apv"/>
	<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php/Special:Contributions/Zl2apv"/>
	<updated>2026-04-05T21:06:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=509</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=509"/>
		<updated>2012-08-25T00:21:58Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Compiling QtRadio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed before portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1 if you have already installed jackd2 on your system.&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CFLAGS=&#039;-fopenmp -O3 -msse3&#039; CXXFLAGS=&#039;-fopenmp -O3 -msse3&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
&lt;br /&gt;
It may be necessary to edit the project file (QtRadio.pro) to choose which version of Qt Creator you are using which can be the SDK directly from Nokia, or the Ubuntu install of Creator. The line &amp;quot;_UsingSDK&amp;quot; needs to be set to true or false as appropriate.&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=503</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=503"/>
		<updated>2012-07-13T10:20:42Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Choosing the build library in QtCreator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed before portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1 if you have already installed jackd2 on your system.&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
&lt;br /&gt;
It may be necessary to edit the project file (QtRadio.pro) to choose which version of Qt Creator you are using which can be the SDK directly from Nokia, or the Ubuntu install of Creator. The line &amp;quot;_UsingSDK&amp;quot; needs to be set to true or false as appropriate.&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=492</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=492"/>
		<updated>2012-06-25T20:05:53Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* If you are starting from scratch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed before portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1 if you have already installed jackd2 on your system.&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=491</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=491"/>
		<updated>2012-06-25T20:05:22Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* If jackd1 and portaudio19-dev already installed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed before portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1 if you have already installed jackd2 on your system.&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=488</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=488"/>
		<updated>2012-06-05T23:07:18Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed before portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1 if you have already installed jackd2 on your system.&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=487</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=487"/>
		<updated>2012-06-05T23:05:01Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=486</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=486"/>
		<updated>2012-06-05T23:03:34Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing portaudio19-dev with jackd2 =&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== If jackd1 and portaudio19-dev already installed ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== If you are starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Installing Qt5 =&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ==&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
== 2. Installing from the ppa ==&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
== 3. Setting the path to qt5 ==&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Compiling QtRadio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Setting QtCreator to use the qt5 libraries ==&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
== 6. Choosing the build library in QtCreator ==&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=485</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=485"/>
		<updated>2012-06-05T22:31:06Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing portaudio19-dev with jackd2 ==&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it&#039;s dependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course if you are starting from scratch then this is all you need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=484</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=484"/>
		<updated>2012-06-05T22:28:24Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing portaudio19-dev with jackd2 ==&lt;br /&gt;
&lt;br /&gt;
Portaudio19-dev depends on having a copy of libjack-dev installed and if the libkjack-jackd2-dev package is installed befor portaudio19-dev it sependency will be satisfied and it will not uninstall jackd2 and install jackd1. If you have already installed jackd1 with portaudio19-dev then the following procedure will fix the problem ...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Uninstall portaudio19-dev&lt;br /&gt;
Uninstall jackd1&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course if you are starting from scratch then this is all you need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;From Synaptic&lt;br /&gt;
&lt;br /&gt;
Install Jackd2&lt;br /&gt;
Install libkjack-jackd2-dev&lt;br /&gt;
Install portaudio19-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=483</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=483"/>
		<updated>2012-06-05T22:11:29Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
* Installing Qt5&lt;br /&gt;
* Installing portaudio19-dev with jackd2&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=482</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=482"/>
		<updated>2012-06-05T07:37:50Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
From the top line menu of QtCreator ...&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=481</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=481"/>
		<updated>2012-06-05T07:35:30Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* 2. Installing from the ppa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at [https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily canonical-qt5-edgers]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=480</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=480"/>
		<updated>2012-06-05T07:31:38Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* 2. Installing from the ppa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at ...&lt;br /&gt;
&lt;br /&gt;
[https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily]&lt;br /&gt;
&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=479</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=479"/>
		<updated>2012-06-05T07:29:40Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure it to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=478</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=478"/>
		<updated>2012-06-05T07:26:14Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure Qt Creator to use Qt5 as one of the options:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=477</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=477"/>
		<updated>2012-06-05T07:22:06Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure Qt Creator to use Qt5 as one of the options:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=476</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=476"/>
		<updated>2012-06-05T07:19:40Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&lt;br /&gt;
&#039;$&#039; cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
&#039;$&#039; sh cleanup&lt;br /&gt;
\$ autoreconf -i&lt;br /&gt;
\$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
\$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
\$ make&lt;br /&gt;
\$ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure Qt Creator to use Qt5 as one of the options:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=475</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=475"/>
		<updated>2012-06-05T07:17:40Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&lt;br /&gt;
\$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
\$ sh cleanup&lt;br /&gt;
\$ autoreconf -i&lt;br /&gt;
\$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
\$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
\$ make&lt;br /&gt;
\$ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure Qt Creator to use Qt5 as one of the options:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=474</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=474"/>
		<updated>2012-06-05T07:15:11Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&lt;br /&gt;
=== 3. Setting the path to qt5 ===&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
=== 4. Compiling QtRadio ===&lt;br /&gt;
&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== 5. Setting QtCreator to use the qt5 libraries ===&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure Qt Creator to use Qt5 as one of the options:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
&lt;br /&gt;
=== 6. Choosing the build library in QtCreator ===&lt;br /&gt;
&lt;br /&gt;
you need to (re)import your QtRadio project and then you will be able to select Qt5 (or the previous Qt4.8 etc.) for building the application.&lt;br /&gt;
(I have not got this to work yet so there is some more to go here when I get it sorted.)&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=473</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=473"/>
		<updated>2012-06-05T07:11:46Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
You need to add the unsupported packages to your system. It will exist as a stand alone system separate from any other version of qt or creator etc. that you may have installed.&lt;br /&gt;
&lt;br /&gt;
=== 1. Adding the qt5 “Canonical Qt5 Edgers” ppa to your system ===&lt;br /&gt;
&lt;br /&gt;
In a terminal, copy and paste ...&lt;br /&gt;
&lt;br /&gt;
sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-daily&lt;br /&gt;
&lt;br /&gt;
Your system will now fetch the PPA&#039;s key. This enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built. &lt;br /&gt;
&lt;br /&gt;
Now, as a one-off, you should tell your system to pull down the latest list of software from each archive it knows about, including the PPA you just added: &lt;br /&gt;
&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
Now you&#039;re ready to start installing software from the PPA!&lt;br /&gt;
&lt;br /&gt;
=== 2. Installing from the ppa ===&lt;br /&gt;
&lt;br /&gt;
You will be installing the packages from the daily build of qt5 and the version date etc. could change but it is important to check that you have marked for install the package corresponding to the qt5 build as some of the packages may also be installed for qt 4.8.x A good check is to open the url for the Edgers and compare your selection to their file list at&lt;br /&gt;
https://launchpad.net/~canonical-qt5-edgers/+archive/qt5-daily&lt;br /&gt;
The packages will be identified with similar to&lt;br /&gt;
   5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
I have shown the example on the first entry in the list only.&lt;br /&gt;
&lt;br /&gt;
Open Synaptic and use the quick find to look for and mark for install each of the packages in the following list ...&lt;br /&gt;
&lt;br /&gt;
 qt-components-qtquick2     5.0-2012xxx ubuntu5 Zoltan Balogh (2012-04-05)&lt;br /&gt;
 qt3d&lt;br /&gt;
 qtbase&lt;br /&gt;
 qtdeclarative&lt;br /&gt;
 qtdoc&lt;br /&gt;
 qtjsbackend&lt;br /&gt;
 qtmultimedia&lt;br /&gt;
 qtquick1&lt;br /&gt;
 qtscript&lt;br /&gt;
 qtsvg&lt;br /&gt;
 qttools&lt;br /&gt;
 qtwebkit&lt;br /&gt;
 qtxmlpatterns&lt;br /&gt;
&lt;br /&gt;
note: there are a couple of packages which you do not need to install.&lt;br /&gt;
&lt;br /&gt;
These packages will install by default in /opt/qt5&lt;br /&gt;
&lt;br /&gt;
3. Setting the path to qt5&lt;br /&gt;
&lt;br /&gt;
From a terminal&lt;br /&gt;
$ export PATH=/opt/qt5/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
4. Compiling QtRadio&lt;br /&gt;
&lt;br /&gt;
$ cd to the location of ghpsdr3-alex&lt;br /&gt;
&lt;br /&gt;
$ sh cleanup&lt;br /&gt;
$ autoreconf -i&lt;br /&gt;
$ ./configure CXXFLAGS = &#039;-O3 -fopenmp&#039;&lt;br /&gt;
(for those of us with older machines use the line below instead)&lt;br /&gt;
$ ./configure CXXFLAGS=&#039;-O3 -msse2 -fopenmp&#039;&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&lt;br /&gt;
5. Setting QtCreator to use the qt5 libraries&lt;br /&gt;
&lt;br /&gt;
If you want to use Qt Creator (you use the same Qt Creator as with Qt4), you need to configure Qt Creator to use Qt5 as one of the options:&lt;br /&gt;
&lt;br /&gt;
Tools &amp;gt; Options &amp;gt; Build &amp;amp; Run&lt;br /&gt;
Click on the Qt Versions panel&lt;br /&gt;
Click on Add button&lt;br /&gt;
Navigate to /opt/qt5/bin&lt;br /&gt;
Click on qmake&lt;br /&gt;
Click on open&lt;br /&gt;
Click on Apply then OK&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You need to point to the qmake file which is found in /opt/qt5/bin&lt;br /&gt;
6. Choosing the build library in QtCreator&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=472</id>
		<title>Developers Documentation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=Developers_Documentation&amp;diff=472"/>
		<updated>2012-06-05T07:04:44Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[https://github.com/alexlee188/ghpsdr3-alex Git Repository ]&lt;br /&gt;
*[https://github.com/alexlee188/ghpsdr3-alex/blob/master/README README]&lt;br /&gt;
*[http://code.google.com/p/sdr-shell/wiki/SDRCore Dttsp]&lt;br /&gt;
*[http://www.youtube.com/watch?v=6KtOzh0StTc A Very good video tutorial series on using QT and C++]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3 A Brief Description on the architecture of ghpsdr3]&lt;br /&gt;
*[http://openhpsdr.org/wiki/images/4/47/Ghpsdr3-protocols2010-08-07.pdf Ghpsdr3 communication protocols 2010-08-07]&lt;br /&gt;
*[http://openhpsdr.org/wiki/index.php?title=Ghpsdr3_protocols More on the Ghpsdr communications protocols (and more up to date)]&lt;br /&gt;
*[[dspserver.conf]] The &#039;&#039;&#039;&#039;&#039;dspserver.conf&#039;&#039;&#039;&#039;&#039; file has it&#039;s own page&lt;br /&gt;
&lt;br /&gt;
== Installing Qt5 ==&lt;br /&gt;
&lt;br /&gt;
Most of the development discussion has been taking place on the [http://groups.google.com/group/sdr-widget sdr-widget google group].&lt;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=What%27s_New&amp;diff=388</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=388"/>
		<updated>2012-02-19T21:06:08Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=253</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=253"/>
		<updated>2011-12-05T01:57:03Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Band Selection */&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 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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=238</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=238"/>
		<updated>2011-12-01T22:48:50Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Calibrating the S meter */&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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=237</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=237"/>
		<updated>2011-12-01T22:45:02Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Editing a bookmark */&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 | 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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=236</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=236"/>
		<updated>2011-12-01T22:42:32Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Editing a bookmark */&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 | 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;
1 From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
&lt;br /&gt;
2 From the left hand panel click on the item to be edited.&lt;br /&gt;
&lt;br /&gt;
3 Either edit the title and click on update,&lt;br /&gt;
&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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=235</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=235"/>
		<updated>2011-12-01T22:39:27Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Editing a bookmark */&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 | 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;
&lt;br /&gt;
From the main menu choose Bookmarks/Edit Bookmarks.&lt;br /&gt;
&lt;br /&gt;
From the left hand panel click on the item to be edited.&lt;br /&gt;
&lt;br /&gt;
either edit the title and click on update,&lt;br /&gt;
&lt;br /&gt;
or click on delete.&lt;br /&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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=234</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=234"/>
		<updated>2011-12-01T22:38:09Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Bookmarks */&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 | 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;
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;
&#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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=233</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=233"/>
		<updated>2011-12-01T22:21:12Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Overview */&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 | 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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=232</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=232"/>
		<updated>2011-12-01T22:19:52Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Reading from Band menu */&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 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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=231</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=231"/>
		<updated>2011-12-01T22:18:37Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Reading from Band menu */&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 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 &amp;quot;Band&amp;quot;[[#Band Selection | Band]] 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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=230</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=230"/>
		<updated>2011-12-01T22:17:44Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Reading from Band menu */&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 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 &amp;quot;Band&amp;quot;[[#Band selection | Band]] 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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=229</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=229"/>
		<updated>2011-12-01T22:15:56Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Reading from Band menu */&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 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 &amp;quot;Band&amp;quot;[[#Setting the noise floor | Band]] 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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=228</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=228"/>
		<updated>2011-12-01T22:12:12Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Using Quick Memories */&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 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 &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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=225</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=225"/>
		<updated>2011-12-01T07:34:52Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* =Reading from Band menu */&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=224</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=224"/>
		<updated>2011-12-01T07:33:43Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Using Quick Memories */&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=223</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=223"/>
		<updated>2011-12-01T06:57:25Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Band */&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;
====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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=222</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=222"/>
		<updated>2011-12-01T06:55:44Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Band */&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;
====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;
&lt;br /&gt;
&#039;&#039;Band Selection&#039;&#039;&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;
&lt;br /&gt;
&#039;&#039;XVTR&#039;&#039;&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=221</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=221"/>
		<updated>2011-12-01T06:53:48Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Band */&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;
&#039;&#039;Keypad&#039;&#039;&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;
&lt;br /&gt;
&#039;&#039;Band Selection&#039;&#039;&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;
&lt;br /&gt;
&#039;&#039;XVTR&#039;&#039;&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=220</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=220"/>
		<updated>2011-12-01T06:53:09Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Band */&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;
&#039;&#039;Keypad&#039;&#039;&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;
&#039;&#039;Band Selection&#039;&#039;&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;
&#039;&#039;XVTR&#039;&#039;&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=219</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=219"/>
		<updated>2011-12-01T06:46:38Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Band */&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;
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;
&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>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=91</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=91"/>
		<updated>2011-11-13T11:22:55Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Setting the noise floor */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=90</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=90"/>
		<updated>2011-11-13T11:20:36Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Calibrating the S meter */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=89</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=89"/>
		<updated>2011-11-13T11:19:12Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Calibrating the S meter */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=88</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=88"/>
		<updated>2011-11-13T11:16:23Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Calibrating the S meter */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&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 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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=87</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=87"/>
		<updated>2011-11-13T11:10:50Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Setting the noise floor */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&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;
&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=86</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=86"/>
		<updated>2011-11-13T11:08:44Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Setting the noise floor */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&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 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;
&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=85</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=85"/>
		<updated>2011-11-13T10:54:43Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Fixed frequency radio */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=84</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=84"/>
		<updated>2011-11-13T10:53:37Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Fixed frequency radio */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
	<entry>
		<id>https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=83</id>
		<title>QtRadio - Operation</title>
		<link rel="alternate" type="text/html" href="https://napan.ca/ghpsdr3/index.php?title=QtRadio_-_Operation&amp;diff=83"/>
		<updated>2011-11-13T09:20:41Z</updated>

		<summary type="html">&lt;p&gt;Zl2apv: /* Fixed frequency radio */&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) with your centre frequency offset from centre by 9 KHz.&lt;br /&gt;
&lt;br /&gt;
Note there is still a bug in the display where the lower 9 KHz wraps to the upper 9 KHz but the audio doesn&#039;t track the spectrum so you lose 9 KHz of possible bandwidth.&lt;br /&gt;
&lt;br /&gt;
=== si570 tunable radio ===&lt;br /&gt;
&lt;br /&gt;
== Setting the noise floor ==&lt;br /&gt;
&lt;br /&gt;
== Calibrating the S meter ==&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;
=== Audio ===&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;/div&gt;</summary>
		<author><name>Zl2apv</name></author>
	</entry>
</feed>