Wednesday, 14 February 2024

STREAMDECK & FLEX 6300

EXTERNAL CONTROL FOR FLEXRADIO 6300

Because I have a 32-Button StreamDeck and a Flex-6300, I thought it would be a worthwhile little project to link them both together. Needless to say, it wasn't as easy as I thought because the SmartSDR software doesn't have native keyboard mapping, so you can't apply keystrokes to buttons as you might normally do.

It seems that the way you go about this sort of thing is to use a very popular 3rd-Party piece of software called FRstack which virtually every Flex owner will be aware of. FRstack (V3) allows you to assign tasks/events (even multiples with tailored delays in-between) to StreamDeck Buttons.

I should point out straight away though that if you assign certain keyboard characters to a button (such as SpaceBar=PTT), you will end up keying your mic everytime you press the spacebar whether you want to or not (as long as FRstack is running). So it's better to avoid doing that, except maybe the F1-F12 Function keys.


Of course this meant a lot of learning and no doubt a string of cock-ups before making any progress, but thankfully, Erik Carling (EI4KF) had already used his blood, sweat and tears getting the StreamDeck to function properly with FRstack - and therefore with SmartSDR. Without Erik's mighty contribution, I'd still be wrestling with the commands. Thank you Erik for sharing your profile 🙏

Some of Erik's profile worked and some of it didn't. The errors were no doubt due to differences in either our ownership of software or their file paths - who knows? So as it stood, I couldn't make use of Erik's profile BUT it was incredibly helpful in letting me understand the command syntax. The video below by David Deccons was also helpful...


After an hour or so I managed to start a new profile and create an initial layout of my own. Needless to say, it's not perfect and I plan to spend a lot more time refining it, but at least I feel like I've made some good progress tonight.

One good little tip I learned was that it's easy to see a button in someone else's profile (eg EI4KF's), copy it and then switch profiles from the drop-down and go to your own profile and paste the button. It will bring across the icon, the text and the actions. You can then tailor them accordingly. Saves you a bunch of time!

At the weekend I'll try new things and I'll reorganise the button layout after spending time using the SteamDeck with the radio. I already feel like I don't need half of the screens. I might end up creating a separate simple single or double screen profile with JUST the very common button presses that I find myself doing all the time. 

Back soon!

















UPDATE

After all that messing around, I soon realised that multiple presses of the StreamDeck screen took up more time than just moving the mouse and clicking!

So I chose the functions that I change most frequently and put them on the front screen. There's a second screen with other software which gets me launching apps quickly.




KISS huh?  I can see this front panel changing pretty frequently as I start to use it and discover what I like and don't like.

73, Tom, M7MCQ.



UPDATE : 
Here's a list of commands that might be of use to anyone wishing to create more complex profiles than me.

Radio cmdval Parameter
INFOreturns radio information
ENUMINFOreturns radio properties enumeration information
ACC0 turn off, 1 turn on, other toggle setting
AMCARRIERUP* to increase level, DOWN* to decrease level, or carrier level
AMPOPERATE0 turn off, 1 turn on, other toggle setting
ATUParam values are START, BYPASS or CLEAR
ATUMEM0 turn off, 1 turn on, other toggle setting
AUDIOGAINUP* to increase level, DOWN* to decrease level, or audio level
BINAURAL0 turn off, 1 turn on, other toggle setting
CLIENTNEXT to switch clients, or set client station name, returns client station name
CLIENTSreturns list of clients
CWBREAKIN0 turn off, 1 turn on, other toggle setting
CWDELAYUP* to increase offset, DOWN* to decrease offset
CWIAMBICMODEA0 turn off, 1 turn on, other toggle setting
CWIAMBICMODEB0 turn off, 1 turn on, other toggle setting
CWPITCHUP* to increase offset, DOWN* to decrease offset
CWSIDETONE0 turn off, 1 turn on, other toggle setting
CWSPEEDUP* to increase offset, DOWN* to decrease offset
CWSWAPPADDLES0 turn off, 1 turn on, other toggle setting
CWX1 - 12 transmits the CWX Macro
CWXQSK0 turn off, 1 turn on, other toggle setting
CWXSPEEDUP* increase speed, DOWN* decrease speed, or speed value
CWXDELAYUP* increase delay, DOWN* decrease delay, or delay value
DAX0 turn off, 1 turn on, other toggle setting
DEXP0 turn off, 1 turn on, other toggle setting
DEXPLEVELUP* to increase level, DOWN* to decrease level, or DEXP level
FDX0 turn off, 1 turn on, other toggle setting
FILTERSHARPNESSNo param returns CA-ON,CL-1,DA-ON,DL-1,VA-ON,VL-1
CA - CW Auto, CL - CW Sharpness Level
DA - CW Auto, DL - Digital Sharpness Level
VA - CW Auto, VL - Voice Sharpness Level
Note: key value separator can be - or ?
Note: ON/OFF is same as true/false and 1/0, 2 is toggle
param=CA will return only CA
param=CA-OFF will set CA to OFF
param=CA-ON will set CA to ON
combine settings with comma to read or set in single command
param=VA-OFF,VL-2 will turn off voice auto and set level to 2, returns OFF,2
GLOBALPROFILEParam is the profile you are selecting
HEADPHONEGAINUP* to increase level, DOWN* to decrease level, or audio level
HEADPHONEMUTE0 turn off, 1 turn on, other toggle setting
METERINRXMeter in RX - 0 turn off, 1 turn on, other toggle setting
MICUP to set previous, DOWN to set next
MICBIASMic Bias - 0 turn off, 1 turn on, other toggle setting
MICBOOSTMic Boost - 0 turn off, 1 turn on, other toggle setting
MICLEVELUP* to increase level, DOWN* to decrease level, or mic level
MICPROFILEParam is the profile you are selecting
MONTX Monitor - 0 turn off, 1 turn on, other toggle setting
MONGAINTXCWTX Monitor CW Gain - UP* to increase level, DOWN* to decrease level, or level
MONPANTXCWTX Monitor CW Pan - UP* to increase level, DOWN* to decrease level, or level
MONGAINTXSBTX Monitor SSB Gain - UP* to increase level, DOWN* to decrease level, or level
MONPANTXSBTX Monitor SSB Pan - UP* to increase level, DOWN* to decrease level, or level
MOX0 turn off, 1 turn on, other toggle setting
MUTE0 turn off, 1 turn on, other toggle setting
MUTEALLn/a
PANCREATE add Panadapter, DELETE remove active slice Panadapter
PROC0 turn off, 1 turn on, other toggle setting
PROCLEVELUP increase proc, DOWN decrease proc, value of 0, 1 or 2
RFPOWERUP to increase power, DOWN to decrease power, or power level
SLICEUP to previous slice, DOWN to next slice, CREATE to add slice, DELETE to remove slice
SPOTSInfo, Clear, Remove and Trigger Spots
param=info to list all spots
param=clear to clear all spots
param=remove,n where spot index n is removed
param=trigger,n where spot index n is triggered
TRACKASlice B tracks slice A Freq enabled; param = true / false
TRACKREVTrack in reverse direction; param = true / false
TUNE0 turn off, 1 turn on, other toggle setting
TUNEPOWERUP* to increase power, DOWN* to decrease power, or power level
TXFILTERReturns delta between High and Low
TXFILTERLOWUP* to increase offset, DOWN* to decrease offset
TXFILTERHIGHUP* to increase offset, DOWN* to decrease offset
TXINHIBIT0 turn off, 1 turn on, other toggle setting
TXPROFILEParam is the profile you are selecting
VOX0 turn off, 1 turn on, other toggle setting
VOXLEVELUP* to increase, DOWN* do decrease, or level value
VOXDELAYUP* to increase, DOWN* do decrease, or delay value
XVTRSTransverter array of Index, Name elements
-XX-Invalid cmd

* NOTE
- DOWN can be replaced by -1, -2, -5, -10, -20 or -50 to step non-default values
- UP can be replaced by +1, +2, +5, +10, +20 or +50 to step non-default values; You must prefix with the +


Slice / Active Slice Commands
http://localhost:5025/ActiveSlice/?param=
To target specific slice letter use
http://localhost:5025/Slice//?param=
http://localhost:5025/ActiveSlice/?letter=&param=
To target TX slice letter use
http://localhost:5025/Slice/TX/?param=
To target slice index use
http://localhost:5025/ActiveSlice/?index={0-7}&param=

Slice cmdval Parameter
INFOreturns slice information
ACTIVEreturn active state and 1 to set it active
AGCMODEDOWN to next mode
AGCLEVELUP* to increase level, DOWN* to decrease level, or level value
ANF0 turn off, 1 turn on, other toggle setting
ANFLEVELUP* to increase level, DOWN* to decrease level, or level value
APF0 turn off, 1 turn on, other toggle setting
APFLEVELUP* to increase level, DOWN* to decrease level, or level value
AUDIOGAINUP* to increase level, DOWN* to decrease level, or level value
AUDIOPANUP* to increase level, DOWN* to decrease level, or level value
BANDband selections
Set band values like 2200, 160, 40, 20, GEN, WWV
or XVTR0, XVTR1, XVTR2, etc.
CLOSE1 to Close Slice
COPYFROMCopy slice information from slice index 0-7 or letter A-H
COPYTOCopy slice information to slice index 0-7 or letter A-H
DAX0 turn off, 1 - 8 DAX channel
DIV0 turn off, 1 turn on, other toggle setting
FILTERUP to previous filter, DOWN to next filter, 0 - 9 to select filter
FILTERLOWUP* to increase offset, DOWN* to decrease offset
FILTERHIGHUP* to increase offset, DOWN* to decrease offset
FREQUP moves FREQ up by STEP, DOWN moves FREQ down by STEP, other is MHz value
Use 1 - 6 to format exponent length of Frequency; e.g. 2 results in 7.12
FREQEFrequency Entry; Param values are 0,1,2,3,4,5,6,7,8,9,., CLEAR or ENTER
ENTER will set the Slice Frequency to accumulated value
LETTERreturns slice letter and index
LOCK0 turn off, 1 turn on, other toggle setting
MODEUP to previous mode, DOWN to next mode, other MODE setting (eg. AM, LSB)
MUTE0 turn off, 1 turn on, other toggle setting
NR0 turn off, 1 turn on, other toggle setting
NRLEVELUP* to increase level, DOWN* to decrease level, or level value
NB0 turn off, 1 turn on, other toggle setting
NBLEVELUP* to increase level, DOWN* to decrease level, or level value
PANPanadapter settings
CENTER center panadapter on slice
UP increase bandwidth, DOWN decrease bandwidth
SEGMENT zooms to band segment, BAND zooms to band
MIN zooms to min bandwidth, MAX zooms to maximum bandwidth
1 - 1000 sets bandwidth
PLAY0 turn off, 1 turn on, other toggle setting
RECORD0 turn off, 1 turn on, other toggle setting
RFGAINUP to increase gain, DOWN to decrease gain, or gain value
RIT0 turn off, 1 turn on, other toggle setting
RITFREQUP* to increase offset, DOWN* to decrease offset, or freq value
RXANTRX antenna selection or , NEXT selects next in list, PREV selects previous in list
SPLIT1 will attempt to SPLIT slice. Will silently fail if no remaining slices for client. This is not a toggle.
STEPUP to increase step, DOWN to decrease step, or step value
SCANstart scan on scan bank
Set scan bank number 1 - 20
or 0 to get scanning bank number
SMUTE0 - 7 slice number to toggle mute setting
SWAP0 - 7 index or letter A-H letter to swap with active slice, if 2+ slices present use NEXT swap active slice with next one
TX0 turn off, 1 turn on, other toggle setting
TXANTTX antenna selection or NEXT selects next in list, PREV selects previous in list
WNB0 turn off, 1 turn on, other toggle setting
WNBLEVELUP* to increase level, DOWN* to decrease level, or level value
XIT0 turn off, 1 turn on, other toggle setting
XITFREQUP* to increase offset, DOWN* to decrease offset, or freq value
-XX-Invalid cmd
--Slice not found

* NOTE
- DOWN can be replaced by -1, -2, -5, -10, -20 or -50 to step non-default values
- UP can be replaced by +1, +2, +5, +10, +20 or +50 to step non-default values; You must prefix with the +
- DOWN or UP can be replaced by a value to set; You must prefix with the space


No comments: