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 b7865f8e52 Updated rig files 2024-04-26 15:52:54 +01:00
USERMANUAL
qdarkstyle Fixed issue with color picker and stylesheet interaction. 2023-09-25 13:14:32 -07:00
resampler Fix errors identified by clang scan-build 2023-07-16 10:31:51 +01:00
resources Merge branch 'desktop-files' into 'master' 2024-02-10 09:49:37 +00:00
rigs Updated rig files 2024-04-26 15:52:54 +01:00
systemd added unit file, thanks to Mick VK3ADD, ref https://gitlab.com/eliggett/wfview/-/issues/96 2024-02-10 12:41:32 +01:00
.gitignore Some tidying of rigctld 2024-03-05 21:01:13 +00:00
.gitmodules
CHANGELOG added initial ic905 and usb multi-controller support 2023-04-19 07:52:23 +02:00
CI-V.md added list of known CI-V addresses, interfaces, rates 2023-05-29 11:42:16 +02:00
CONTRIBUTING.md
INSTALL.md fixed small error in install.MD 2024-02-26 20:02:52 +01:00
INSTALL_PREBUILT_BINARY.md
LICENSE
README.md Change way rigs store values 2023-11-26 14:16:05 +00:00
RIG_ISSUES_AND_LIMITS.md
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 Various fixes 2024-03-24 23:17:39 +00:00
audioconverter.h Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
audiodevices.cpp Code cleanup and add experimental detach scope option 2024-01-21 20:36:52 +00:00
audiodevices.h
audiohandler.cpp Various fixes 2023-11-27 15:53:19 +00:00
audiohandler.h Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
audiotaper.h
bandbuttons.cpp Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
bandbuttons.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
bandbuttons.ui Stop using sub if command29 not supported 2023-07-23 11:17:10 +01:00
cachingqueue.cpp Fixes for TCI protocol 2024-04-07 20:28:42 +01:00
cachingqueue.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
calibrationwindow.cpp
calibrationwindow.h
calibrationwindow.ui
cluster.cpp Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
cluster.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
colorprefs.h Gradient fills for spectrum and overlay! 2024-04-14 21:56:34 -07:00
commhandler.cpp Tells user what to do when serial port doesn't work 2024-04-14 10:24:37 -07:00
commhandler.h Lots of changes/fixes inc rewrite rigctld and move more commands. 2023-05-24 19:50:01 +01:00
controllersetup.cpp Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00: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 Move some logs from info to debug 2024-03-25 15:30:18 +00:00
cwsender.h Lots of changes/fixes inc rewrite rigctld and move more commands. 2023-05-24 19:50:01 +01:00
cwsender.ui Remove unnecessary stepType setting from cwsender.ui 2023-03-12 18:25:17 +00:00
cwsidetone.cpp Lots of changes/fixes inc rewrite rigctld and move more commands. 2023-05-24 19:50:01 +01:00
cwsidetone.h Lots of changes/fixes inc rewrite rigctld and move more commands. 2023-05-24 19:50:01 +01:00
database.cpp
database.h
debugwindow.cpp Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
debugwindow.h Scroll test in debug window. Remove later. 2023-09-23 20:09:03 -07:00
debugwindow.ui Scroll test in debug window. Remove later. 2023-09-23 20:09:03 -07:00
firsttimesetup.cpp Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
firsttimesetup.h Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
firsttimesetup.ui Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
freqctrl.cpp FLoating point scroll wheel support added. 2024-02-10 13:44:23 -08:00
freqctrl.h FLoating point scroll wheel support added. 2024-02-10 13:44:23 -08:00
freqmemory.cpp Merge branch 'widgets' into creator-widgets 2023-05-26 23:49:26 +01:00
freqmemory.h fix mode_t conflict 2023-05-15 13:51:04 +01:00
frequencyinputwidget.cpp Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
frequencyinputwidget.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
frequencyinputwidget.ui Added frequency widget. 2023-02-11 18:39:02 -08:00
keyboard.cpp
keyboard.h
logcategories.cpp Got repeater setup working but still more to go with tonesql. 2024-02-11 21:13:20 -08:00
logcategories.h Got repeater setup working but still more to go with tonesql. 2024-02-11 21:13:20 -08:00
loggingwindow.cpp More work on repeater tones. 2024-02-12 13:36:39 -08:00
loggingwindow.h Add colour to logging! 2023-11-26 16:23:16 +00:00
loggingwindow.ui
main.cpp
memories.cpp Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
memories.h Move some logs from info to debug 2024-03-25 15:30:18 +00:00
memories.ui Memory editor as independent window 2024-02-05 12:06:50 -08:00
meter.cpp Revert change for Qt6 deprecation 2024-03-30 20:49:52 +00:00
meter.h Proper gain reduction metering now available. 2024-02-06 11:06:50 -08:00
packettypes.h Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
pahandler.cpp Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
pahandler.h
prefs.h Gradient fills for spectrum and overlay! 2024-04-14 21:56:34 -07:00
printhex.h Add warning for FA received and slim some info logging 2024-02-07 13:06:23 +00:00
pttyhandler.cpp Move rigCaps to a single pointer across whole app. 2024-03-25 12:42:08 +00:00
pttyhandler.h Move rigCaps to a single pointer across whole app. 2024-03-25 12:42:08 +00:00
qledlabel.cpp
qledlabel.h
repeaterattributes.h
repeatersetup.cpp Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
repeatersetup.h Make repeater/split screen use queue directly 2024-04-01 18:16:43 +01:00
repeatersetup.ui
rigcommander.cpp Add get/set command types and make dial change current receiver. 2024-04-26 15:37:12 +01:00
rigcommander.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
rigcreator.cpp Add get/set command types and make dial change current receiver. 2024-04-26 15:37:12 +01:00
rigcreator.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
rigcreator.ui Add get/set command types and make dial change current receiver. 2024-04-26 15:37:12 +01:00
rigctld.cpp Fixes for rigctld 2024-04-05 13:01:26 +01:00
rigctld.h Move rigCaps to a single pointer across whole app. 2024-03-25 12:42:08 +00:00
rigidentities.cpp
rigidentities.h Rename VFO to receiver and add second VFO capability 2024-03-30 20:40:27 +00:00
rigstate.h Standardize some names 2023-05-15 13:47:45 +01:00
rthandler.cpp Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
rthandler.h Initial (RX only) support for TCI protocol 2023-07-06 10:36:11 +01:00
satellitesetup.cpp
satellitesetup.h
satellitesetup.ui
scrolltest.cpp better scroll debug widget 2023-09-24 00:30:29 -07:00
scrolltest.h better scroll debug widget 2023-09-24 00:30:29 -07:00
selectradio.cpp Fix memory mode and start to add admin support 2023-12-18 15:48:17 +00:00
selectradio.h Fix memory mode and start to add admin support 2023-12-18 15:48:17 +00:00
selectradio.ui
servermain.cpp
servermain.h
settingswidget.cpp Gradient fills for spectrum and overlay! 2024-04-14 21:56:34 -07:00
settingswidget.h Gradient fills for spectrum and overlay! 2024-04-14 21:56:34 -07:00
settingswidget.ui Gradient fills for spectrum and overlay! 2024-04-14 21:56:34 -07:00
sidebandchooser.cpp
sidebandchooser.h fix mode_t conflict 2023-05-15 13:51:04 +01:00
spectrumscope.cpp Add get/set command types and make dial change current receiver. 2024-04-26 15:37:12 +01:00
spectrumscope.h Only update controls on change 2024-04-21 17:59:34 +01:00
tablewidget.cpp Fix a couple of buttons and stop editing of memories when disabled 2023-09-28 15:44:49 +01:00
tablewidget.h Fix a couple of buttons and stop editing of memories when disabled 2023-09-28 15:44:49 +01:00
tciaudiohandler.cpp start to move rigCaps to shared 2023-12-18 10:47:16 +00:00
tciaudiohandler.h Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
tciserver.cpp Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
tciserver.h Fixes for TCI protocol 2024-04-07 20:28:42 +01:00
tcpserver.cpp More TCI fixes 2024-04-14 15:27:37 +01:00
tcpserver.h
transceiveradjustments.cpp Move rigCaps to a single pointer across whole app. 2024-03-25 12:42:08 +00:00
transceiveradjustments.h Lots more changes 2023-05-15 10:53:52 +01:00
transceiveradjustments.ui Lots more changes 2023-05-15 10:53:52 +01:00
udpaudio.cpp Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
udpaudio.h Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
udpbase.cpp Lots more fixes and rigs added 2023-05-08 13:26:45 +01:00
udpbase.h Lots more changes! 2023-05-28 22:11:59 +01:00
udpcivdata.cpp
udpcivdata.h
udphandler.cpp Add warning for FA received and slim some info logging 2024-02-07 13:06:23 +00:00
udphandler.h Fix memory mode and start to add admin support 2023-12-18 15:48:17 +00:00
udpserver.cpp Add TCI support and various other changes 2023-09-19 23:04:48 +01:00
udpserver.h Move more settings and add some more UI features 2023-06-08 21:58:22 +01:00
udpserversetup.ui
ulaw.h
usbcontroller.cpp Revert change for Qt6 deprecation 2024-03-30 20:49:52 +00:00
usbcontroller.h FIx for original Streamdeck (maybe XL as well?) 2024-02-20 16:51:42 +00:00
wfmain - Copy.ui Move the last settings to the widget 2023-06-11 22:31:32 +01:00
wfmain.cpp Add get/set command types and make dial change current receiver. 2024-04-26 15:37:12 +01:00
wfmain.h Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
wfmain.ui WIP for stretched issue 2024-04-13 10:35:17 -07:00
wfserver.pro added initial ic905 and usb multi-controller support 2023-04-19 07:52:23 +02:00
wfserver.vcxproj Compiles but lots not working! 2023-05-27 00:26:01 +01:00
wfserver.vcxproj.filters
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
wfview.pro Added FirstTimeSetup 2024-04-14 15:59:16 -07:00
wfview.sln
wfview.vcxproj Compiles but lots not working! 2023-05-27 00:26:01 +01: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 Some tidying of rigctld 2024-03-05 21:01:13 +00:00
wfviewtypes.h Add get/set command types and make dial change current receiver. 2024-04-26 15:37:12 +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 was originally designed to run on GNU Linux, but has since been adapted to work on MacOS and Windows.

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 anyone, just drop a mail.