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
Phil Taylor 7d3fd21d69 Use INT_MIN as default value when sending a command 2023-04-28 01:01:57 +01:00
USERMANUAL
qdarkstyle
resampler Various fixes to allow Qt6 compiling on mac 2023-01-15 10:34:54 +00:00
resources Fixes for Qt5 and Linux compile 2023-04-27 19:56:25 +01:00
rigs Fix RIT disable and allow negative values in RITFreq 2023-04-28 00:57:09 +01:00
.gitignore Still more work required 2022-08-22 23:09:09 +01:00
.gitmodules
CHANGELOG added initial ic905 and usb multi-controller support 2023-04-19 07:52:23 +02:00
CONTRIBUTING.md
INSTALL.md Fedora 36 instr. added 2023-04-11/Knud OZ1DGN 2023-04-11 19:17:11 +02:00
INSTALL_PREBUILT_BINARY.md
LICENSE
README.md
RIG_ISSUES_AND_LIMITS.md small steps... until 1.60 hits 2023-02-03 18:39:10 +01:00
WHATSNEW added initial ic905 and usb multi-controller support 2023-04-19 07:52:23 +02:00
aboutbox.cpp Various fixes 2023-04-15 11:25:35 +01:00
aboutbox.h
aboutbox.ui
audioconverter.cpp Fix codec selection issue in both QT5 and 6 2023-01-01 16:35:47 +00:00
audioconverter.h Merge branch 'audio-fixes' into QT6.2 2022-12-29 15:26:41 +00:00
audiodevices.cpp Fix crash when no audio device is found 2023-01-15 11:14:28 +00:00
audiodevices.h more mac fixes 2023-01-14 00:40:28 +00:00
audiohandler.cpp Rename in/out Formats to avoid confusion 2023-01-09 10:44:02 +00:00
audiohandler.h Fix for mac compile 2023-01-14 00:17:53 +00:00
audiotaper.h
calibrationwindow.cpp
calibrationwindow.h
calibrationwindow.ui
cluster.cpp Add skimmer support (setting not saved) 2022-10-31 12:39:27 +00:00
cluster.h Add skimmer support (setting not saved) 2022-10-31 12:39:27 +00:00
colorprefs.h Start to fix PBT 2023-01-19 16:16:47 +00:00
commhandler.cpp Fixes to collision detection. 2023-02-12 23:15:22 +00:00
commhandler.h Attempt at simple collision detection 2023-02-12 22:37:58 +00:00
controllersetup.cpp Allow user to select which LED is updated by the button. 2023-04-15 21:13:43 +01:00
controllersetup.h Allow user to select which LED is updated by the button. 2023-04-15 21:13:43 +01:00
controllersetup.ui Add backup/restore of button config 2023-03-29 23:33:18 +01:00
cwsender.cpp Rearrange signals 2023-02-20 11:48:53 +00:00
cwsender.h Disconnect signals when not in use 2023-02-20 10:31:09 +00:00
cwsender.ui Remove unnecessary stepType setting from cwsender.ui 2023-03-12 18:25:17 +00:00
cwsidetone.cpp Emit finished() if sending is stopped prematurely 2023-02-20 10:34:21 +00:00
cwsidetone.h Add support for push audio and various other fixes 2023-02-18 13:18:42 +00: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
freqmemory.h Split mode is working, can also live-sync frequency and mode. 2023-01-25 00:15:20 -08:00
keyboard.cpp
keyboard.h
logcategories.cpp Added CW logging category and additional (and needed) debug info for the 2023-01-21 09:18:15 -08:00
logcategories.h Added CW logging category and additional (and needed) debug info for the 2023-01-21 09:18:15 -08:00
loggingwindow.cpp Various fixes to allow Qt6 compiling on mac 2023-01-15 10:34:54 +00: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 Fix logfile for wfserver 2023-01-12 19:47:55 +00: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 Allow storing of icons and various other fixes 2023-03-26 23:23:40 +01:00
pahandler.cpp Remove attempt to reduce PA latency 2023-01-17 11:20:08 +00:00
pahandler.h Fix for mac compile 2023-01-14 00:17:53 +00:00
prefs.h Merge branch 'tristate' into multi-usb 2023-04-03 14:31:48 +01:00
printhex.h Lining up the text a little better with printHex. 2023-01-22 20:38:27 -08:00
pttyhandler.cpp Add option of popup alert 2023-01-05 19:37:53 +00:00
pttyhandler.h Add option of popup alert 2023-01-05 19:37:53 +00:00
qledlabel.cpp Added split state LED for split. 2023-01-29 10:39:24 -08:00
qledlabel.h Added split state LED for split. 2023-01-29 10:39:24 -08:00
repeaterattributes.h Added sub VFO repeater access and tone control, hopefully will work for 2023-01-27 14:05:50 -08:00
repeatersetup.cpp Various fixes 2023-04-27 16:39:51 +01:00
repeatersetup.h Added quicksplit checkbox 2023-02-01 09:21:17 -08:00
repeatersetup.ui Added quicksplit checkbox 2023-02-01 09:21:17 -08:00
rigcommander.cpp Use INT_MIN as default value when sending a command 2023-04-28 01:01:57 +01:00
rigcommander.h Use INT_MIN as default value when sending a command 2023-04-28 01:01:57 +01:00
rigcreator.cpp Fix RIT disable and allow negative values in RITFreq 2023-04-28 00:57:09 +01:00
rigcreator.h Various fixes 2023-04-27 16:39:51 +01:00
rigcreator.ui Fix input level slider name 2023-04-28 00:31:41 +01:00
rigctld.cpp Reorder and rename functions 2023-04-26 18:41:38 +01:00
rigctld.h Add various commands, monitor, NB, NR etc. 2023-03-28 21:58:46 +01:00
rigidentities.cpp Cleaned up rigidentities 2022-11-23 21:56:36 -08:00
rigidentities.h Add supported modes to filters 2023-04-24 11:06:33 +01:00
rigstate.h Fix input level slider name 2023-04-28 00:31:41 +01:00
rthandler.cpp Rename in/out Formats to avoid confusion 2023-01-09 10:44:02 +00:00
rthandler.h Fix for mac compile 2023-01-14 00:17:53 +00:00
satellitesetup.cpp
satellitesetup.h
satellitesetup.ui
selectradio.cpp Fix some old warnings 2023-01-01 20:28:59 +00:00
selectradio.h
selectradio.ui
servermain.cpp Add sensitivity control to USB controllers. 2023-02-07 09:32:33 +00:00
servermain.h Another attempt to fix 2023-02-04 11:32:52 +00:00
sidebandchooser.cpp Change mode selection code to use the command queue (as it should have). 2023-01-18 22:27:06 -08:00
sidebandchooser.h Added preference for automatic sideband. 2023-01-18 23:17:28 -08:00
tablewidget.cpp Fixes for Qt5 and Linux compile 2023-04-27 19:56:25 +01:00
tablewidget.h Initial version working on ic7610 2023-04-23 21:29:44 +01:00
tcpserver.cpp
tcpserver.h
transceiveradjustments.cpp Remove many of the rigCaps.hasxxxx variables and fix split mode. 2023-04-25 15:56:28 +01:00
transceiveradjustments.h Changed transceiver adjustments to be horizontal. Added passband width 2023-01-19 23:02:54 -08:00
transceiveradjustments.ui Changed transceiver adjustments to be horizontal. Added passband width 2023-01-19 23:02:54 -08:00
udpaudio.cpp Fix all audio formats and some compile warnings! 2023-01-07 20:52:07 +00: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 Remove UDP congestion mitigation 2023-02-02 22:53:52 +00:00
udpbase.h Lots of fixes for PBT and command handling - experimental 2023-01-27 01:41:35 +00:00
udpcivdata.cpp Fix all audio formats and some compile warnings! 2023-01-07 20:52:07 +00:00
udpcivdata.h
udphandler.cpp Add improved connection timeout for IC9700 2023-03-09 17:47:52 +00:00
udphandler.h Add option of popup alert 2023-01-05 19:37:53 +00:00
udpserver.cpp v1.56 pushed -- mostly audio fixes and QT5/6 compatibility 2023-01-11 19:21:08 +01:00
udpserver.h
udpserversetup.ui
ulaw.h
usbcontroller.cpp Initial version working on ic7610 2023-04-23 21:29:44 +01:00
usbcontroller.h Allow user to select which LED is updated by the button. 2023-04-15 21:13:43 +01:00
wfmain.cpp Fix RIT disable and allow negative values in RITFreq 2023-04-28 00:57:09 +01:00
wfmain.h Fix input level slider name 2023-04-28 00:31:41 +01:00
wfmain.ui Fix input level slider name 2023-04-28 00:31:41 +01:00
wfserver.pro added initial ic905 and usb multi-controller support 2023-04-19 07:52:23 +02:00
wfserver.vcxproj Remove debug code 2023-02-07 20:32:46 +00:00
wfserver.vcxproj.filters Fix wfserver device detection 2023-01-02 13:39:59 +00:00
wfserver.vcxproj.user Various fixes 2023-02-14 20:27:32 +00:00
wfserver_resource.rc
wfview - Backup.vcxproj.user
wfview.code-workspace
wfview.png More mac stuff 2023-01-14 11:23:19 +00:00
wfview.pro Fix input level slider name 2023-04-28 00:31:41 +01:00
wfview.sln Add option of popup alert 2023-01-05 19:37:53 +00:00
wfview.vcxproj Add some feature in the hope of supporting sidetone 2023-02-14 18:47:32 +00:00
wfview.vcxproj.filters Add some feature in the hope of supporting sidetone 2023-02-14 18:47:32 +00:00
wfview.vcxproj.user Various fixes 2023-02-14 20:27:32 +00:00
wfview_resource.aps
wfview_resource.rc Merge latest master and make USB controllers a compile time directive 2023-01-12 19:20:52 +00:00
wfviewtypes.h Fixes for Qt5 and Linux compile 2023-04-27 19:56:25 +01:00

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.