GNU Radio's TEST Package
spyserver_protocol.h
Go to the documentation of this file.
1/*
2
3SPY Server protocol structures and constants
4Copyright (C) 2017 Youssef Touil youssef@live.com
5
6*/
7
8
9#pragma once
10
11#include <stdint.h>
12#include <limits.h>
13
14#define SPYSERVER_PROTOCOL_VERSION (((2) << 24) | ((0) << 16) | (1700))
15
16#define SPYSERVER_MAX_COMMAND_BODY_SIZE (256)
17#define SPYSERVER_MAX_MESSAGE_BODY_SIZE (1 << 20)
18#define SPYSERVER_MAX_DISPLAY_PIXELS (1 << 15)
19#define SPYSERVER_MIN_DISPLAY_PIXELS (100)
20#define SPYSERVER_MAX_FFT_DB_RANGE (150)
21#define SPYSERVER_MIN_FFT_DB_RANGE (10)
22#define SPYSERVER_MAX_FFT_DB_OFFSET (100)
23
25{
30};
31
33{
38};
39
41{
45
50
57};
58
60{
65};
66
67
69{
75};
76
78{
85};
86
88{
93
98
103
106};
107
109{
112};
113
115{
116 uint32_t CommandType;
117 uint32_t BodySize;
118};
119
121{
122 uint32_t StreamType;
123 uint32_t SettingType;
124};
125
127{
128 uint32_t ProtocolID;
129 uint32_t MessageType;
130 uint32_t StreamType;
132 uint32_t BodySize;
133};
134
136{
137 uint32_t DeviceType;
138 uint32_t DeviceSerial;
146 uint32_t Resolution;
149};
150
152{
153 uint32_t CanControl;
154 uint32_t Gain;
162};
163
165{
166 int16_t real;
167 int16_t imag;
168};
169
171{
172 uint8_t real;
173 uint8_t imag;
174};
175
CommandType
Definition: spyserver_protocol.h:33
@ CMD_PING
Definition: spyserver_protocol.h:37
@ CMD_SET_SETTING
Definition: spyserver_protocol.h:36
@ CMD_HELLO
Definition: spyserver_protocol.h:34
@ CMD_GET_SETTING
Definition: spyserver_protocol.h:35
StreamFormat
Definition: spyserver_protocol.h:78
@ STREAM_FORMAT_FLOAT
Definition: spyserver_protocol.h:83
@ STREAM_FORMAT_INT24
Definition: spyserver_protocol.h:82
@ STREAM_FORMAT_INT16
Definition: spyserver_protocol.h:81
@ STREAM_FORMAT_UINT8
Definition: spyserver_protocol.h:80
@ STREAM_FORMAT_INVALID
Definition: spyserver_protocol.h:79
@ STREAM_FORMAT_DINT4
Definition: spyserver_protocol.h:84
ParserPhase
Definition: spyserver_protocol.h:176
@ ReadingData
Definition: spyserver_protocol.h:178
@ AcquiringHeader
Definition: spyserver_protocol.h:177
StreamType
Definition: spyserver_protocol.h:60
@ STREAM_TYPE_IQ
Definition: spyserver_protocol.h:62
@ STREAM_TYPE_STATUS
Definition: spyserver_protocol.h:61
@ STREAM_TYPE_FFT
Definition: spyserver_protocol.h:64
@ STREAM_TYPE_AF
Definition: spyserver_protocol.h:63
SettingType
Definition: spyserver_protocol.h:41
@ SETTING_GAIN
Definition: spyserver_protocol.h:44
@ SETTING_FFT_FORMAT
Definition: spyserver_protocol.h:51
@ SETTING_FFT_DB_OFFSET
Definition: spyserver_protocol.h:54
@ SETTING_STREAMING_MODE
Definition: spyserver_protocol.h:42
@ SETTING_IQ_FREQUENCY
Definition: spyserver_protocol.h:47
@ SETTING_IQ_DIGITAL_GAIN
Definition: spyserver_protocol.h:49
@ SETTING_FFT_DB_RANGE
Definition: spyserver_protocol.h:55
@ SETTING_FFT_FREQUENCY
Definition: spyserver_protocol.h:52
@ SETTING_IQ_DECIMATION
Definition: spyserver_protocol.h:48
@ SETTING_IQ_FORMAT
Definition: spyserver_protocol.h:46
@ SETTING_STREAMING_ENABLED
Definition: spyserver_protocol.h:43
@ SETTING_FFT_DECIMATION
Definition: spyserver_protocol.h:53
@ SETTING_FFT_DISPLAY_PIXELS
Definition: spyserver_protocol.h:56
MessageType
Definition: spyserver_protocol.h:88
@ MSG_TYPE_DEVICE_INFO
Definition: spyserver_protocol.h:89
@ MSG_TYPE_INT16_IQ
Definition: spyserver_protocol.h:95
@ MSG_TYPE_FLOAT_IQ
Definition: spyserver_protocol.h:97
@ MSG_TYPE_UINT8_IQ
Definition: spyserver_protocol.h:94
@ MSG_TYPE_FLOAT_AF
Definition: spyserver_protocol.h:102
@ MSG_TYPE_READ_SETTING
Definition: spyserver_protocol.h:92
@ MSG_TYPE_INT24_AF
Definition: spyserver_protocol.h:101
@ MSG_TYPE_DINT4_FFT
Definition: spyserver_protocol.h:104
@ MSG_TYPE_PONG
Definition: spyserver_protocol.h:91
@ MSG_TYPE_CLIENT_SYNC
Definition: spyserver_protocol.h:90
@ MSG_TYPE_UINT8_FFT
Definition: spyserver_protocol.h:105
@ MSG_TYPE_INT16_AF
Definition: spyserver_protocol.h:100
@ MSG_TYPE_INT24_IQ
Definition: spyserver_protocol.h:96
@ MSG_TYPE_UINT8_AF
Definition: spyserver_protocol.h:99
DeviceType
Definition: spyserver_protocol.h:25
@ DEVICE_AIRSPY_ONE
Definition: spyserver_protocol.h:27
@ DEVICE_RTLSDR
Definition: spyserver_protocol.h:29
@ DEVICE_INVALID
Definition: spyserver_protocol.h:26
@ DEVICE_AIRSPY_HF
Definition: spyserver_protocol.h:28
StreamingMode
Definition: spyserver_protocol.h:69
@ STREAM_MODE_AF_ONLY
Definition: spyserver_protocol.h:71
@ STREAM_MODE_FFT_ONLY
Definition: spyserver_protocol.h:72
@ STREAM_MODE_FFT_AF
Definition: spyserver_protocol.h:74
@ STREAM_MODE_IQ_ONLY
Definition: spyserver_protocol.h:70
@ STREAM_MODE_FFT_IQ
Definition: spyserver_protocol.h:73
Definition: spyserver_protocol.h:109
uint32_t ProtocolVersion
Definition: spyserver_protocol.h:110
uint32_t ClientNameLength
Definition: spyserver_protocol.h:111
Definition: spyserver_protocol.h:152
uint32_t DeviceCenterFrequency
Definition: spyserver_protocol.h:155
uint32_t MinimumFFTCenterFrequency
Definition: spyserver_protocol.h:160
uint32_t Gain
Definition: spyserver_protocol.h:154
uint32_t FFTCenterFrequency
Definition: spyserver_protocol.h:157
uint32_t IQCenterFrequency
Definition: spyserver_protocol.h:156
uint32_t MaximumFFTCenterFrequency
Definition: spyserver_protocol.h:161
uint32_t MinimumIQCenterFrequency
Definition: spyserver_protocol.h:158
uint32_t CanControl
Definition: spyserver_protocol.h:153
uint32_t MaximumIQCenterFrequency
Definition: spyserver_protocol.h:159
Definition: spyserver_protocol.h:115
uint32_t CommandType
Definition: spyserver_protocol.h:116
uint32_t BodySize
Definition: spyserver_protocol.h:117
Definition: spyserver_protocol.h:165
int16_t real
Definition: spyserver_protocol.h:166
int16_t imag
Definition: spyserver_protocol.h:167
Definition: spyserver_protocol.h:171
uint8_t imag
Definition: spyserver_protocol.h:173
uint8_t real
Definition: spyserver_protocol.h:172
Definition: spyserver_protocol.h:136
uint32_t Resolution
Definition: spyserver_protocol.h:146
uint32_t MaximumGainIndex
Definition: spyserver_protocol.h:143
uint32_t ForcedIQFormat
Definition: spyserver_protocol.h:148
uint32_t GainStageCount
Definition: spyserver_protocol.h:142
uint32_t MaximumSampleRate
Definition: spyserver_protocol.h:139
uint32_t MinimumFrequency
Definition: spyserver_protocol.h:144
uint32_t MaximumFrequency
Definition: spyserver_protocol.h:145
uint32_t MinimumIQDecimation
Definition: spyserver_protocol.h:147
uint32_t DecimationStageCount
Definition: spyserver_protocol.h:141
uint32_t DeviceSerial
Definition: spyserver_protocol.h:138
uint32_t DeviceType
Definition: spyserver_protocol.h:137
uint32_t MaximumBandwidth
Definition: spyserver_protocol.h:140
Definition: spyserver_protocol.h:127
uint32_t StreamType
Definition: spyserver_protocol.h:130
uint32_t SequenceNumber
Definition: spyserver_protocol.h:131
uint32_t MessageType
Definition: spyserver_protocol.h:129
uint32_t ProtocolID
Definition: spyserver_protocol.h:128
uint32_t BodySize
Definition: spyserver_protocol.h:132
Definition: spyserver_protocol.h:121
uint32_t SettingType
Definition: spyserver_protocol.h:123
uint32_t StreamType
Definition: spyserver_protocol.h:122