wfview is open-source software for the control of modern Icom radios, including the IC-7300, IC-7610, IC-705, IC-R8600 and IC-9700. USB and LAN are supported. See wfview.org
 
 
 
Go to file
Roeland Jansen 84cee8386b bands page reorganized 2022-10-14 17:45:49 +02:00
USERMANUAL Fix spelling errors 2022-03-23 15:45:51 +00:00
qdarkstyle
realknob@84fc7c5851 Added a pretty knob that does nothing to the IC-9700 calibration window. 2022-10-11 17:48:54 -07:00
resampler Fix spelling errors 2022-03-23 15:45:51 +00:00
resources Added a pretty knob that does nothing to the IC-9700 calibration window. 2022-10-11 17:48:54 -07:00
.gitignore Few more fixes and move windows builds into separate directories 2022-04-04 11:12:06 +01:00
.gitmodules Added a pretty knob that does nothing to the IC-9700 calibration window. 2022-10-11 17:48:54 -07:00
CHANGELOG added cluster support 2022-10-10 17:11:05 +02:00
CONTRIBUTING.md added contributors and whatsnew changes 2022-04-18 14:13:53 +02:00
INSTALL.md Update INSTALL.md 2022-05-19 16:03:06 +00:00
INSTALL_PREBUILT_BINARY.md dropped openSUSE 15.2, out of support 2022-05-24 17:55:03 +02:00
LICENSE
README.md Fix spelling errors 2022-03-23 15:45:51 +00:00
WHATSNEW added cluster support 2022-10-10 17:11:05 +02:00
aboutbox.cpp Added dialog box to the toFixed button where an edge can be selected. 2022-09-20 08:58:12 -07:00
aboutbox.h
aboutbox.ui
audioconverter.cpp Added tic marks, removed audio RMS calculation for now at least. 2022-08-24 21:52:36 -07:00
audioconverter.h Audio metering initial. Very messy but you can select TxRxAudio as the 2022-08-23 22:24:05 -07:00
audiohandler.cpp Make multimedia-plugins message only for Linux 2022-09-27 08:30:17 +01:00
audiohandler.h Fixed up signals and slots related to audio levels, removed extra junk 2022-08-24 15:02:00 -07:00
audiotaper.h
calibrationwindow.cpp Fixed the button color. 2022-10-11 21:10:22 -07:00
calibrationwindow.h
calibrationwindow.ui Got resize working just fine 2022-10-11 20:35:56 -07:00
cluster.cpp Add sendOutput() back to tcp cluster 2022-10-09 14:35:24 +01:00
cluster.h Remove calls for QSqlDatabase when USESQL is not configured 2022-10-05 13:43:07 +01:00
colorprefs.h Add cluster spot color picker 2022-10-09 14:23:07 +01:00
commhandler.cpp Update commhandler.cpp 2022-05-14 11:48:58 +01:00
commhandler.h Use qtimer to signal a reconnect 2022-05-14 11:35:41 +01:00
database.cpp Make SQL db optional 2022-10-05 12:43:39 +01:00
database.h Make SQL db optional 2022-10-05 12:43:39 +01:00
freqmemory.cpp Fix spelling errors 2022-03-23 15:45:51 +00:00
freqmemory.h Add PSK modes to IC-7610 and to passband. 2022-09-26 21:22:02 +01:00
keyboard.cpp use quit() instead of exit() to cleanly shutdown 2022-05-08 19:44:31 +01:00
keyboard.h Move wfserver configuration and add simple keyboard handler 2022-04-13 12:55:59 +01:00
logcategories.cpp Initial work on cluster spots. 2022-09-29 17:17:51 +01:00
logcategories.h Initial work on cluster spots. 2022-09-29 17:17:51 +01:00
loggingwindow.cpp Finally fix compile warning! 2022-09-23 17:18:42 +01:00
loggingwindow.h Finally fix compile warning! 2022-09-23 17:18:42 +01:00
loggingwindow.ui missing space and lowercased Termbin.com to termbin.com 2022-09-17 10:36:07 +02:00
main.cpp Remove redundant CL args 2022-09-23 17:42:36 +01:00
meter.cpp Fixed dB meter, it needed the scale multiplied by 2. 2022-08-24 22:23:32 -07:00
meter.h Added average metering. 2022-08-24 16:06:41 -07:00
packettypes.h Various compatibility improvements 2022-04-20 13:35:23 +01:00
pahandler.cpp Removed audio volume logging. 2022-09-14 18:15:20 -07:00
pahandler.h Fixed up signals and slots related to audio levels, removed extra junk 2022-08-24 15:02:00 -07:00
pttyhandler.cpp Change class constructors to include parent 2022-05-08 19:31:05 +01:00
pttyhandler.h Change class constructors to include parent 2022-05-08 19:31:05 +01:00
qledlabel.cpp Color editing for a few parameters is working. Lots of new helper 2022-08-21 16:47:17 -07:00
qledlabel.h Color editing for a few parameters is working. Lots of new helper 2022-08-21 16:47:17 -07:00
repeaterattributes.h
repeatersetup.cpp Fix spelling errors 2022-03-23 15:45:51 +00:00
repeatersetup.h
repeatersetup.ui
rigcommander.cpp Ignore second VFO scope data (for now) 2022-09-27 09:37:24 +01:00
rigcommander.h First look at a passband indicator 2022-09-26 01:44:49 +01:00
rigctld.cpp Add quick fix for rigctld fmv issue 2022-09-20 18:56:53 +01:00
rigctld.h Change class constructors to include parent 2022-05-08 19:31:05 +01:00
rigidentities.cpp Merge branch 'master' into 'master' 2022-05-26 15:16:40 +00:00
rigidentities.h Fix for squished screen and bump version to 1.51 2022-09-29 17:22:14 +01:00
rigstate.h
rthandler.cpp Removed audio volume logging. 2022-09-14 18:15:20 -07:00
rthandler.h Fixed up signals and slots related to audio levels, removed extra junk 2022-08-24 15:02:00 -07:00
satellitesetup.cpp
satellitesetup.h
satellitesetup.ui
selectradio.cpp Don't try to connect to radio we are already connected to 2022-05-14 01:11:36 +01:00
selectradio.h
selectradio.ui
servermain.cpp Remove redundant CL args 2022-09-23 17:42:36 +01:00
servermain.h Remove redundant CL args 2022-09-23 17:42:36 +01:00
tcpserver.cpp Working (in Windows) audio output 2022-04-03 20:16:52 +01:00
tcpserver.h Working (in Windows) audio output 2022-04-03 20:16:52 +01:00
transceiveradjustments.cpp
transceiveradjustments.h
transceiveradjustments.ui
udpaudio.cpp Fixed up signals and slots related to audio levels, removed extra junk 2022-08-24 15:02:00 -07:00
udpaudio.h Fixed up signals and slots related to audio levels, removed extra junk 2022-08-24 15:02:00 -07:00
udpbase.cpp Split udpHandler into multiple class files 2022-05-11 00:11:29 +01:00
udpbase.h Audio metering initial. Very messy but you can select TxRxAudio as the 2022-08-23 22:24:05 -07:00
udpcivdata.cpp Split udpHandler into multiple class files 2022-05-11 00:11:29 +01:00
udpcivdata.h Split udpHandler into multiple class files 2022-05-11 00:11:29 +01:00
udphandler.cpp Added tic marks, removed audio RMS calculation for now at least. 2022-08-24 21:52:36 -07:00
udphandler.h Added tic marks, removed audio RMS calculation for now at least. 2022-08-24 21:52:36 -07:00
udpserver.cpp Make RT/PA a subclass of audioHandler 2022-05-14 13:45:56 +01:00
udpserver.h Make RT/PA a subclass of audioHandler 2022-05-14 13:45:56 +01:00
udpserversetup.ui Fix spelling errors 2022-03-23 15:45:51 +00:00
ulaw.h
wfmain.cpp Added a pretty knob that does nothing to the IC-9700 calibration window. 2022-10-11 17:48:54 -07:00
wfmain.h Disable click/drag tuning by default 2022-10-11 13:17:23 +01:00
wfmain.ui bands page reorganized 2022-10-14 17:45:49 +02:00
wfserver.pro added cluster support 2022-10-10 17:11:05 +02:00
wfserver.vcxproj Various fixes 2022-05-12 12:24:27 +01:00
wfserver.vcxproj.filters Various fixes 2022-05-12 12:24:27 +01:00
wfserver.vcxproj.user Move wfserver configuration and add simple keyboard handler 2022-04-13 12:55:59 +01:00
wfserver_resource.rc
wfview Add memory sqlite db for cluster spots. 2022-10-05 11:03:15 +01:00
wfview.code-workspace
wfview.pro Added a pretty knob that does nothing to the IC-9700 calibration window. 2022-10-11 17:48:54 -07:00
wfview.sln
wfview.vcxproj Initial work on cluster spots. 2022-09-29 17:17:51 +01:00
wfview.vcxproj.filters Initial work on cluster spots. 2022-09-29 17:17:51 +01:00
wfview.vcxproj.user Initial work on cluster spots. 2022-09-29 17:17:51 +01:00
wfview_resource.aps Move wfserver configuration and add simple keyboard handler 2022-04-13 12:55:59 +01:00
wfview_resource.rc

README.md

wfview

wfview is an open-source front-end application for the

Other models to be tested/added (including the IC-705)..

website - WFVIEW wfview.org

wfview supports viewing the spectrum display waterfall and most normal radio controls. Using wfview, the radio can be operated using the mouse, or just the keyboard (great for those with visual impairments), or even a touch screen display. The gorgous waterfall spectrum can be displayed on a monitor of any size, and can even projected onto a wall for a presentation. Even a VNC session can make use of wfview for interesting remote rig possibilities. wfview runs on humble hardware, ranging from the $35 Raspberry Pi, to laptops, to desktops. wfview is designed to run on GNU Linux, but can probably be adapted to run on other operating systems. In fact we do have working example in windows as well.

wfview is unique in the radio control ecosystem in that it is free and open-source software and can take advantage of modern radio features (such as the waterfall). wfview also does not "eat the serial port", and can allow a second program, such as fldigi, access to the radio via a pseudo-terminal device.

For screenshots, documentation, User FAQ, Programmer FAQ, and more, please see the project's wiki.

wfview is copyright 2017-2020 Elliott H. Liggett. All rights reserved. wfview source code is licensed via the GNU GPLv3.

Features:

  1. Plot bandscope and bandscope waterfall. Optionally, also plot a "peak hold". A splitter lets the user adjust the space used for the waterfall and bandscope plots.
  2. Double-click anywhere on the bandscope or waterfall to tune the radio.
  3. Entry of frequency is permitted under the "Frequency" tab. Buttons are provided for touch-screen control
  4. Bandscope parameters (span and mode) are adjustable.
  5. Full keyboard and mouse control. Operate in whichever way you like. Most radio functions can be operated from a numeric keypad! This also enables those with visual impairments to use the IC-7300.
  6. 100 user memories stored in plain text on the computer
  7. Stylable GUI using CSS
  8. pseudo-terminal device, which allows for secondary program to control the radio while wfview is running
  9. works for radios that support the ethernet interface with comparable waterfall speeds as on the radio itself.

Build Requirements:

  1. gcc / g++ / make
  2. qmake
  3. qt5 (probably the package named "qt5-default")
  4. libqt5serialport5-dev
  5. libqcustomplot-dev
  • Debian-based Linux system (Debian Linux, Linux Mint, Ubuntu, etc) or opensuse 15.x. Any recent Linux system will do though!
  • QT Creator for building, designing, and debugging w/gdb

Build directions:

See INSTALL.md for directions.

Rig setting:

  1. CI-V Baud rate: Auto
  2. CI-V address: 94h (default)
  3. CI-V Transceive ON
  4. CI-V USB-> REMOTE Transceive Address: 00h
  5. CI-V Output (for ANT): OFF
  6. CI-V USB Port: Unlink from REMOTE
  7. CI-V USB Baud Rate: 15200
  8. CI-V USB Echo Back: OFF
  9. Turn on the bandscope on the rig screen
  • Note: The program currently assumes the radio is on a device like this:
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_IC-7300_02010092-if00-port0

This is symlinked to a device like /dev/ttyUSB0 typically. Make sure the port is writable by your username. You can accomplish this using udev rules, or if you are in a hurry:

sudo chown `whoami` /dev/ttyUSB*

TODO (for developers and contributors):

  1. Re-work pseudo term code into separate thread
  2. Consider XML RPC to make flrig/fldigi interface easier
  3. Add hide/show for additional controls: SWR, ALC, Power, S-Meter interface
  4. Fix crash on close (order of delete operations is important)
  5. Add support for other compatible CI-V radios (IC-706, IC-7100, IC-7610, etc)
  6. Better settings panel (select serial port, CI-V address, more obvious exit button)
  7. Add support for festival or other text-to-speech method using the computer (as apposed to the radio's speech module)

see also the wiki:

THIRD PARTY code/hardware:

the following projects we would like to thank in alphabetical order:

  • ICOM for their well designed rigs

see ICOM Japan (https://www.icomjapan.com/)

  • ICOM for their well written RS-BA1 software

see ICOM JAPAN products page (https://www.icomjapan.com/lineup/options/RS-BA1_Version2/)

  • kappanhang which inspired us to enhance the original wfview project:

    Akos Marton ES1AKOS Elliot LiggettW6EL (passcode algorithm) Norbert Varga HA2NON nonoo@nonoo.hu

see for their fine s/w here kappanhang

see [sources] (https://github.com/xiph/opus/tree/master/silk)

  • QCP: the marvellous qt custom plot code

    Emanuel Eichhammer

see [QCP] (https://www.qcustomplot.com/)

If you feel that we forgot ayone, just drop a mail.