1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
|
/* ==========================================================================*/
/* - - - - - - - p r o t o c o l d e f s. h - - - - - - - - - - - - - - */
/* ==========================================================================*/
/* Definition File for the SDR-xx protocol and Control Items */
/* Created 29-12-2001 */
/* Modified 12-09-2008 msw added CI_RX_AD_MODES */
/* Modified 03-03-2009 msw added CI_RX_OUT_FILE_UPDATEPARAMS */
/* Modified 07-05-2009 msw added CI_TX_DA_MODE */
/* Modified 11-19-2009 msw add CI_TX_PULSE_MODE,CI_GENERAL_PRODUCT_ID*/
/* Modified 04-27-2011 msw added new NetSDR messages */
/* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
#ifndef PROTOCOLDEFS_H
#define PROTOCOLDEFS_H
#define ASCP_INTERFACE_VERSION 9
/*---------------------------------------------------------------------------*/
/*----------------------> Control Item Defines <-----------------------------*/
/*---------------------------------------------------------------------------*/
/* General Interface Control Items */
#define CI_GENERAL_INTERFACE_NAME 0x0001
#define CI_GENERAL_INTERFACE_NAME_REQLEN 4 //response is variable length zero terminated string
#define CI_GENERAL_INTERFACE_SERIALNUM 0x0002
#define CI_GENERAL_INTERFACE_SERIALNUM_REQLEN 4 //response is variable length zero terminated string
#define CI_GENERAL_INTERFACE_VERSION 0x0003
#define CI_GENERAL_INTERFACE_VERSION_REQLEN 4
#define CI_GENERAL_INTERFACE_VERSION_SETRESPLEN 6 //2 byte version
#define CI_GENERAL_HARDFIRM_VERSION 0x0004
#define CI_GENERAL_HARDFIRM_VERSION_REQLEN 5
#define CI_GENERAL_HARDFIRM_VERSION_SETRESPLEN 7
#define CI_GENERAL_HARDFIRM_VERSION_PARAM_BOOTVER 0
#define CI_GENERAL_HARDFIRM_VERSION_PARAM_APPVER 1
#define CI_GENERAL_HARDFIRM_VERSION_PARAM_HWVER 2
#define CI_GENERAL_STATUS_CODE 0x0005
#define CI_GENERAL_STATUS_CODE_REQLEN 4
#define CI_GENERAL_STATUS_CODE_SETRESPLEN 5
#define GENERAL_STATUS_IDLE 0x0B //not running
#define GENERAL_STATUS_BUSY 0x0C //running
#define GENERAL_STATUS_ADOVERLOAD 0x20
#define GENERAL_STATUS_BOOTIDLE 0x0E //in booloader mode idle
#define GENERAL_STATUS_BOOTBUSY 0x0F //in bootloader mode programming
#define GENERAL_STATUS_BOOTERROR 0x80 //in booloader mode with programming error
#define CI_GENERAL_OPTIONS 0x000A
#define CI_GENERAL_OPTIONS_REQLEN 4
#define CI_GENERAL_OPTIONS_SETRESPLEN 10
#define GENERAL_CI_GENERAL_OPTION1_SOUND 1 //sound enabled
#define GENERAL_CI_GENERAL_OPTION1_REFPRESENT 2 //reflock present
#define GENERAL_CI_GENERAL_OPTION1_DNPRESENT 4 //down converter present
#define GENERAL_CI_GENERAL_OPTION1_UPPRESENT 8 //up converter present
#define GENERAL_CI_GENERAL_OPTION1_X2PRESENT 0x10 //X2 Option present
#define GENERAL_CI_GENERAL_OPTION2_CUST1 1 //custom option
#define GENERAL_CI_GENERAL_OPTION3_MAINVAR (0x0000000F) //main board variant
#define GENERAL_CI_GENERAL_OPTION3_REFVAR (0x000000F0) //reflock variant
#define GENERAL_CI_GENERAL_OPTION3_DNVAR (0x00000F00) //down converter variant
#define GENERAL_CI_GENERAL_OPTION3_UPVAR (0x0000F000) //up converter variant
#define CI_GENERAL_SECURITY_CODE 0x000B
/* Receiver Specific Control Items */
//defines for message channel ID for RX1 or RX2 used in many of the Rx control item messages
#define CI_RX_CHAN_1 0
#define CI_RX_CHAN_2 2
#define CI_RX_CHAN_ALL 0xFF
#define RX_CHAN_1_INDEX (CI_RX_CHAN_1>>1) //index values for arrays
#define RX_CHAN_2_INDEX (CI_RX_CHAN_2>>1)
#define CI_RX_STATE 0x0018
#define CI_RX_STATE_REQLEN 5
#define CI_RX_STATE_SETRESPLEN 8
//NetSDR/SDR-IP parameters
#define RX_STATE_DATACOMPLEX 0x80 //param 1 NetSDR channel and data type
#define RX_STATE_DATAREAL 0x00
#define RX_STATE_IDLE 0x01 //param 2 run state
#define RX_STATE_ON 0x02
#define MODE_CONTIGUOUS24 0x80 //param 3 run mode
#define MODE_CONTIGUOUS16 0x00
#define MODE_CONTINUOUS24 0x81
#define MODE_CONTINUOUS16 0x01
#define MODE_HWSYNC24 0x83
#define MODE_HWSYNC16 0x03
//SDRIQ/14 parameters
#define RX_STATE_COMPLEX_HF 0x81 //SDR-IQ/14 param 1 channel and data type
#define CI_GENERAL_PRODUCT_ID 0x0009
#define CI_GENERAL_PRODUCT_ID_REQLEN 4
#define CI_GENERAL_PRODUCT_ID_SETRESPLEN 8
// Product ID for SDRIP
#define SDRIP_PRODID0 0x53
#define SDRIP_PRODID1 0x44
#define SDRIP_PRODID2 0x52
#define SDRIP_PRODID3 0x03
// Product ID for NETSDR
#define NETSDR_PRODID0 0x53
#define NETSDR_PRODID1 0x44
#define NETSDR_PRODID2 0x52
#define NETSDR_PRODID3 0x04
// Product ID for CLOUDSDR
#define CLOUDSDR_PRODID0 0x53
#define CLOUDSDR_PRODID1 0x44
#define CLOUDSDR_PRODID2 0x52
#define CLOUDSDR_PRODID3 0x05
#define CI_RX_CHAN_SETUP 0x0019
#define CI_RX_CHAN_SETUP_REQLEN 4
#define CI_RX_CHAN_SETUP_SETRESPLEN 5
#define CI_RX_CHAN_SETUP_SINGLE_1 0
#define CI_RX_CHAN_SETUP_SINGLE_2 1
#define CI_RX_CHAN_SETUP_SINGLE_SUM 2
#define CI_RX_CHAN_SETUP_SINGLE_DIF 3
#define CI_RX_CHAN_SETUP_DUAL_AD1 4
#define CI_RX_CHAN_SETUP_DUAL_AD2 5
#define CI_RX_CHAN_SETUP_DUAL_AD12 6
#define CI_RX_FREQUENCY 0x0020
#define CI_RX_FREQUENCY_REQLEN 5
#define CI_RX_FREQUENCY_SETRESPLEN 10
#define CI_RX_FREQUENCY_NCO 0 //param 1 == channel ID
#define CI_RX_FREQUENCY_DISPLAY 1
#define CI_RX_NCOPHASE 0x0022
#define CI_RX_NCOPHASE_REQLEN 5
#define CI_RX_NCOPHASE_SETRESPLEN 9 //param 1 == channel ID param 2 == 32bit phase offset
#define CI_RX_ADCGAIN 0x0023
#define CI_RX_ADCGAIN_REQLEN 5
#define CI_RX_ADCGAIN_SETRESPLEN 7 //param 1 == channel ID param 2 == 16bit A/D gain
#define CI_RX_RF_GAIN 0x0038
#define CI_RX_RF_GAIN_REQLEN 5
#define CI_RX_RF_GAIN_SETRESPLEN 6 //param 1 == channel ID
#define CI_RX_IF_GAIN 0x0040 //not used by NetSDR/SDRIP
#define CI_RX_IF_GAIN_REQLEN 5
#define CI_RX_IF_GAIN_SETRESPLEN 6
#define CI_RX_RF_FILTER 0x0044
#define CI_RX_RF_FILTER_REQLEN 5
#define CI_RX_RF_FILTER_SETRESPLEN 6
#define CI_RX_RF_FILTER_AUTO 0
#define CI_RX_RF_FILTER_BP1 1
#define CI_RX_RF_FILTER_BP2 2
#define CI_RX_RF_FILTER_BP3 3
#define CI_RX_RF_FILTER_BP4 4
#define CI_RX_RF_FILTER_BP5 5
#define CI_RX_RF_FILTER_BP6 6
#define CI_RX_RF_FILTER_BP7 7
#define CI_RX_RF_FILTER_BP8 8
#define CI_RX_RF_FILTER_BP9 9
#define CI_RX_RF_FILTER_BP10 10
#define CI_RX_RF_FILTER_BYPASS 11
#define CI_RX_RF_FILTER_NOPASS 12
#define CI_RX_AF_GAIN 0x0048
#define CI_RX_AF_GAIN_REQLEN 5
#define CI_RX_AF_GAIN_SETRESPLEN 6
#define CI_RX_AD_MODES 0x008A
#define CI_RX_AD_MODES_REQLEN 5
#define CI_RX_AD_MODES_SETRESPLEN 6
#define CI_AD_MODES_DITHER 0x01 //bit field defs
#define CI_AD_MODES_PGA 0x02
#define CI_RX_DOWNCONVERT_SETUP 0x008C //not used
#define CI_RX_DOWNCONVERT_SETUP_REQLEN 5
#define CI_RX_DOWNCONVERT_SETUP_SETRESPLEN 6
#define CI_RX_IN_SAMPLE_RATE 0x00B0
#define CI_RX_IN_SAMPLE_RATE_REQLEN 5
#define CI_RX_IN_SAMPLE_RATE_SETRESPLEN 9
#define CI_RX_SYNCIN_MODE_PARAMETERS 0x00B4
#define CI_RX_SYNCIN_MODE_PARAMETERS_REQLEN 5
#define CI_RX_SYNCIN_MODE_PARAMETERS_SETRESPLEN 8 //p0=chan, p1=mode, p2,3 = number packets
#define CI_RX_SYNCIN_MODE_OFF 0
#define CI_RX_SYNCIN_MODE_NEGEDGE 1
#define CI_RX_SYNCIN_MODE_POSEDGE 2
#define CI_RX_SYNCIN_MODE_LOWLEVEL 3
#define CI_RX_SYNCIN_MODE_HIGHLEVEL 4
#define CI_RX_SYNCIN_MODE_MUTELOW 5
#define CI_RX_SYNCIN_MODE_MUTEHIGH 6
#define CI_RX_PULSEOUT_MODE 0x0B6
#define CI_RX_PULSEOUT_MODE_REQLEN 5
#define CI_RX_PULSEOUT_MODE_SETRESPLEN 6
#define CI_PULSEOUT_MODE_OFF 0 //mode defs
#define CI_PULSEOUT_MODE_RUNSTATE 1
#define CI_PULSEOUT_MODE_RUNTOG 2
#define CI_PULSEOUT_MODE_SAMPRATE 3
#define CI_RX_OUT_SAMPLE_RATE 0x00B8
#define CI_RX_OUT_SAMPLE_RATE_REQLEN 5
#define CI_RX_OUT_SAMPLE_RATE_SETRESPLEN 9
#define CI_RX_OUTPUT_PARAMS 0x00C4
#define CI_RX_OUTPUT_PARAMS_REQLEN 4
#define CI_RX_OUTPUT_PARAMS_SETRESPLEN 5
#define CI_RX_OUTPUT_PARAMS_LARGE_MTU 0 //Large UDP packets (1444 bytes(24bit data) or 1028 bytes(16bit data) ) (default)
#define CI_RX_OUTPUT_PARAMS_SMALL_MTU 1 //1 == Small UDP packets (388 bytes(24bit data) or 516 bytes(16bit data) )
#define CI_RX_UDP_OUTPUT_PARAMS 0x00C5
#define CI_RX_UDP_OUTPUT_PARAMS_REQLEN 4
#define CI_RX_UDP_OUTPUT_PARAMS_SETRESPLEN 10
#define CI_RX_CALIBRATION_DATA 0x00D0
#define CI_RX_CALIBRATION_DATA_REQLEN 5
#define CI_RX_CALIBRATION_DATA_SETRESPLEN 7 //param 1 == channel ID param 2== 16 bit DC offset
/* Transmitter Specific Control Items */
/* Transmitter Specific Control Items */
#define CI_TX_STATE 0x0118
#define CI_TX_STATE_REQLEN 5
#define CI_TX_STATE_SETRESPLEN 6
//Parameter 1 is a 1 byte channel ID.
//Parameter 2 is a 1 byte Transmit state.
#define TX_STATE_OFF 0
#define TX_STATE_ON 1
#define TX_STATE_DELAYOFF 2
#define CI_TX_FREQUENCY 0x0120
#define CI_TX_FREQUENCY_REQLEN 5
#define CI_TX_FREQUENCY_SETRESPLEN 10 //param 1 == channel ID
#define CI_TX_DA_MODE 0x012A
#define CI_TX_DA_MODE_REQLEN 5
#define CI_TX_DA_MODE_SETRESPLEN 6
#define CI_DA_MODE_OFF 0x00 //mode defs
#define CI_DA_MODE_AD 0x01
#define CI_DA_MODE_NCOTRACK 0x02
#define CI_DA_MODE_NOISE 0x03
#define CI_TX_CW_MSG 0x0150
#define CI_TX_CW_MSG_REQLEN 4
#define CI_TX_CW_MSG_SETRESPLEN 16 //param1 = 1 byte WPM, param2 = 1 byte tone/100Hz, param3 == 10 byte ascii msg
/* Aux Port Control Items */
#define CI_OPEN_ASYNC_PORT 0x0200
#define CI_OPEN_ASYNC_PORT_SETRESPLEN 14
#define CI_CLOSE_ASYNC_PORT 0x0201
#define CI_CLOSE_ASYNC_PORT_SETRESPLEN 5
#define CI_CHANGERATE_ASYNC_PORT 0x0202
#define CI_CHANGERATE_ASYNC_PORT_SETRESPLEN 9
#define CI_AUXSIGNAL_AMP 0x0288
#define CI_AUXSIGNAL_AMP_REQLEN 4
#define CI_AUXSIGNAL_AMP_SETRESPLEN 8
//Parameter 1 is a 2 byte unsigned value specifying the Audio DAC1 gainx1000 (1 to 64000) == 0.001 to 64.000
//Parameter 2 is a 2 byte unsigned value specifying the Audio DAC2 gainx1000 (1 to 64000) == 0.001 to 64.000
/* Software/Firmware Update MODE Control Items */
#define CI_UPDATE_MODE_CONTROL 0x0300
#define CI_UPDATE_MODE_CONTROL_SETREQLEN 10
#define CI_UPDATE_MODE_CONTROL_SETRESPLEN 10
#define CI_UPDATE_MODE_CONTROL_ENTER 0
#define CI_UPDATE_MODE_CONTROL_START 1
#define CI_UPDATE_MODE_CONTROL_END 2
#define CI_UPDATE_MODE_CONTROL_ABORT 3
#define CI_UPDATE_MODE_CONTROL_ERASE 4
#define CI_UPDATE_MODE_PARAMS 0x0302
#define CI_UPDATE_MODE_PARAMS_SETREQLEN 5
#define CI_UPDATE_MODE_PARAMS_SETRESPLEN 17
#define PROG_FLASH_ID 0
#define CONFIG_FLASH_ID 1
#endif //PROTOCOLDEFS_H
|