SoDaRadio-12.2.0-cut_dependencies:6c82803
Loading...
Searching...
No Matches
Command.hxx
Go to the documentation of this file.
1#pragma once
2/*
3 Copyright (c) 2012,2017, 2025, 2026 Matthew H. Reilly (kb1vc)
4 All rights reserved.
5
6 Redistribution and use in source and binary forms, with or without
7 modification, are permitted provided that the following conditions are
8 met:
9
10 Redistributions of source code must retain the above copyright
11 notice, this list of conditions and the following disclaimer.
12 Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in
14 the documentation and/or other materials provided with the
15 distribution.
16
17 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28*/
29
30#include <string>
31#include <memory>
32#include <string.h>
33
34#include <memory>
35#include <SoDa/MailBox.hxx>
36
37namespace SoDa
38{
39
40 class Command;
41 typedef std::shared_ptr<Command> CommandPtr;
42
52 class Command {
53 public:
59 {
64 };
65
75
87
527
541
555
568
577
578
579 public:
580
581
589 {
590 cmd = _ct;
591 target = _tgt;
592 parm_type = ' ';
594 }
595
596 static CommandPtr make(CmdType _ct, CmdTarget _tgt) {
597 return std::make_shared<Command>(_ct, _tgt);
598 }
599
611 int p0,
612 int p1 = 0,
613 int p2 = 0,
614 int p3 = 0)
615 {
616 cmd = _ct;
617 target = _tgt;
618 iparms[0] = p0;
619 iparms[1] = p1;
620 iparms[2] = p2;
621 iparms[3] = p3;
622 parm_type = 'I';
624 }
625
627 int p0,
628 int p1 = 0,
629 int p2 = 0,
630 int p3 = 0)
631 {
632 return std::make_shared<Command>(_ct, _tgt, p0, p1, p2, p3);
633 }
634
646 double p0,
647 double p1 = 0.0,
648 double p2 = 0.0,
649 double p3 = 0.0)
650 {
651 cmd = _ct;
652 target = _tgt;
653 dparms[0] = p0;
654 dparms[1] = p1;
655 dparms[2] = p2;
656 dparms[3] = p3;
657 parm_type = 'D';
659 }
660
662 double p0,
663 double p1 = 0.0,
664 double p2 = 0.0,
665 double p3 = 0.0) {
666 return std::make_shared<Command>(_ct, _tgt, p0, p1, p2, p3);
667 }
668
677 Command(CmdType _ct, CmdTarget _tgt, const std::string &_str_arg, unsigned int _tag = 0)
678 {
679 cmd = _ct;
680 target = _tgt;
681 tag = _tag;
682 const char *cp = _str_arg.c_str();
683 int i;
684 for (i = 0; i < 64; i++)
685 {
686 sparm[i] = *cp;
687 if (*cp == '\000')
688 break;
689 cp++;
690 }
691 parm_type = 'S';
693 }
694
695 static CommandPtr make(CmdType _ct, CmdTarget _tgt,
696 const std::string &_str_arg, unsigned int _tag = 0)
697 {
698 return std::make_shared<Command>(_ct, _tgt, _str_arg, _tag);
699 }
700
709 Command(CmdType _ct, CmdTarget _tgt, const char *cp, unsigned int _tag = 0)
710 {
711 cmd = _ct;
712 target = _tgt;
713 tag = _tag;
714 int i;
715 for (i = 0; i < 64; i++)
716 {
717 sparm[i] = *cp;
718 if (*cp == '\000')
719 break;
720 cp++;
721 }
722 parm_type = 'S';
724 }
725
726 static CommandPtr make(CmdType _ct, CmdTarget _tgt, const char *cp, unsigned int _tag = 0) {
727 return std::make_shared<Command>(_ct, _tgt, cp, _tag);
728 }
729
735 Command(const Command &cc)
736 {
737 cmd = cc.cmd;
738 target = cc.target;
739 strncpy(sparm, cc.sparm, 64);
740 dparms[0] = cc.dparms[0];
741 dparms[1] = cc.dparms[1];
742 dparms[2] = cc.dparms[2];
743 dparms[3] = cc.dparms[3];
744 iparms[0] = cc.iparms[0];
745 iparms[1] = cc.iparms[1];
746 iparms[2] = cc.iparms[2];
747 iparms[3] = cc.iparms[3];
748 id = -1 * command_sequence_number++;
749 parm_type = cc.parm_type;
750 }
751
756 {
757 cmd = NONE;
759 parm_type = 'I';
760 iparms[0] = 0;
761 tag = 0;
762 }
763
764 static CommandPtr make() {
765 return std::make_shared<Command>();
766 }
767
772 {
773 }
774
780 static Command *parseCommandString(std::string str);
781
786 std::string toString() const;
787
792 static int getMaxStringLen() { return 64; }
793
794 unsigned int tag;
795 union {
796 int iparms[4];
797 double dparms[4];
798 char sparm[64];
799 };
802
803 int id;
805
807
808 static bool table_needs_init;
809 static std::map<std::string, CmdTarget> target_map_s2v;
810 static std::map<CmdTarget, std::string> target_map_v2s;
814 static void initTables();
815
816 private:
817 static void initTableEntry(const std::string &, CmdTarget tgt);
818 };
819
820 template<Command::CmdTarget Targ, int numargs> struct DoubleCommand : public Command {
821 template<typename... Args>
822 DoubleCommand(CmdType sgr, Args... dvs) : Command(sgr, Targ) {
823 static_assert(sizeof...(dvs) == numargs);
824 static_assert(numargs <= 4);
825 std::vector<double> vals = { static_cast<double>(dvs)... };
826 for(int i = 0; i < numargs; i++) {
827 dparms[i] = (i >= numargs) ? 0.0 : vals[i];
828 }
829 parm_type = 'D';
830 }
831
832 template<typename... Args>
833 static CommandPtr make(CmdType sgr, Args... dvs) {
834 return std::make_shared<DoubleCommand<Targ, numargs>>(sgr, dvs...);
835 }
836 };
837
838 template<Command::CmdTarget Targ, int numargs> struct IntCommand : public Command {
839 template<typename... Args>
840 IntCommand(CmdType sgr, Args... ivs) : Command(sgr, Targ) {
841 static_assert(sizeof...(ivs) == numargs);
842 static_assert(numargs <= 4);
843 std::vector<int> vals = { static_cast<int>(ivs)... };
844 for(int i = 0; i < numargs; i++) {
845 iparms[i] = vals[i];
846 }
847 parm_type = 'I';
848 }
849
850 template<typename... Args>
851 static CommandPtr make(CmdType sgr, Args... ivs) {
852 return std::make_shared<IntCommand<Targ, numargs>>(sgr, ivs...);
853 }
854 };
855
856 template<Command::CmdTarget Targ, typename enum_type> struct EnumCommand : public Command {
857 EnumCommand(CmdType sgr, enum_type ev) : Command(sgr, Targ) {
858 iparms[0] = static_cast<int>(ev);
859 iparms[1] = iparms[2] = iparms[3] = 0;
860 parm_type = 'E';
861 std::string name = enumToString(ev);
862 ::strncpy(sparm + 4, name.c_str(), 59);
863 sparm[63] = '\0';
864 }
865
866 EnumCommand(CmdType sgr) : Command(sgr, Targ) {
867 iparms[0] = iparms[1] = iparms[2] = iparms[3] = 0;
868 }
869
870 static CommandPtr make(CmdType sgr, enum_type ev) {
871 return std::make_shared<EnumCommand<Targ, enum_type>>(sgr, ev);
872 }
873
874 static CommandPtr make(CmdType sgr) {
875 return std::make_shared<EnumCommand<Targ, enum_type>>(sgr);
876 }
877
878 std::string getEnumStr() {
879 return enumToString(static_cast<enum_type>(iparms[0]));
880 }
881
882 };
883
884 template<Command::CmdTarget Targ> struct StringCommand : public Command {
885 StringCommand(CmdType sgr, const std::string & s, unsigned int tag = 0)
886 : Command(sgr, Targ, s, tag) {}
887 StringCommand(CmdType sgr) : Command(sgr, Targ) {}
888 static CommandPtr make(CmdType sgr, const std::string & s, unsigned int tag = 0) {
889 return std::make_shared<StringCommand<Targ>>(sgr, s, tag);
890 }
891 static CommandPtr make(CmdType sgr) {
892 return std::make_shared<StringCommand<Targ>>(sgr);
893 }
894 };
895
900
904
910
926
939
940inline std::string enumToString(Command::CmdType v) {
941 switch(v) {
942 case Command::SET: return "SET";
943 case Command::GET: return "GET";
944 case Command::REP: return "REP";
945 case Command::NONE: return "NONE";
946 default: return "CmdType(" + std::to_string((int)v) + ")";
947 }
948}
949
950inline std::string enumToString(Command::ClockSource v) {
951 switch(v) {
952 case Command::EXTERNAL: return "EXTERNAL";
953 case Command::INTERNAL: return "INTERNAL";
954 default: return "ClockSource(" + std::to_string((int)v) + ")";
955 }
956}
957
958inline std::string enumToString(Command::RxTxState v) {
959 switch(v) {
960 case Command::TX_OFF_0: return "TX_OFF_0";
961 case Command::TX_OFF_1: return "TX_OFF_1";
962 case Command::TX_OFF_2: return "TX_OFF_2";
963 case Command::TX_ON_0: return "TX_ON_0";
964 case Command::TX_ON_1: return "TX_ON_1";
965 case Command::TX_ON_2: return "TX_ON_2";
966 default: return "RxTxState(" + std::to_string((int)v) + ")";
967 }
968}
969
971 switch(v) {
972 case Command::LSB: return "LSB";
973 case Command::USB: return "USB";
974 case Command::CW_U: return "CW_U";
975 case Command::CW_L: return "CW_L";
976 case Command::AM: return "AM";
977 case Command::WBFM: return "WBFM";
978 case Command::NBFM: return "NBFM";
979 default: return "ModulationType(" + std::to_string((int)v) + ")";
980 }
981}
982
984 switch(v) {
985 case Command::BW_100: return "BW_100";
986 case Command::BW_500: return "BW_500";
987 case Command::BW_2000: return "BW_2000";
988 case Command::BW_6000: return "BW_6000";
989 case Command::BW_PASS: return "BW_PASS";
990 case Command::BW_WSPR: return "BW_WSPR";
991 case Command::BW_NULL: return "BW_NULL";
992 default: return "AudioFilterBW(" + std::to_string((int)v) + ")";
993 }
994}
995
996inline std::string enumToString(Command::UnitSelector v) {
997 switch(v) {
998 case Command::BaseBandRX: return "BaseBandRX";
999 case Command::BaseBandTX: return "BaseBandTX";
1000 case Command::RFRX: return "RFRX";
1001 case Command::RFTX: return "RFTX";
1002 case Command::CWTX: return "CWTX";
1003 case Command::CTRL: return "CTRL";
1004 default: return "UnitSelector(" + std::to_string((int)v) + ")";
1005 }
1006}
1007
1009 switch(v) {
1010 case Command::MIC: return "MIC";
1011 case Command::NOISE: return "NOISE";
1012 default: return "TXAudioSelector(" + std::to_string((int)v) + ")";
1013 }
1014}
1015
1016} // namespace SoDa
1017
This is a list of all the commands that can "do something" to one or more components in the SoDa radi...
Definition Command.hxx:52
int iparms[4]
integer parameters
Definition Command.hxx:796
static void initTables()
setup maps to support parseCommandString and toString
Command(CmdType _ct, CmdTarget _tgt, const char *cp, unsigned int _tag=0)
Constructor for commands with a string parameter.
Definition Command.hxx:709
CmdTarget target
the thing we're touching
Definition Command.hxx:801
CmdTarget
Each command has a "target" state that it is meant to modify, query, or report.
Definition Command.hxx:91
@ TX_IF_FREQ
Set/report the TX IF frequency.
Definition Command.hxx:148
@ TX_CW_TEXT
TX CW text control – a buffer of up to 8 characters.
Definition Command.hxx:245
@ RX_ANT_NAME
Report RX antenna choice (asciiz string, uint tag)
Definition Command.hxx:469
@ RX_BW
tweak the AF chain – filter settings
Definition Command.hxx:294
@ RX_AF_GAIN
RX audio gain setting.
Definition Command.hxx:201
@ RX_MODE
Set the modulation mode for the receive chain.
Definition Command.hxx:281
@ TVRT_LO_ENABLE
On receipt of a TVRT_LO_ENABLE command dump a perpetual constant IF stream of (1.0,...
Definition Command.hxx:411
@ GPS_UTC
Report UTC (time) from GPS receiver.
Definition Command.hxx:356
@ TX_SAMP_RATE
Sample rate for TX needs to be fast enough for reasonable FM We set it to 625000 just because there d...
Definition Command.hxx:167
@ GPS_LATLON
Report LAT and LON from GPS receiver.
Definition Command.hxx:348
@ LIST_MODES
Get a report of supported modes from the baseband rx module.
Definition Command.hxx:515
@ SPEC_RANGE_LOW
low spectrum frequency range
Definition Command.hxx:304
@ RX_TUNE_FREQ
Set the RX front end (1st LO, the 2nd IF LO), and the 3rd LO in a more-or-less optimal way to positio...
Definition Command.hxx:101
@ GPS_LOCK
Report when GPS is locked.
Definition Command.hxx:365
@ RX_RF_GAIN
Set the RX front end attenuator/amp.
Definition Command.hxx:187
@ LO_OFFSET
this is a GET/REP command – BaseBandRX takes FFT centered around 0 and reports largest peak within 50...
Definition Command.hxx:335
@ RX_SAMP_RATE
Sample rate for RX is typically 600 KHz or better to allow a reasonable span for the waterfall and pe...
Definition Command.hxx:158
@ AF_FILT_ENTRY
Report a string/name pair for AF filter bandwidth.
Definition Command.hxx:484
@ TX_ANT
Not many choices for TX ant, just TX.
Definition Command.hxx:180
@ TX_CW_MARKER
Put a marker in the CW text stream, report its "passing".
Definition Command.hxx:265
@ SDR_VERSION
Report the SDR (SoDa server program) version info.
Definition Command.hxx:374
@ TX_LO_FREQ
Tune the RX hardware front end local oscillator.
Definition Command.hxx:141
@ TX_ANT_NAME
Report TX antenna choice (asciiz string, uint tag)
Definition Command.hxx:474
@ RX_AF_FILTER_SHAPE
Audio Filter.
Definition Command.hxx:339
@ RX_AF_SIDETONE_GAIN
RX audio gain for sidetone (CW) monitor.
Definition Command.hxx:208
@ SPEC_BUF_LEN
number of samples in the buffer.
Definition Command.hxx:307
@ HWMB_REP
Report the motherboard name (the model name of the USRP)
Definition Command.hxx:392
@ STOP
On receipt of a STOP command, all threads should exit their run loop.
Definition Command.hxx:401
@ TX_STATE
turn transmitter on and off.
Definition Command.hxx:226
@ TX_MODE
Set the modulation mode for the transmit chain.
Definition Command.hxx:289
@ SPEC_DIMS
all spec info in one call, cf, span, and buflen
Definition Command.hxx:309
@ TX_CW_FLUSHTEXT
Flush outstanding CW text strings from pending buffer.
Definition Command.hxx:258
@ RX_IF_FREQ
Tune the software NCO (final LO) frequency to shift to baseband.
Definition Command.hxx:116
@ DBG_REP
Initiate a debug dump.
Definition Command.hxx:383
@ STATUS_MESSAGE
The STATUS_MESSAGE carries a payload of up to 64 characters.
Definition Command.hxx:444
@ SPEC_RANGE_HI
high spectrum frequency range
Definition Command.hxx:305
@ TX_AUDIO_FILT_ENA
Enable the TX audio bandpass filter (limit to 2.5 kHz) for SSB/AM/FM.
Definition Command.hxx:454
@ TX_GAIN_RANGE
Report min max TX Gain setting (dparm[0,1] = min, max)
Definition Command.hxx:464
@ TVRT_LO_CONFIG
On receipt of a TVRT_LO_CONFIG command , set the TX2 channel frequency to dparam[0] and the TX2 outpu...
Definition Command.hxx:434
@ RX_AF_FILTER
Audio Filter.
Definition Command.hxx:337
@ INIT_SETUP_COMPLETE
indicate to GUI that we've sent all the initial configuration information
Definition Command.hxx:489
@ CW_CHAR_SENT
send character count from start-of-time each time we send a character.
Definition Command.hxx:495
@ LO_CHECK
This is an LO check command - use it for finding the actual microwave LO frequency.
Definition Command.hxx:329
@ RF_RECORD_START
Start recording raw IF stream to file.
Definition Command.hxx:500
@ MOD_SEL_ENTRY
Report a string/name pair for modulation mode.
Definition Command.hxx:479
@ RF_RECORD_STOP
Stop recording raw IF stream to file.
Definition Command.hxx:505
@ TVRT_LO_DISABLE
On receipt of a TVRT_LO_DISABLE command, turn the LO output on TX2 off.
Definition Command.hxx:421
@ LIST_AF_FILTERS
Get a report of supported filters from the baseband rx module.
Definition Command.hxx:520
@ NBFM_SQUELCH
Set/Get NBMF squelch level.
Definition Command.hxx:510
@ RX_GAIN_RANGE
Report min max RX Gain setting (dparm[0,1] = min, max)
Definition Command.hxx:459
@ RX_ANT
RX ant choices are TX/RX, and RX2.
Definition Command.hxx:174
@ TX_RF_GAIN
Set the TX final amplifier.
Definition Command.hxx:193
@ TX_BEACON
TX Carrier Control – send a dead carrier.
Definition Command.hxx:238
@ RX_STATE
Ignored for now.
Definition Command.hxx:231
@ SPEC_CENTER_FREQ
the center frequency (command from GUI)
Definition Command.hxx:303
@ SPEC_STEP
freqency step
Definition Command.hxx:306
@ CLOCK_SOURCE
The master clock oscillator source Reference oscilator selector set to 1 for external,...
Definition Command.hxx:321
@ TX_AF_GAIN
TX mic gain.
Definition Command.hxx:216
@ NULL_CMD
No comment.
Definition Command.hxx:525
@ TX_CW_SPEED
Set speed of CW generator.
Definition Command.hxx:251
@ RX_CENTER_FREQ
The center frequency for IF buffers from USRPRX.
Definition Command.hxx:123
@ TX_AUDIO_IN
Select the transmit chain audio input (for SSB, AM, and FM)
Definition Command.hxx:449
@ RBW
tweak the waterfall display parameters like resolution bandwidth
Definition Command.hxx:300
@ TX_CW_EMPTY
Report when CW TX envelope buffer was empty (cmd enables report)
Definition Command.hxx:272
@ TX_TUNE_FREQ
Set the TX front end (1st LO, the 2nd IF LO), and the 3rd LO in a more-or-less optimal way to positio...
Definition Command.hxx:134
@ SPEC_AVG_WINDOW
how many FFT samples contribute to a spectrum report
Definition Command.hxx:311
@ RX_LO_FREQ
Tune the RX hardware front end local oscillator.
Definition Command.hxx:108
@ SPEC_UPDATE_RATE
how many FFT samples between spectrum reports
Definition Command.hxx:312
static int command_sequence_number
sequential ID applied to each command
Definition Command.hxx:806
static int getMaxStringLen()
how long can a string parameter to a command be?
Definition Command.hxx:792
static Command * parseCommandString(std::string str)
convert a string to a command
RxTxState
Transmit/Receive state changes go through stages.
Definition Command.hxx:79
Command(CmdType _ct, CmdTarget _tgt)
Constructor for commands with no parameters.
Definition Command.hxx:588
static std::map< CmdTarget, std::string > target_map_v2s
mapping for toString
Definition Command.hxx:810
Command(CmdType _ct, CmdTarget _tgt, const std::string &_str_arg, unsigned int _tag=0)
Constructor for commands with a string parameter.
Definition Command.hxx:677
Command(CmdType _ct, CmdTarget _tgt, double p0, double p1=0.0, double p2=0.0, double p3=0.0)
Constructor for commands with double float parameters.
Definition Command.hxx:645
Command(CmdType _ct, CmdTarget _tgt, int p0, int p1=0, int p2=0, int p3=0)
Constructor for commands with integer parameters.
Definition Command.hxx:610
std::string toString() const
return a string that displays the command
static CommandPtr make(CmdType _ct, CmdTarget _tgt, int p0, int p1=0, int p2=0, int p3=0)
Definition Command.hxx:626
ModulationType
modulation selector targets take one of these values
Definition Command.hxx:532
double dparms[4]
double float parameters
Definition Command.hxx:797
char sparm[64]
a buffer holding the string
Definition Command.hxx:798
Command()
Constructor – create an empty command.
Definition Command.hxx:755
static CommandPtr make(CmdType _ct, CmdTarget _tgt, const std::string &_str_arg, unsigned int _tag=0)
Definition Command.hxx:695
int id
a sequential ID for each command – used in debugging and sequencing
Definition Command.hxx:803
AudioFilterBW
these are the possible audio filter bandwidths
Definition Command.hxx:546
static void initTableEntry(const std::string &, CmdTarget tgt)
static CommandPtr make()
Definition Command.hxx:764
ClockSource
some radios support two sources for the master oscillator reference.
Definition Command.hxx:71
TXAudioSelector
a selector to identify the Audio TX input (MIC, NOISE...)
Definition Command.hxx:573
CmdType
Commands are of the form, SET, GET, or REPort some parameter.
Definition Command.hxx:59
char parm_type
is this a double, int, string?
Definition Command.hxx:804
static CommandPtr make(CmdType _ct, CmdTarget _tgt, const char *cp, unsigned int _tag=0)
Definition Command.hxx:726
~Command()
Destructor.
Definition Command.hxx:771
Command(const Command &cc)
Copy Constructor.
Definition Command.hxx:735
static CommandPtr make(CmdType _ct, CmdTarget _tgt)
Definition Command.hxx:596
UnitSelector
a selector to identify a particular unit for debug reports
Definition Command.hxx:560
static CommandPtr make(CmdType _ct, CmdTarget _tgt, double p0, double p1=0.0, double p2=0.0, double p3=0.0)
Definition Command.hxx:661
unsigned int tag
used to pair an int with a string or other param.
Definition Command.hxx:794
static bool table_needs_init
if true, we need to call initTables()
Definition Command.hxx:808
CmdType cmd
the command type (SET, GET, REP)
Definition Command.hxx:800
static std::map< std::string, CmdTarget > target_map_s2v
mapping for parseCommandString
Definition Command.hxx:809
IntCommand< Command::SPEC_BUF_LEN, 1 > CmdSpecBufLen
Definition Command.hxx:920
IntCommand< Command::TX_CW_MARKER, 1 > CmdTXCWMarker
Definition Command.hxx:913
EnumCommand< Command::TX_MODE, Command::ModulationType > CmdTXMode
Definition Command.hxx:906
DoubleCommand< Command::RX_CENTER_FREQ, 1 > CmdRXCenterFreq
Definition Command.hxx:899
IntCommand< Command::TX_BEACON, 1 > CmdTXBeacon
Definition Command.hxx:911
DoubleCommand< Command::RX_LO_FREQ, 1 > CmdRXLOFreq
Definition Command.hxx:897
IntCommand< Command::GPS_LOCK, 1 > CmdGPSLock
Definition Command.hxx:923
StringCommand< Command::MOD_SEL_ENTRY > CmdModSelEntry
Definition Command.hxx:936
StringCommand< Command::RX_ANT_NAME > CmdRXAntName
Definition Command.hxx:934
IntCommand< Command::TX_CW_SPEED, 1 > CmdTXCWSpeed
Definition Command.hxx:912
EnumCommand< Command::CLOCK_SOURCE, Command::ClockSource > CmdClockSource
Definition Command.hxx:908
DoubleCommand< Command::TX_LO_FREQ, 1 > CmdTXLOFreq
Definition Command.hxx:902
StringCommand< Command::RX_ANT > CmdRXAnt
Definition Command.hxx:927
IntCommand< Command::TX_CW_FLUSHTEXT, 1 > CmdTXCWFlushText
Definition Command.hxx:914
StringCommand< Command::TX_ANT_NAME > CmdTXAntName
Definition Command.hxx:935
IntCommand< Command::DBG_REP, 1 > CmdDbgRep
Definition Command.hxx:924
IntCommand< Command::TX_CW_EMPTY, 1 > CmdTXCWEmpty
Definition Command.hxx:915
EnumCommand< Command::TX_AUDIO_IN, Command::TXAudioSelector > CmdTXAudioIn
Definition Command.hxx:909
std::shared_ptr< Command > CommandPtr
Definition Command.hxx:41
StringCommand< Command::SDR_VERSION > CmdSDRVersion
Definition Command.hxx:930
EnumCommand< Command::RX_MODE, Command::ModulationType > CmdRXMode
Definition Command.hxx:905
IntCommand< Command::RX_AF_FILTER, 1 > CmdRXAFFilter
Definition Command.hxx:917
IntCommand< Command::RX_BW, 1 > CmdRXBW
Definition Command.hxx:919
StringCommand< Command::TX_CW_TEXT > CmdTXCWText
Definition Command.hxx:929
IntCommand< Command::SPEC_AVG_WINDOW, 1 > CmdSpecAvgWindow
Definition Command.hxx:921
IntCommand< Command::GPS_UTC, 3 > CmdGPSUTC
Definition Command.hxx:925
StringCommand< Command::CW_CHAR_SENT > CmdCWCharSent
Definition Command.hxx:938
std::string enumToString(Command::CmdType v)
Definition Command.hxx:940
DoubleCommand< Command::RX_TUNE_FREQ, 1 > CmdRXTuneFreq
Definition Command.hxx:896
DoubleCommand< Command::RX_IF_FREQ, 1 > CmdRXIFFreq
Definition Command.hxx:898
StringCommand< Command::STATUS_MESSAGE > CmdStatusMessage
Definition Command.hxx:932
IntCommand< Command::SPEC_UPDATE_RATE, 1 > CmdSpecUpdateRate
Definition Command.hxx:922
IntCommand< Command::TX_AUDIO_FILT_ENA, 1 > CmdTXAudioFiltEna
Definition Command.hxx:916
StringCommand< Command::RF_RECORD_START > CmdRFRecordStart
Definition Command.hxx:933
StringCommand< Command::TX_ANT > CmdTXAnt
Definition Command.hxx:928
IntCommand< Command::RX_AF_FILTER_SHAPE, 1 > CmdRXAFFilterShape
Definition Command.hxx:918
DoubleCommand< Command::TX_IF_FREQ, 1 > CmdTXIFFreq
Definition Command.hxx:903
StringCommand< Command::HWMB_REP > CmdHWMBRep
Definition Command.hxx:931
EnumCommand< Command::TX_STATE, Command::RxTxState > CmdTXState
Definition Command.hxx:907
StringCommand< Command::AF_FILT_ENTRY > CmdAFFiltEntry
Definition Command.hxx:937
DoubleCommand< Command::TX_TUNE_FREQ, 1 > CmdTXTuneFreq
Definition Command.hxx:901
static CommandPtr make(CmdType sgr, Args... dvs)
Definition Command.hxx:833
DoubleCommand(CmdType sgr, Args... dvs)
Definition Command.hxx:822
static CommandPtr make(CmdType sgr, enum_type ev)
Definition Command.hxx:870
static CommandPtr make(CmdType sgr)
Definition Command.hxx:874
std::string getEnumStr()
Definition Command.hxx:878
EnumCommand(CmdType sgr, enum_type ev)
Definition Command.hxx:857
EnumCommand(CmdType sgr)
Definition Command.hxx:866
IntCommand(CmdType sgr, Args... ivs)
Definition Command.hxx:840
static CommandPtr make(CmdType sgr, Args... ivs)
Definition Command.hxx:851
StringCommand(CmdType sgr, const std::string &s, unsigned int tag=0)
Definition Command.hxx:885
static CommandPtr make(CmdType sgr, const std::string &s, unsigned int tag=0)
Definition Command.hxx:888
StringCommand(CmdType sgr)
Definition Command.hxx:887
static CommandPtr make(CmdType sgr)
Definition Command.hxx:891