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
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Roeland Jansen d5aeec61ba v1.51 with fixes,passband stuff 6 days ago
USERMANUAL Fix spelling errors 7 months ago
qdarkstyle A little less green in our gray. 11 months ago
resampler Fix spelling errors 7 months ago
resources Add MacOS serial port entitlement 1 year ago
.gitignore Few more fixes and move windows builds into separate directories 6 months ago
.gitmodules Remove unneeded submodules 1 year ago
CHANGELOG v1.51 with fixes,passband stuff 6 days ago
CONTRIBUTING.md added contributors and whatsnew changes 6 months ago
INSTALL.md Update INSTALL.md 5 months ago
INSTALL_PREBUILT_BINARY.md dropped openSUSE 15.2, out of support 4 months ago
LICENSE Added LICENSE 4 years ago
README.md Fix spelling errors 7 months ago
WHATSNEW v1.51 with fixes,passband stuff 6 days ago
aboutbox.cpp Added dialog box to the toFixed button where an edge can be selected. 2 weeks ago
aboutbox.h New about box! 1 year ago
aboutbox.ui about box external links are now working 1 year ago
audioconverter.cpp Added tic marks, removed audio RMS calculation for now at least. 1 month ago
audioconverter.h Audio metering initial. Very messy but you can select TxRxAudio as the 1 month ago
audiohandler.cpp Make multimedia-plugins message only for Linux 1 week ago
audiohandler.h Fixed up signals and slots related to audio levels, removed extra junk 1 month ago
audiotaper.h Local af gain now has anti-log audio pot taper. 1 year ago
calibrationwindow.cpp Add logging categories 2 years ago
calibrationwindow.h Minor changes to calibration window 2 years ago
calibrationwindow.ui Fix spelling errors 7 months ago
colorprefs.h Allow changing of passband color 1 week ago
commhandler.cpp Update commhandler.cpp 5 months ago
commhandler.h Use qtimer to signal a reconnect 5 months ago
freqmemory.cpp Fix spelling errors 7 months ago
freqmemory.h Add PSK modes to IC-7610 and to passband. 1 week ago
keyboard.cpp use quit() instead of exit() to cleanly shutdown 5 months ago
keyboard.h Move wfserver configuration and add simple keyboard handler 6 months ago
logcategories.cpp Keep the logging window up after the message box. Added "log" logging 3 weeks ago
logcategories.h Keep the logging window up after the message box. Added "log" logging 3 weeks ago
loggingwindow.cpp Finally fix compile warning! 2 weeks ago
loggingwindow.h Finally fix compile warning! 2 weeks ago
loggingwindow.ui missing space and lowercased Termbin.com to termbin.com 3 weeks ago
main.cpp Remove redundant CL args 2 weeks ago
meter.cpp Fixed dB meter, it needed the scale multiplied by 2. 1 month ago
meter.h Added average metering. 1 month ago
packettypes.h Various compatibility improvements 6 months ago
pahandler.cpp Removed audio volume logging. 3 weeks ago
pahandler.h Fixed up signals and slots related to audio levels, removed extra junk 1 month ago
pttyhandler.cpp Change class constructors to include parent 5 months ago
pttyhandler.h Change class constructors to include parent 5 months ago
qledlabel.cpp Color editing for a few parameters is working. Lots of new helper 1 month ago
qledlabel.h Color editing for a few parameters is working. Lots of new helper 1 month ago
repeaterattributes.h Tone, TSQL, and DTCS code added, but not complete. 2 years ago
repeatersetup.cpp Fix spelling errors 7 months ago
repeatersetup.h Added some helpers to the destructor in repeaterSetup. Not sure if it 2 years ago
repeatersetup.ui We can now read the repeater access mode and update the UI. What remains 2 years ago
rigcommander.cpp Ignore second VFO scope data (for now) 1 week ago
rigcommander.h First look at a passband indicator 1 week ago
rigctld.cpp Add quick fix for rigctld fmv issue 2 weeks ago
rigctld.h Change class constructors to include parent 5 months ago
rigidentities.cpp Merge branch 'master' into 'master' 4 months ago
rigidentities.h Fix for squished screen and bump version to 1.51 6 days ago
rigstate.h Fixed broken implementation of "set_level RFPOWER" in rigctld 7 months ago
rthandler.cpp Removed audio volume logging. 3 weeks ago
rthandler.h Fixed up signals and slots related to audio levels, removed extra junk 1 month ago
satellitesetup.cpp Add logging categories 2 years ago
satellitesetup.h Changed spectrum to scale line plot to maximum amplitude of the rig. 2 years ago
satellitesetup.ui Minor UI cleanup 2 years ago
selectradio.cpp Don't try to connect to radio we are already connected to 5 months ago
selectradio.h Treat GUID as 16 bytes rather than trying to be clever! 8 months ago
selectradio.ui Make radio selection visible when there is more than 1 radio. 9 months ago
servermain.cpp Remove redundant CL args 2 weeks ago
servermain.h Remove redundant CL args 2 weeks ago
tcpserver.cpp Working (in Windows) audio output 6 months ago
tcpserver.h Working (in Windows) audio output 6 months ago
transceiveradjustments.cpp missing space 10 months ago
transceiveradjustments.h Change MAX/MIN to use qMax/qMin instead 11 months ago
transceiveradjustments.ui Added geometry constraints to the transceiver adjustments window, and 11 months ago
udpaudio.cpp Fixed up signals and slots related to audio levels, removed extra junk 1 month ago
udpaudio.h Fixed up signals and slots related to audio levels, removed extra junk 1 month ago
udpbase.cpp Split udpHandler into multiple class files 5 months ago
udpbase.h Audio metering initial. Very messy but you can select TxRxAudio as the 1 month ago
udpcivdata.cpp Split udpHandler into multiple class files 5 months ago
udpcivdata.h Split udpHandler into multiple class files 5 months ago
udphandler.cpp Added tic marks, removed audio RMS calculation for now at least. 1 month ago
udphandler.h Added tic marks, removed audio RMS calculation for now at least. 1 month ago
udpserver.cpp Make RT/PA a subclass of audioHandler 5 months ago
udpserver.h Make RT/PA a subclass of audioHandler 5 months ago
udpserversetup.ui Fix spelling errors 7 months ago
ulaw.h more 8bit fixes! 1 year ago
wfmain.cpp Only request passband when there is a scope available 7 days ago
wfmain.h Added click-drag tuning. Needs refinement but it's a start. 1 week ago
wfmain.ui Fix passband colorswatch 7 days ago
wfserver.pro Fix for squished screen and bump version to 1.51 6 days ago
wfserver.vcxproj Various fixes 5 months ago
wfserver.vcxproj.filters Various fixes 5 months ago
wfserver.vcxproj.user Move wfserver configuration and add simple keyboard handler 6 months ago
wfserver_resource.rc Initial server commit 9 months ago
wfview.code-workspace added wfview.code-workspace for vscode 2 years ago
wfview.pro Fix for squished screen and bump version to 1.51 6 days ago
wfview.sln Now supports multiple radios on OEM server 8 months ago
wfview.vcxproj Fix server user handling 2 weeks ago
wfview.vcxproj.filters Fix server user handling 2 weeks ago
wfview.vcxproj.user Fix passband colorswatch 7 days ago
wfview_resource.aps Move wfserver configuration and add simple keyboard handler 6 months ago
wfview_resource.rc Various file tidying for Windows/Mac builds 1 year ago

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.