Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An evolution of the Qt-based Funcube Dongle HID controller.

branch: master

Update readme.

latest commit 53b17ac1e8
Alexandru Csete authored December 09, 2013
Octocat-spinner-32 images New RF chain graphics. March 10, 2011
Octocat-spinner-32 .gitignore Updated. May 27, 2012
Octocat-spinner-32 AUTHORS.txt Merge branch 'master' into newctl August 13, 2011
Octocat-spinner-32 LICENSE.txt Added license and readme. February 16, 2011
Octocat-spinner-32 NEWS.txt Updated news file. December 09, 2013
Octocat-spinner-32 README.txt Update readme. December 09, 2013
Octocat-spinner-32 dockifgain.cpp Issue #10: Move IF gain controls to dock widget. August 28, 2011
Octocat-spinner-32 dockifgain.h Issue #10: Moved IF filter and gain mode control into dock widget. Ch… August 30, 2011
Octocat-spinner-32 dockifgain.ui Pack IF ctl widgets into a vertical scrollarea. January 01, 2012
Octocat-spinner-32 fcd.c Minor fix to comment. March 30, 2011
Octocat-spinner-32 fcd.h Fix spelling error (thanks to Paul Schulz). July 21, 2011
Octocat-spinner-32 fcddiagram.cpp Issue #10: Move FCD diagram from main window into dedicated dialog. August 25, 2011
Octocat-spinner-32 fcddiagram.h Issue #10: Move FCD diagram from main window into dedicated dialog. August 25, 2011
Octocat-spinner-32 fcddiagram.ui Issue #10: Move FCD diagram from main window into dedicated dialog. August 25, 2011
Octocat-spinner-32 fcdhidcmd.h Added command for Bias-T ON/OFF (avaialble with firmware 18h). March 26, 2011
Octocat-spinner-32 firmware.cpp Fix crash when closing FW dialog. April 09, 2012
Octocat-spinner-32 firmware.h Fix crash when closing FW dialog. April 09, 2012
Octocat-spinner-32 firmware.ui Issue #10: Moved IF filter and gain mode control into dock widget. Ch… August 30, 2011
Octocat-spinner-32 freqctrl.cpp Include source files for new frequency controller. June 03, 2011
Octocat-spinner-32 freqctrl.h freqctrl.h: build fix July 31, 2013
Octocat-spinner-32 funcube-dongle.rules Update udev rules file. December 09, 2013
Octocat-spinner-32 hid-libusb.c Update hidapi to 0.8-rc1+1 December 09, 2013
Octocat-spinner-32 hidapi.h Update hidapi to 0.8-rc1+1 December 09, 2013
Octocat-spinner-32 hidmac.c Update hidapi to 0.8-rc1+1 December 09, 2013
Octocat-spinner-32 hidraw.c Update hidapi to 0.8-rc1+1 December 09, 2013
Octocat-spinner-32 hidwin.c Update hidapi to 0.8-rc1+1 December 09, 2013
Octocat-spinner-32 iqbalance.cc Add option to revert I/Q correction values to the previously stored v… July 22, 2011
Octocat-spinner-32 iqbalance.h Add option to revert I/Q correction values to the previously stored v… July 22, 2011
Octocat-spinner-32 iqbalance.ui Improved tooltip. July 22, 2011
Octocat-spinner-32 main.cpp Use new configuration settings. April 09, 2012
Octocat-spinner-32 mainwindow.cpp Remove inactive code. November 27, 2012
Octocat-spinner-32 mainwindow.h Support for up- and downconverters. January 01, 2012
Octocat-spinner-32 mainwindow.ui Tweak widget spacing in the main window. November 27, 2012
Octocat-spinner-32 qthid.pro Switch back to libusb as hidapi is now fixed. December 09, 2013
Octocat-spinner-32 qthid.qrc Added two more icons. March 08, 2011
Octocat-spinner-32 qthid.rc Various fixes for windows build using latest SDK (7.0). March 12, 2011
README.txt
1. INTRODUCTION

Qthid is a Funcube Dongle control application with Qt user interface. It is an evolution of the qthid002 package by Howard Long G6LVB.

The Funcube Dongle (http://www.funcubedongle.com/) is a small software defined radio receiver for 64 MHz - 1.7 GHz. It fits into a computer's USB port and uses USB audio to transfer complex I/Q data to SDR applications. The control API for setting frequency, gain, filter, etc. uses the USB HID standard, thus the Funcube Dongle does not require any specific hardware drivers as long as the host operating system supports USB audio and HID.

Qthid uses the HIDAPI cross platform library by Signal 11 Software (http://www.signal11.us/oss/hidapi/). All the required files are bundled with qthid and no installation of the library is required.

The current version 4.0 implements the full API available with the 18f firmware. It should cover all the functionality provided by the "fully functional windows frontend". Note that the majority of this full API is only available since firmware 18f and qthid 4 will not work with earlier firmware. The application will simply fail to detect the FCD with earlier firmwares.

You can use qthid 2.x to upgrade your firmware to 18f or later.


2. INSTALLATION AND USAGE

2.1 Linux

If you are using Debian testing or Ubuntu, you can install the qthid-fcd-controller package. This should set everything up and you can skip the rest of this section.

Otherwise you can use the precompiled binaries (32 or 64 bit) but you need the Qt runtime libraries installed. On Ubuntu these are called libqtcore4 and libqtgui4 and their dependencies. You can simply install everything Qt version 4 (not version 3!). Qt 4.8 has been tested, Qt 4.7 and 5.x will probably also work.

In order to use the Funcube Dongle as regular user, you need to create an udev rule. An example funcube-dongle.rules file is included with the package and you can simply copy that into the /etc/udev/rules.d/ directory.
  
(hint: open a terminal and type: sudo cp funcube-dongle.rules /etc/udev/rules.d/70-funcube-dongle.rules)

Qthid should now detect your FCD when you plug it in. No need to restart udev.


2.2 Mac OS X (10.6+)

The Mac OS X bundle contains all the necessary Qt libraries and no additional installation or configuration is required. Unlike Linux, the Funcube Dongle will just work.


2.3 Windows

The windows package is self containing and does not require and Qt libs to be installed separately. It is known to work on Windows XP and Windows 7.


2.4 Building from source

- Install Qt Creator 2.0.1 or newer and Qt SDK 4.7. On recent linux it is normally sufficient to select Qt Creator and the required Qt libraries will be installed as dependencies. On Mac and Windows you need to download the full Qt SDK. On Windows you also need the MS Windows SDK.
- On linux you also need to install the libusb-1.0-dev package using the package manager (the name may be different depending on distribution but it should have libusb and dev in the name and the version should be 1.0.x).
- Open the qthid.pro file in Qt Creator. It will say something about setting up a target; say OK or Finish or Done (depends on version and OS).
- You can now build and execute the project.

If you want to try the latest experimental code you can check it out from Github: https://github.com/csete/qthid


3. License

Qthid is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.


The frequency controller widget was taken from Cutesdr by Moe Wheatley, released under the following "Simplified BSD License":

Copyright 2010 Moe Wheatley. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:

   1. Redistributions of source code must retain the above copyright notice, this list of
    conditions and the following disclaimer.

   2. Redistributions in binary form must reproduce the above copyright notice, this list
    of conditions and the following disclaimer in the documentation and/or other materials
    provided with the distribution.

THIS SOFTWARE IS PROVIDED BY Moe Wheatley ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Moe Wheatley OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the
authors and should not be interpreted as representing official policies, either expressed
or implied, of Moe Wheatley.

Something went wrong with that request. Please try again.