Wfview is a program to remotely control Icom radios. You can find more information on https://wfview.org/.
As I do not have space for my own radio shack and my IC-7610 is located in the living room beside the balcony door, my IC-9700 in the guestroom near to the window, I use wfwiew since a couple of months to operate both radios from my (small) computer desk.
In order to make operation more convenient, I wanted to use my foot switch as PTT. An Arduino micro can emulate a USB keyboard. In wfview PTT is switched using ctrl-t (transmit) and ctrl-r (receive). A simple program on the Arduino micro can do this:
#include <AceButton.h>
using namespace ace_button;
#include <Keyboard.h>
#define LED_BUILTIN 17
const int BUTTON_PIN = 2;
const int LED_ON = LOW;
const int LED_OFF = HIGH;
AceButton button(BUTTON_PIN);
void handleEvent(AceButton*, uint8_t, uint8_t);
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
Keyboard.begin();
button.setEventHandler(handleEvent);
digitalWrite(LED_BUILTIN, LED_OFF);
TXLED1;
}
void loop() {
// put your main code here, to run repeatedly:
button.check();
TXLED1;
}
void handleEvent(AceButton* /*button*/, uint8_t eventType,
uint8_t /*buttonState*/) {
switch (eventType) {
case AceButton::kEventPressed:
digitalWrite(LED_BUILTIN, LED_ON);
// ctrl-T
Keyboard.press(0x80);
Keyboard.press('t');
Keyboard.releaseAll();
break;
case AceButton::kEventReleased:
// compensates for network latency
delay(250);
digitalWrite(LED_BUILTIN, LED_OFF);
// ctrl-R
Keyboard.press(0x80);
Keyboard.press('r');
Keyboard.releaseAll();
break;
}
}
I have built-in the controller in a small 3D printed housing with a 1/4″ jack plug.
It works like a charm! A similar solution is possible to use a CW keyer (for example K3NG). I open the CQRLOG CW window and input my CW from the keyer to be converted back to text and sent to my IC-7610.