Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

Hercules MIDI with 6300

W4WHLW4WHL Member
edited June 23 in New Ideas
All,

I wrote a program in "processing" that allows me to control my 6300 over CAT with the Hercules DJ Instinct.

Currently working;
VFOA Freq w/variable speed
VFOB Freq w/variable speed
XIT offset
RIT offset
PTT

Planned;
ACGT
Main Volume
vfoA volume
vfoB volume
Step size
mode
bandwidth
etc.

I am somewhat limited with CAT.  DDUTIL adds in additional CAT commands (DD6) that will do most of what else I want.  However I cant seem to get the DDUTIL commands to work.  So if anyone has experience using DDUTIL commands.  Please help me out!

Anyway here is a short video, sorry about the shaking! :)

https://www.youtube.com/watch?feature=player_detailpage&v=oidCZVeAKbo&list=UUXPBbnOEFQ_MN6UM...

W4WHL




12 votes

Open for Comments · Last Updated

«13456715

Comments

  • Jay -- N0FBJay -- N0FB Member ✭✭
    edited December 2019
    William, have you thought about using the Flex API for sending commands to the Flex instead of using CAT.  You will find that your programmatic control will be more robust.
  • W4WHLW4WHL Member
    edited July 2016
    I have, but I know zero about .net.  The learning curve will be high.
  • Al K0VMAl K0VM Retired Member ✭✭
    edited November 2017
    William,
      I think K5FR would tell you that some of what DDUtil does with the DD6 commands are through the API and not through CAT....  I would not expect any DD6 commands to work in CAT although they might mimic CAT functionallity.

    AL, K0VM
  • W4WHLW4WHL Member
    edited July 2016
    My understanding was DDUTI intercepted theses DD6 commands and used FlexAPI to control the radio.  But I thought it received these commands via serial.  But I really am not sure, since it doesn't work.
  • W4WHLW4WHL Member
    edited July 2016
    Ok I tore apart the API and I don't need it.  I figured out how to send commands to the radio directly from processing.  I just used the code in the API to figure out what I needed to send.

    I added the code to adjust slice and main volume, and its working great.  Now I just have to rewrite the rest of the code to use TCPIP instead of CAT.

    You can send the commands easily.  My only hiccup was I forgot to send the terminator.

    W4WHL
  • Jay -- N0FBJay -- N0FB Member ✭✭
    edited December 2019
    See William!  Using the API was not a bad thought after all!  :-)

  • W4WHLW4WHL Member
    edited July 2016
    In the TCPIP API, how do you call just slice frequency?  I know you can call "sub slice 0" but it returns a mass of info.  Any way to just get frequency?

  • W4WHLW4WHL Member
    edited June 23
    Ok I have completely converted my program to use TCPIP.  Its working great. 

    W4WHL
  • Mark ErbaughMark Erbaugh Member
    edited March 2015
    I'd be interested in seeing what your program does. I've spent a lot of time messing with FlexLib API, but can see some advantage to using TCI/IP directly.  Are you also processing some of the UDP data streams?
  • W4WHLW4WHL Member
    edited July 2016
    No I'm using tcp only.  I do not process any streams.  The only query I get from the radio is slice frequencies, all else is just writes to the radio.

    Here is how its setup now.  Its very basic. 

    image
  • W4WHLW4WHL Member
    edited July 2016
    I plan to add more functions, but for now this is all it controls.  I could not figure out how to discover the radio, so when I load the program it just ask for the IP address.  But all functions noted above work great.
  • Ken - NM9PKen - NM9P Member ✭✭
    edited December 2016
    Very nice beginning!  I have been dreaming that someone would do this.
    If I may be so bold...I would suggest these possible added functions.

    1) Next to RIT/XIT knobs, use the buttons underneath for RIT/XIT ON/OFF and CLR
    2) Add Slice B AGC-t to the right of the Slice A AGC-t
    3) Use the horizontal slider for panadapter zoom width
    4) Use the 1-4 cue buttons to send CWX memories.
    5) Use another button under the main tuning dials to select which slice is TX,
    6) Use another one to swap A/B

    Ultimately, you could make a set-up screen and allow users to define each button themselves by linking to a list of commands available for each button/knob/control.

    Would this program be compatible with other models of the Hercules?  I have a Hercules DJ LE controller that I got for about $69 about two years ago and I love it.
    I would love to get it going on my 6500.

    Good work!

    Ken - NM9P

  • W4WHLW4WHL Member
    edited July 2016
    Very good suggestions.  Any MIDI device would work, you would just have to modify a few parameters.  As far as allowing user setup.  That may be a bit hard with my limited time and knowledge.  But I will add most of what you suggested, they wil be fairly easy.

    W4WHL
  • W4WHLW4WHL Member
    edited June 23
    Here is the current state.  I can not figure out how to change waterfall bandwidth, But its the least important to me.

    image
  • Ken - NM9PKen - NM9P Member ✭✭
    edited December 2016
    Looks nice.  Perhaps you can find the commands that mimic the +/- buttons on the panadapter zoom and use the << and >> buttons above the main tuning knob, instead of using the slider.  That may actually be more handy.  I hope you can find them.

    Additional command possibilities:

    The knob to the right of the "Main Volume," or the bottom horizontal slider could become the  "Power Output"  control.  

    The Knob below AGC-T B could be "keyer speed."

    The Numbered keys above Main Tuning Knob B could be used to turn on/off things like NB, NR, ANF, APF.

    And you still have many more buttons and knobs to define!  

    (This is fun, designing someone else's radio!... ha!)


  • W4WHLW4WHL Member
    edited July 2016
    I found the commands, but they don't work.  Maybe the radio only accepts modifying the streams from the client that created them.  Maybe someone else knows.

    W4WHL
  • W4WHLW4WHL Member
    edited March 2017
  • KT0NYKT0NY Member
    edited June 23
    Great work, William. For cw split operation, it's helpful to be able to turn off/on the audio in the ear that's listening to the pileup. Sometimes when the dx is weak you can't hear him unless you have him in both ears. I had my Herc setup with the old-version Flex with the split audio on/off on the right-hand button where you have ptt. Anyway, this is terrific -- you da man!

    73, Tony KT0NY

  • Ken - NM9PKen - NM9P Member ✭✭
    edited December 2016
    I always have the DX in both ears and the "Mob" in the right ear, but it sure would be nice to be able to quickly turn the mob down some more when needed!
  • W4WHLW4WHL Member
    edited July 2016
    I do not work CW, but I'm sure that can be added.  I'm open to pass my code to anyone who wants to mod it for their own purpose.  Its my first programing attempt in 25 years, so I'm sure its clunky.  However it works for my needs.  It was written in Processing, which is very similar to Arduino sketches.  I then compiled it into a java embedded executable.

    W4WHL
  • Ken - NM9PKen - NM9P Member ✭✭
    edited December 2016
    William, I would love to play with it for a while if I can get it to run on my machine with my controller.  But I am not very familiar with Processing or Java.  I know what they are, but have never done any programming in them.

    Ken - NM9P
  • W4WHLW4WHL Member
    edited July 2016
    I didn't either till 5 days ago, so if I can figure it out, it should be easy enough to modify.

    https://www.dropbox.com/s/mu0rf5f52udnvic/flex.zip?dl=0

  • W4WHLW4WHL Member
    edited July 2016
    download Processing and get the midibus library.  The library contains a basic example sketch that will allow you to discover the channel,note,controller, etc. from your device.  In the download source is my pde file.  This is the sketch to load into processing.  just make sure you install the midibus library first.

    I'll be happy to answer any questions you have. 


  • edited December 2016
    William, I am interested in you work.  I am not a programmer and would consider purchasing a controller if you would share your software.  Where can I find it?
    Jeff
  • W4WHLW4WHL Member
    edited July 2016
    its linked to dropbox above
  • edited December 2016
    I just checked that out after my post, thanks.  I looked on eBay and the controller is selling for about $140 US
  • W4WHLW4WHL Member
    edited July 2016
    its 125 on amazon I think
  • Ken - NM9PKen - NM9P Member ✭✭
    edited December 2016
    Thanks, William. Today is my day off, so I may play a little today.
  • W4WHLW4WHL Member
    edited July 2016
    i'll be here if you have any question
  • W4WHLW4WHL Member
    edited July 2016
    If you have specific questions email my QRZ email.  I check it constantly.

    W4WHL

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.