Topics

FDM-DUO feature suggestion #elad


Patrick Bouldin KM5L
 

What do you all think of my idea? I made a video of my idea, hope you get as excited about it as I did!    https://youtu.be/Zzk-9ML5gm4

Let's go, Elad!

In the music world, sound equipment, in particular with studio recording, professionals almost always utilize the "Mackie control", which is a protocol and command standard for interfacing various "control surfaces" to a PC, or other devices. In my house, I have a relatively new Behringer X-Touch (see picture attached). I use this for several things - to mix my audio (all microphones, all speakers, all devices), including amateur radio mics and speakers. Works great. As part of the learning process I know that the X-Touch communicates with my "DAW", which is the PC recording software, via the Mackie standard.

Humans prefer a tactile interface to radio, or anything for that matter. Sorry, but a mouse and keyboard "just doesn't cut the mustard". But, while some have worked on asynchronously attaching a few optical encoders to control SDRs, it's like reinventing the wheel every time a new radio comes out. So, how can we solve this once and for all? Can we really make the SDR a radio for the masses?  YES! Read on...

Instead of trying to adapt the data stream out of the duo to be commanded by optical encoders, how about Elad add a built-in "Mackie control protocol", so that we amateur radio ops can adapt ANY CONSOLE CONTROL device to control the FDM-DUO? Wow, what a concept??? Instead of having to be programmers, we simply attach the device. Imagine the XTouch faders in the picture controlling the volume on the 4 or 8 RF channels on the DUO, or imagine the big control knob turning into the main VFO. Or, imagine the the twist knobs controlling whatever (like DSP functions).

Has this been discussed before? I wonder what processing power would be needed? Maybe it would require adding an ARM processor. Hope not, or maybe some other alternative like an external interface device.

What do you think?

If the manufacturers don't want to do it, the field is wide open to create an external control box that communicates to any control console via Mackie protocol, AND the SDR of your choice. Same concept as a SignaLink. But instead of the signaLink providing different connection chips the interface box would adapt the CAT 5 control of the radio to the Mackie Control interface.

PS - do you guys realize that this idea will make the first SDR vendor to adopt this strategy rich? :)     "pick your knob layout for whatever radio you have".

Hey, we love our FDM-DUO's - and we'd love them to come out of nowhere and lead with amazing innovation. If they don't want to do it, is there interest on here to do so, separately?

73,

Patrick KM5L
Dallas, TX


Giovanni Franza
 

Hi Patrick,
where are available the specs for this protocol ?
a first, quick, research, shows that there are many examples, but not protocol detailed description,
If this description is available, I'm interested in evaluate and see how and if it could/shoud be implemented and which device could be used.

Regards,

Giovanni - HB9EIK


Beat HB9THJ
 

Hi Patrick,
You speak from my heart. In the field of music I have been using the "old" MIDI interface for years. There are many devices and applications that use the MIDI interface.
Unfortunately flight simulators and train simulators also use their own interfaces. These would also be nice terminals.
https://www.google.com/search?q=flugsimulator+panel&safe=active&rls=com.microsoft:de-CH:IE-Address&source=lnms&tbm=isch&sa=X&ved=2ahUKEwi4o_fRsODqAhXE-ioKHQqsBYQQ_AUoAnoECAwQBA&biw=1920&bih=1031

Vy 73 de HB9THJ Beat JN47DB
www.hb9thj.ch


Antony Watts
 

Seems a bit weird to me. Surely the CAT or EXTIO interface gives you whatever you want. I have just developed a rather simple, but working Arduino USB/CAT controller which is a test to see what can be done. I need a few updates to CAT commands (like “are you in TX or RX mode response?) but otherwise the USB CAT protocol seems good enough to me to support a different interface. I know that others are using the more complex EXTIO interface...

After all the actual FDM-SW2 software provides a complex interface and the FDM-DUO provides all the comms I/O tomake this possible.


So I think it is an App development problem, not a bus protocol problem…

Antony
M0IFA


Giovanni Franza
 

I answer to myself :-)
the MCP protocol is built on top of MIDI, using normal messages plus some ext commands for "more than three chars" commands.
The good news is I have already built some code that uses MIDI for managing a keyboard with a wavweform generator.
And also I have a piano keyboard to test :-)
Now the bad news: no MCP enabled devices at home so I need support from people than have one (or more) for tests.
And the other is that the device must have two USB HOSTS at least: one for the Human interface using MCP, the other for CAT for DUO
This, in turn, points to a Raspberry (it is not so bad, these devices are more or less cheap).
At the moment this is the situation: I can extract some code and manage thing so that a key on a "piano keyboard" can send some cat commands on duo usding a Raspberry.
Then I should be able to make a SD card with all needed to run a Raspberry reading from a MIDI (but also MCP) device and send some commands to DUO, to be used for people acting as "alfatester".
I do not know what should be the times because I'm preparing a update for EladRemote in these days.

Regards,

Giovanni - HB9EIK


Andy G4JNT
 

A very useful accessory I built for the Duo is a keypad for direct frequency entry, going in via the EXTiIO port.   SInce I regularly use the rig for frequencies above 54MHz, and also for LF at 137 and 475kHz, the keypad controller looks at the frequency requested and automatically sends commands to switch the LP filter in or out as appropriate.   I also included facility to switch automatically to the 0dBm output for any frequency not in the 1.8 to 54MHz range.


As it stands, only VFOA can be set, but now I've studied the protocol for the output from EXTIO it wou;dn't be too difficult to see what VFO is active and update just that one.   But not a high priority - I hardly ever use dual VFO facility, and there's always A>B 



On Wed, 22 Jul 2020 at 09:59, Antony Watts via groups.io <antonywatts=me.com@groups.io> wrote:
Seems a bit weird to me. Surely the CAT or EXTIO interface gives you whatever you want. I have just developed a rather simple, but working Arduino USB/CAT controller which is a test to see what can be done. I need a few updates to CAT commands (like “are you in TX or RX mode response?) but otherwise the USB CAT protocol seems good enough to me to support a different interface. I know that others are using the more complex EXTIO interface...

After all the actual FDM-SW2 software provides a complex interface and the FDM-DUO provides all the comms I/O tomake this possible.


So I think it is an App development problem, not a bus protocol problem…

Antony
M0IFA



Patrick Bouldin KM5L
 
Edited

Giovanni,

Excellent - a friend sent this to me as well, here is some MCP interface code on Github: https://github.com/tttapa/Control-Surface?fbclid=IwAR2Hb_Id3KFnOh5-7nyNlq-AOxyIKwSHu1sCHmS6ZDSkwOvD6obNoh45OuM     
I've not had a chance to do a super critique but appears to implement a lot of MCP. As far as the hardware, I kind of expected that and agree the pi or some device would be necessary, also the quickest development - simply to use the pi to transform CAT to MCP, and vice-versa.

Big note: I am fully volunteering to test on my XTouch. Also, I mispoke on the video that it uses cat 5 to the pc, it doesn't, it uses USB!!! I connect it to the PC already, and the PC has drivers.  So I'm assuming the MCP device (Xtouch) would connect via USB to the PI (I need to validate if the drivers will work), and then the pi connects serially to the DUO. I will research the driver question, if all else fails we could always start with a very small PC instead of an ARM proc.

Another question - any reason why we couldn't use the same PC that runs SW2?  It's already connected to the DUO, via USB. The midi and MCP drivers for the control surface devices would work, of course.  Could this be the easiest way, starting out?

As far as helping, I'm totally in on the project! Let's begin!!!
73,

Patrick KM5L


Patrick Bouldin KM5L
 

Hi Antony,
Let me address your comment because I don't think I made myself clear. I'm not talking about a "one off" CAT or EXTIO project. My point is this: By using the MCP standard we could quite simply pick whatever external control surface (that uses MCP) you like to control the radio. My picture of the Xtouch is one of hundreds, perhaps thousands of control surfaces available. So doing it this way let's us rapidly change as we like.

73,
Patrick KM5L


Giovanni Franza
 

Hi Patrick,
thanks for the example, it is really useful.
I'm definitely not working on Windows, since I'm a Unix/Linux addicted ;-)
In fact I'm porting EladRemote on Windows using cygwin, so I do not exclude that the same could be done for this project, or that it should be "ported" being libusb1 available on Windows.
If I remember well the MIDI is a serial protocol, and the devices should mainly be "USB serial".
I hope I'll have some spare time next week, just to make some tests.
A question: if I understand well, it will be necessary some sort of table to link the various control from/to MCP with the corresponding CAT command, is it true or MCP has built-in some autodiscovery options ?
Regards,

Giovanni - HB9EIK


DL2EBV
 

Hello,
try to connect the Duo to SDR-Console of Simon Brown.
It can control the Duo now and you may connect a midi-controller also.
Look to the tools menu.

Vy 73, Ernst


Patrick Bouldin KM5L
 
Edited

Hi Giovanni, yes that is correct!

With my console and I'm sure others you can select DHCP, or direct to specific IP address, and it will also scan, although I need to find out more on the behind the scenes. So that's a great question. Ok on maybe next week, I'll see what I can find out.

Also, don't give up using the PC, because maybe we can use a docker linux container (in Docker Desktop).  Possible.

73,
Patrick KM5L


Antony Watts
 

Hi Patrick

I understand your desire to go to an interface standard. May be you are right - but it may be impossible to get industry interested. They have yet got any coordinated CAT or other command set, in fact it is a mess. As a user I am disgusted with manufacturers who cannot get together to have one command set, and this could be MCP, I guess.


[confession I don’t know MCP - I must lookit up…]

In the mean time how about a box of tricks (small Raspberry Pi?) to make an interface?

Antony
M0IFA


Giovanni Franza
 

Hi Antony, Hi Patrick,

I fear that in a so competitive market it should be difficult to adopt a common standard, even if it is higly desired by most of the customers.

MCP seems to be, more or less, a "de facto" standard, promoted by a company without a "standardization process", but it seems simple enough to allows us to manage it.

CAT and MCP seems to have sdiffernt goals: CAT to "control" radios, MCP to "control" Human Interfaces, IMHO we need a bridge to link cat commands to actions on HISs.

I try to design a program that can be compiled on different OS/devices for first using Linux (I experienced that I'm able to port also on MacOS with a little help from my wife).
This allows to use also Raspberry Pi or other devices suported by some Linux distributions. For Windows we can use different things, ranging ftom CYGWIN, to "dockerized" Linux,
and, if possible, a port/recompilation using MSVC or MinGW.

If things goes well we can try to see if it should be possible to add this an extension to hamlib.

Stay tuned :-)

Giovanni - HB9EIK


Patrick Bouldin KM5L
 

Hi Giovanni and Antony. 
Giovanni - that sounds fantastic, am really looking forward to this.

Can imagine FDM DUO at hamfests, with two or three different Mackie standard control consoles that look awesome and provide amazing functionality. IMHO it would  call a great deal of NEW attention to ELAD.

Thanks,
Patrick


Paul Andrews
 

I'd bet a Raspberry Pi could be used to translate CAT to Mackie commands.  It would be a simple application.

Putting Mackie commands directly in the FDM-DUO code base would be unusual.

73 - Paul - W2HRO


On Wed, Jul 22, 2020, 22:32 Patrick Bouldin KM5L <patrick@...> wrote:
Hi Giovanni and Antony. 
Giovanni - that sounds fantastic, am really looking forward to this.

Can imagine FDM DUO at hamfests, with two or three different Mackie standard control consoles that look awesome and provide amazing functionality. IMHO it would  call a great deal of NEW attention to ELAD.

Thanks,
Patrick


Bob G3PJT
 

I have a recollection from when I was running the Elecraft remote station here that someone (DL?) was using a MIDI disco controller as the remote controller. The reason for this was that they are very inexpensive compared with the K3/0 which is very pricey.
So there might be some info around from the remote control community which could help getting this idea started.

The other issue which needs some thought is that of time delays. For example most of the Arduino add ons are not time sensitive. So my band change / NR/AN/NB application runs well through CAT etc. But getting a smooth operation of an external VFO module is more challenging due to the slight delays between manual tuning and update.

73 Bob G3PJT


Neil Smith G4DBN
 

I think I heard of someone using a midi controller with a Flex a couple of years ago? John G3WGV did a presentation about a generic control interface at an RSGB Conventiion three or four years ago didn't he? The TMate interface into SW2 works very well even at a relatively slow update interval of 100ms, but 20ms is better.

Neil G4DBN

On 23/07/2020 09:30, Bob G3PJT wrote:

I have a recollection from when I was running the Elecraft remote station here that someone (DL?) was using a MIDI disco controller as the remote controller. The reason for this was that they are very inexpensive compared with the K3/0 which is very pricey.
So there might be some info around from the remote control community which could help getting this idea started.

The other issue which needs some thought is that of time delays. For example most of the Arduino add ons are not time sensitive. So my band change / NR/AN/NB application runs well through CAT etc. But getting a smooth operation of an external VFO module is more challenging due to the slight delays between manual tuning and update.

73 Bob G3PJT


Bob G3PJT
 

Neil
Yes you are right, John did and I spoke to him afterwards about it . His was for a Flex and and used a pair of Arduinos - one for each receiver slice. Or at least thats what I recall. I will ask him about it.
Thanks for the tip about the TMate - I need to spend a bit more time studying it. I have a very smooth encoder running the VFO via  CAT/ Arduino Due but I am not entirely happy with the slight delays - project in progress.

73 Bob


Beat HB9THJ
 

MIDI DJ Controller – Enhanced SDR Panel
http://play.fallows.ca/wp/radio/software-defined-radio/midi-dj-controller-enhanced-sdr-panel/
Flex 1500 and the Hercules DJ Control MP3 E2
https://hamradioscience.com/flex-1500-and-the-hercules-dj-control-mp3-e2/
Midi controllers are very inexpensive like sand by the sea.
Examples: AKAI Fire Controller / AKAI LPD 8 / Beatstep Limited Black Edition/  Midi controller MC-1000 
Because all functions on a music keyboard are output via a MIDI interface, the assignment to the controller is very easy.
Select a controller button and put it into record mode.
Then select the desired function on the music keyboard. e.g. LFO 1
Exit record mode on the controller and the function is already assigned.
This simple assignment does not require any computer skills.

The tmate 2 is a very good addition to the software from ELAD. YL's used it rather than the PC mouse.


Excuse my english (google translate)
73 Beat
-----
HB9THJ Beat JN47DB
www.hb9thj.ch


DL2EBV
 

Hello 
I am mit clear what is the goal of the Interface.
Should it direct be connected to a Duo? The Duo has controls...
Or should it be connected to a computer serving ELADs Software SW2?

I made some tries with controllers, serving as a mouse or simulating a keyboard.
Works, but is limited to the polling rate of the USB-HID from the operating system.
Real good rotary encoders are to fast for this.

Trier also a Midi-interface.
That is fine, fast enough for tuning.

That can be made by an arduino-interface using the control-surface library.
Look to the SDR-Console group, some days ago Andrea wrote about it.

Problem ist the implementation in SW2.
But you can try using SDR-Console with the ELAD-stuff, Simon has implemented Midi-control.
Works fine as well with professional equipment (tried with a Behringer) and also with a arduino-homemade Interface at 600 pulses per revolution.
First time real feeling like tuning an analog receiver.

I think it makes no sense to use an hardware-interface to translate, it has to be integrated in SW2 as in SDR-console.

But then it works really fine. 

73, Ernst