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.
 
 
 
Go to file
Roeland Jansen 6a76efa368
compilation fixes
7 hours ago
USERMANUAL Fix spelling errors 11 months ago
qdarkstyle A little less green in our gray. 1 year ago
resampler Various fixes to allow Qt6 compiling on mac 3 weeks ago
resources More attempts to fix MacOS 2 days ago
.gitignore Still more work required 6 months ago
.gitmodules Remove unneeded submodules 2 years ago
CHANGELOG compilation fixes 7 hours ago
CONTRIBUTING.md added contributors and whatsnew changes 10 months ago
INSTALL.md fixed build info for opensuse 15.x 1 week ago
INSTALL_PREBUILT_BINARY.md dropped openSUSE 15.2, out of support 9 months ago
LICENSE Added LICENSE 5 years ago
README.md Fix spelling errors 11 months ago
RIG_ISSUES_AND_LIMITS.md small steps... until 1.60 hits 5 days ago
WHATSNEW v1.61 24 hours ago
aboutbox.cpp Added dialog box to the toFixed button where an edge can be selected. 5 months ago
aboutbox.h New about box! 2 years ago
aboutbox.ui about box external links are now working 2 years ago
audioconverter.cpp Fix codec selection issue in both QT5 and 6 1 month ago
audioconverter.h Merge branch 'audio-fixes' into QT6.2 1 month ago
audiodevices.cpp Fix crash when no audio device is found 3 weeks ago
audiodevices.h more mac fixes 4 weeks ago
audiohandler.cpp Rename in/out Formats to avoid confusion 1 month ago
audiohandler.h Fix for mac compile 4 weeks ago
audiotaper.h Local af gain now has anti-log audio pot taper. 2 years ago
calibrationwindow.cpp Add logging categories 2 years ago
calibrationwindow.h Minor changes to calibration window 2 years ago
calibrationwindow.ui Fix spelling errors 11 months ago
cluster.cpp Add skimmer support (setting not saved) 3 months ago
cluster.h Add skimmer support (setting not saved) 3 months ago
colorprefs.h Start to fix PBT 3 weeks ago
commhandler.cpp Fix invalid scope data in combine mode 24 hours ago
commhandler.h Add option of popup alert 1 month ago
controllersetup.cpp Add sensitivity control to USB controllers. 1 day ago
controllersetup.h Add sensitivity control to USB controllers. 1 day ago
controllersetup.ui Add spacer 1 day ago
cwsender.cpp Disabled function that does not work with the cw combo box. 1 week ago
cwsender.h Disabled function that does not work with the cw combo box. 1 week ago
cwsender.ui Remove setting that causes error 5 days ago
database.cpp Make SQL db optional 4 months ago
database.h Make SQL db optional 4 months ago
freqmemory.cpp Fix spelling errors 11 months ago
freqmemory.h Split mode is working, can also live-sync frequency and mode. 2 weeks ago
keyboard.cpp use quit() instead of exit() to cleanly shutdown 9 months ago
keyboard.h Move wfserver configuration and add simple keyboard handler 10 months ago
logcategories.cpp Added CW logging category and additional (and needed) debug info for the 3 weeks ago
logcategories.h Added CW logging category and additional (and needed) debug info for the 3 weeks ago
loggingwindow.cpp Various fixes to allow Qt6 compiling on mac 3 weeks ago
loggingwindow.h Finally fix compile warning! 5 months ago
loggingwindow.ui missing space and lowercased Termbin.com to termbin.com 5 months ago
main.cpp Fix logfile for wfserver 4 weeks ago
meter.cpp Fixed dB meter, it needed the scale multiplied by 2. 6 months ago
meter.h Added average metering. 6 months ago
packettypes.h Various compatibility improvements 10 months ago
pahandler.cpp Remove attempt to reduce PA latency 3 weeks ago
pahandler.h Fix for mac compile 4 weeks ago
prefs.h Add sensitivity control to USB controllers. 1 day ago
printhex.h Lining up the text a little better with printHex. 2 weeks ago
pttyhandler.cpp Add option of popup alert 1 month ago
pttyhandler.h Add option of popup alert 1 month ago
qledlabel.cpp Added split state LED for split. 1 week ago
qledlabel.h Added split state LED for split. 1 week ago
repeaterattributes.h Added sub VFO repeater access and tone control, hopefully will work for 2 weeks ago
repeatersetup.cpp Added quicksplit checkbox 1 week ago
repeatersetup.h Added quicksplit checkbox 1 week ago
repeatersetup.ui Added quicksplit checkbox 1 week ago
rigcommander.cpp Fixed placement of "out of range" data byte reading. 4 days ago
rigcommander.h Added quicksplit checkbox 1 week ago
rigctld.cpp Make CRC hex 3 days ago
rigctld.h Add some more commands 3 days ago
rigidentities.cpp Cleaned up rigidentities 3 months ago
rigidentities.h Added quicksplit checkbox 1 week ago
rigstate.h Only accept rigstate updates from rig if value is not in updated condition 5 days ago
rthandler.cpp Rename in/out Formats to avoid confusion 1 month ago
rthandler.h Fix for mac compile 4 weeks 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 Fix some old warnings 1 month ago
selectradio.h Treat GUID as 16 bytes rather than trying to be clever! 1 year ago
selectradio.ui Make radio selection visible when there is more than 1 radio. 1 year ago
servermain.cpp Add sensitivity control to USB controllers. 1 day ago
servermain.h Another attempt to fix 4 days ago
sidebandchooser.cpp Change mode selection code to use the command queue (as it should have). 3 weeks ago
sidebandchooser.h Added preference for automatic sideband. 3 weeks ago
tcpserver.cpp Working (in Windows) audio output 10 months ago
tcpserver.h Working (in Windows) audio output 10 months ago
transceiveradjustments.cpp Fix for MAC compiling 1 week ago
transceiveradjustments.h Changed transceiver adjustments to be horizontal. Added passband width 3 weeks ago
transceiveradjustments.ui Changed transceiver adjustments to be horizontal. Added passband width 3 weeks ago
udpaudio.cpp Fix all audio formats and some compile warnings! 1 month ago
udpaudio.h Fixed up signals and slots related to audio levels, removed extra junk 6 months ago
udpbase.cpp Remove UDP congestion mitigation 6 days ago
udpbase.h Lots of fixes for PBT and command handling - experimental 2 weeks ago
udpcivdata.cpp Fix all audio formats and some compile warnings! 1 month ago
udpcivdata.h Split udpHandler into multiple class files 9 months ago
udphandler.cpp Fix cosmetic bug #62 2 weeks ago
udphandler.h Add option of popup alert 1 month ago
udpserver.cpp v1.56 pushed -- mostly audio fixes and QT5/6 compatibility 4 weeks ago
udpserver.h Make RT/PA a subclass of audioHandler 9 months ago
udpserversetup.ui Fix spelling errors 11 months ago
ulaw.h more 8bit fixes! 2 years ago
usbcontroller.cpp Fix for old hidapi without version info. 8 hours ago
usbcontroller.h Fix for old hidapi without version info. 8 hours ago
wfmain.cpp Fix compile if controller disabled 18 hours ago
wfmain.h Add sensitivity control to USB controllers. 1 day ago
wfmain.ui Fix invalid scope data in combine mode 24 hours ago
wfserver.pro v1.61 24 hours ago
wfserver.vcxproj Various audio fixes (needs checking with Qt5) 1 month ago
wfserver.vcxproj.filters Fix wfserver device detection 1 month ago
wfserver.vcxproj.user Various audio fixes (needs checking with Qt5) 1 month ago
wfserver_resource.rc Initial server commit 1 year ago
wfview - Backup.vcxproj.user Merge 1 year ago
wfview.code-workspace added wfview.code-workspace for vscode 2 years ago
wfview.png More mac stuff 4 weeks ago
wfview.pro v1.61 24 hours ago
wfview.sln Add option of popup alert 1 month ago
wfview.vcxproj Merge latest master and make USB controllers a compile time directive 4 weeks ago
wfview.vcxproj.filters Merge latest master and make USB controllers a compile time directive 4 weeks ago
wfview.vcxproj.user Add some more USB controller features/fixes 1 week ago
wfview_resource.aps Move wfserver configuration and add simple keyboard handler 10 months ago
wfview_resource.rc Merge latest master and make USB controllers a compile time directive 4 weeks ago
wfviewtypes.h Quick fix 1 day 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.