добавил и отредактировал API от Дани
This commit is contained in:
671
dependencies/control_system-dvbs-2/common/protocol_commands.h
vendored
Normal file
671
dependencies/control_system-dvbs-2/common/protocol_commands.h
vendored
Normal file
@@ -0,0 +1,671 @@
|
||||
#pragma once
|
||||
#include <cereal/archives/binary.hpp>
|
||||
#include <cereal/types/vector.hpp>
|
||||
#include <cereal/types/string.hpp>
|
||||
|
||||
namespace fm
|
||||
{
|
||||
enum class side_type
|
||||
{
|
||||
local = 0,
|
||||
tftp = 1,
|
||||
config = 2
|
||||
};
|
||||
|
||||
struct side_description
|
||||
{
|
||||
side_type s_type;
|
||||
std::string filepath;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(s_type, filepath);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
enum class cmd_dma_debugg
|
||||
{
|
||||
start = 0,
|
||||
stop = 1,
|
||||
reset = 2,
|
||||
reinit = 3,
|
||||
modcod = 4,
|
||||
log_bool = 5,
|
||||
data_mode = 6,
|
||||
default_params = 7,
|
||||
buc_voltage = 8,
|
||||
lnb_voltage = 9,
|
||||
_10mhz_tx = 10,
|
||||
_10mhz_rx = 11,
|
||||
powerdown_plata = 12,
|
||||
_10MHz_out = 13,
|
||||
current_state_tx = 14,
|
||||
current_state_oib = 15,
|
||||
save_config = 16,
|
||||
begin_save_config = 17
|
||||
};
|
||||
|
||||
enum class name_classes_qos
|
||||
{
|
||||
realtime1 = 0,
|
||||
realtime2,
|
||||
realtime3,
|
||||
critical1,
|
||||
critical2,
|
||||
critical3,
|
||||
cir,
|
||||
pir,
|
||||
wcr1,
|
||||
wcr2,
|
||||
wcr3,
|
||||
enable,
|
||||
ful_node
|
||||
};
|
||||
|
||||
enum class cmd_get_dma_debugg_enum
|
||||
{
|
||||
speed_tx = 0,
|
||||
speed_rx = 1,
|
||||
modcod = 2,
|
||||
drop_bad_rx = 3,
|
||||
drop_full_rx = 4,
|
||||
packet_ok_rx = 5,
|
||||
packet_little_tx = 6,
|
||||
packet_big_tx = 7,
|
||||
bad_modcod_tx = 8,
|
||||
bad_length_tx = 9,
|
||||
reset_cnt_rx = 10,
|
||||
data_mode = 11,
|
||||
buc_voltage = 12,
|
||||
lnb_voltage = 13,
|
||||
_10mhz_tx = 14,
|
||||
_10mhz_rx = 15,
|
||||
powerdown_plata = 16,
|
||||
_10MHz_out = 17,
|
||||
current_state_tx = 18,
|
||||
real_dpdi_shift = 19,
|
||||
freq_error_offset = 20,
|
||||
freq_fine_estimate = 21,
|
||||
speed_tx_iface = 22,
|
||||
speed_rx_iface = 23,
|
||||
current_state_oib = 24,
|
||||
ratio_signal_signal = 25,
|
||||
status_init = 26
|
||||
};
|
||||
|
||||
enum class cmd_10g_config
|
||||
{
|
||||
udp_payload_lenght = 0,
|
||||
local_ip = 1,
|
||||
dest_ip = 2,
|
||||
gateway_ip = 3,
|
||||
subnet_mask = 4,
|
||||
udp_source_port = 5,
|
||||
udp_dest_port = 6,
|
||||
local_mac_31_0 = 7,
|
||||
local_mac_32_47 = 8,
|
||||
mtx_chan0 = 9,
|
||||
mtx_chan1 = 10
|
||||
};
|
||||
|
||||
enum class cmd_level_dem
|
||||
{
|
||||
//! ОСШ на входе
|
||||
snr = 0,
|
||||
//! RSSI на входе
|
||||
rssi = 1,
|
||||
sym_sync_lock = 2,
|
||||
freq_search_lock = 3,
|
||||
afc_lock = 4,
|
||||
pkt_sync = 5,
|
||||
phase_inv = 6,
|
||||
afc_error = 7,
|
||||
sym_error = 8,
|
||||
fine_freq_error = 9,
|
||||
crs_freq_error = 10,
|
||||
gc_gain_aru = 11,
|
||||
rollof = 12,
|
||||
carrier_lock = 13,
|
||||
filt_adapt_lock = 14,
|
||||
snr_acm = 15,
|
||||
modcod_tx = 16
|
||||
};
|
||||
|
||||
enum class interface_value
|
||||
{
|
||||
all = 0,
|
||||
sat0 = 1,
|
||||
gigabit = 2,
|
||||
modulator = 3,
|
||||
demodulator = 4
|
||||
};
|
||||
|
||||
enum class zynq_value
|
||||
{
|
||||
ps_volt = 0,
|
||||
pl_volt = 1,
|
||||
adrv_temp = 2,
|
||||
pl_temp = 3,
|
||||
ps_temp = 4,
|
||||
adrv_temp2 = 5
|
||||
};
|
||||
|
||||
enum class modulator_value
|
||||
{
|
||||
lo_freaquency = 0,
|
||||
baud_rate = 1,
|
||||
temp_treshold = 2,
|
||||
mod_reset = 3,
|
||||
modcod = 4,
|
||||
rollof = 5,
|
||||
mode_transmitt = 6,
|
||||
if_overload = 7,
|
||||
gold_seq = 8
|
||||
};
|
||||
|
||||
enum class demodulator_value
|
||||
{
|
||||
lo_freaquency = 0,
|
||||
baud_rate = 1,
|
||||
freq_search = 2,
|
||||
demod_reset = 3,
|
||||
fec_frame_size = 4,
|
||||
rvt = 5,
|
||||
mode_gain_control = 6,
|
||||
sig_min = 7,
|
||||
sig_max = 8,
|
||||
afc_rst = 9,
|
||||
mode_demod = 10,
|
||||
gold_seq = 11,
|
||||
attitude_signals = 12,
|
||||
is_reset_CinC = 13
|
||||
};
|
||||
enum class getdemodulator_value
|
||||
{
|
||||
lo_freaquency = 0,
|
||||
baud_rate = 1,
|
||||
dummy_counter = 2,
|
||||
modcod = 3,
|
||||
mode_gain_control = 4,
|
||||
sig_min = 5,
|
||||
sig_max = 6,
|
||||
rvt = 7,
|
||||
fec_size = 8,
|
||||
mode_demod = 9,
|
||||
cnt_bad_lock_cinc = 10,
|
||||
gold_seq = 11,
|
||||
attitude_signals = 12,
|
||||
cnt_dem_time_sinc = 13,
|
||||
cnt_dem_lock_afc = 14,
|
||||
cnt_dem_sync_pack = 15,
|
||||
cnt_dem_sinc_frec_corse = 16,
|
||||
freq_lock_estimate = 17,
|
||||
freq_fine_estimate = 18,
|
||||
is_reset_CinC = 19,
|
||||
type_pack = 20,
|
||||
is_pilots = 21
|
||||
};
|
||||
|
||||
enum class gain_value
|
||||
{
|
||||
tx1 = 0,
|
||||
tx2 = 1,
|
||||
rx1 = 2,
|
||||
rx2 = 3,
|
||||
txpwd = 4,
|
||||
rxpwd = 5
|
||||
};
|
||||
|
||||
enum class acm_value
|
||||
{
|
||||
enable = 0,
|
||||
modcod_min = 1,
|
||||
modcod_max = 2,
|
||||
attenuation_min = 3,
|
||||
attenuatin_max = 4,
|
||||
required_snr = 5
|
||||
};
|
||||
|
||||
enum class cmd_radio
|
||||
{
|
||||
tx1 = 0,
|
||||
tx2 = 1,
|
||||
rx1 = 2,
|
||||
rx2 = 3,
|
||||
global = 4,
|
||||
global2 = 5
|
||||
};
|
||||
|
||||
enum class network_value
|
||||
{
|
||||
network = 0,
|
||||
mode_interface = 1,
|
||||
version = 2,
|
||||
mask = 3,
|
||||
gateway = 4,
|
||||
dhcp_on = 5,
|
||||
dhcp_range = 6,
|
||||
network_data = 7,
|
||||
chip_id = 8,
|
||||
serial = 9,
|
||||
mac_eth0 = 10,
|
||||
mac_eth1 = 11,
|
||||
name_serv = 12,
|
||||
network_debug_send = 13,
|
||||
network_port_metric = 14,
|
||||
network_port_data = 15,
|
||||
periodic_send_metrics = 16,
|
||||
if_debug_mode = 17
|
||||
};
|
||||
|
||||
enum class cmd_type
|
||||
{
|
||||
login = 0,
|
||||
exit = 1,
|
||||
ping = 2,
|
||||
tracert = 3,
|
||||
interface = 4,
|
||||
copy = 5,
|
||||
abort = 6,
|
||||
set_demodulator_frequency = 7,
|
||||
get_demodulator_frequency = 8,
|
||||
set_gain_param = 9,
|
||||
get_gain_param = 10,
|
||||
radio_on_of = 11,
|
||||
modulator_param = 12,
|
||||
zynq_param = 13,
|
||||
set_demodulator_param = 14,
|
||||
get_demodulator_param = 15,
|
||||
get_modulator_param = 16,
|
||||
set_network = 17,
|
||||
get_level_dmd = 18,
|
||||
set_10g_config = 19,
|
||||
set_dma_debugg = 20,
|
||||
get_dma_debugg = 21,
|
||||
set_baudrate_rollof_dmd = 22,
|
||||
set_acm_params = 23,
|
||||
get_acm_params = 24,
|
||||
set_params_dpdi = 25,
|
||||
get_params_dpdi = 26,
|
||||
get_network = 27,
|
||||
set_qos_settings = 28,
|
||||
get_qos_settings = 29,
|
||||
set_lbq_params = 30
|
||||
};
|
||||
|
||||
struct cmd_lbq_params
|
||||
{
|
||||
uint32_t tick_ms;
|
||||
uint32_t bucket_size;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(tick_ms, bucket_size);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct cmd_get_network
|
||||
{
|
||||
std::string network;
|
||||
network_value net_val;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(net_val, network);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_network
|
||||
{
|
||||
std::string network;
|
||||
network_value net_val;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(net_val, network);
|
||||
}
|
||||
};
|
||||
|
||||
struct dpdi_parameters
|
||||
{
|
||||
uint8_t latitude_station_grad = 0;
|
||||
uint8_t latitude_station_minute = 0;
|
||||
uint8_t longitude_station_grad = 0;
|
||||
uint8_t longitude_station_minute = 0;
|
||||
uint8_t longitude_sattelite_grad = 0;
|
||||
uint8_t longitude_sattelite_minute = 0;
|
||||
bool is_delay_window = 0;
|
||||
uint32_t max_delay = 1;
|
||||
uint32_t min_delay = 0;
|
||||
uint32_t freq_offset = 0;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(latitude_station_grad, latitude_station_minute,
|
||||
longitude_station_grad, longitude_station_minute,
|
||||
longitude_sattelite_grad, longitude_sattelite_minute,
|
||||
is_delay_window, max_delay, min_delay, freq_offset);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct ACM_parameters_serv
|
||||
{
|
||||
double snr_treashold = 0;
|
||||
double snr_treashold_acm = 0.5;
|
||||
uint32_t period_pack = 15;
|
||||
uint8_t max_modcod = 4;
|
||||
uint8_t min_modcod = 4;
|
||||
int max_attenuation = 0;
|
||||
int min_attenuation = 0;
|
||||
bool enable = false;
|
||||
bool enable_auto_atten = false;
|
||||
};
|
||||
|
||||
struct cmd_get_acm_param
|
||||
{
|
||||
double snr_treashold = 0;
|
||||
double snr_treashold_acm = 0.5;
|
||||
uint32_t period_pack = 15;
|
||||
uint8_t max_modcod = 4;
|
||||
uint8_t min_modcod = 4;
|
||||
int max_attenuation = 0;
|
||||
int min_attenuation = 0;
|
||||
bool enable = false;
|
||||
bool enable_auto_atten = false;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(enable, max_attenuation, max_modcod, min_attenuation, min_modcod, snr_treashold, enable_auto_atten, snr_treashold_acm, period_pack);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_qos_settings
|
||||
{
|
||||
std::string node;
|
||||
name_classes_qos class_qos;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(node, class_qos);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_get_qos_settings
|
||||
{
|
||||
std::string node;
|
||||
name_classes_qos class_qos;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(node, class_qos);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_acm_param
|
||||
{
|
||||
ACM_parameters_serv acm_params;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(acm_params.enable, acm_params.max_attenuation, acm_params.max_modcod, acm_params.min_attenuation, acm_params.min_modcod, acm_params.snr_treashold, acm_params.enable_auto_atten, acm_params.snr_treashold_acm, acm_params.period_pack);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct cmd_get_dma_debug
|
||||
{
|
||||
std::string value;
|
||||
cmd_get_dma_debugg_enum dma_debugg;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(dma_debugg, value);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_dma_debug
|
||||
{
|
||||
std::string value;
|
||||
cmd_dma_debugg dma_debugg;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(dma_debugg, value);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_10g_config
|
||||
{
|
||||
std::string value;
|
||||
cmd_10g_config _10g_config;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(_10g_config, value);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_get_level_dem
|
||||
{
|
||||
double value;
|
||||
cmd_level_dem lvl_dem;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(lvl_dem, value);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_zynq_param
|
||||
{
|
||||
zynq_value cmd_zynq;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(cmd_zynq);
|
||||
}
|
||||
};
|
||||
|
||||
struct radio_enable
|
||||
{
|
||||
cmd_radio cmd_radio_;
|
||||
bool enbl;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(cmd_radio_, enbl);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_modulator_param
|
||||
{
|
||||
modulator_value mod_val;
|
||||
long long value;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(mod_val,value);
|
||||
}
|
||||
};
|
||||
struct cmd_get_modulator_param
|
||||
{
|
||||
modulator_value mod_val;
|
||||
uint32_t value;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(mod_val,value);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_set_rollof_and_demod
|
||||
{
|
||||
double baudrate;
|
||||
double rollof;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(baudrate,rollof);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
struct cmd_set_demodulator_param
|
||||
{
|
||||
demodulator_value demod_val;
|
||||
uint32_t value;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(demod_val,value);
|
||||
}
|
||||
};
|
||||
|
||||
struct cmd_get_demodulator_param
|
||||
{
|
||||
getdemodulator_value demod_val;
|
||||
uint32_t value;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(demod_val,value);
|
||||
}
|
||||
};
|
||||
|
||||
struct set_gain_par
|
||||
{
|
||||
gain_value g_val;
|
||||
double _gain;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(g_val,_gain);
|
||||
}
|
||||
};
|
||||
|
||||
struct get_gain_par
|
||||
{
|
||||
gain_value g_val;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(g_val);
|
||||
}
|
||||
};
|
||||
|
||||
struct set_dem_freq_cmd
|
||||
{
|
||||
uint32_t frequency;
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(frequency);
|
||||
}
|
||||
};
|
||||
|
||||
enum class response_type
|
||||
{
|
||||
ok = 0,
|
||||
error = 1,
|
||||
in_progress = 3,
|
||||
abort = 4,
|
||||
busy = 5
|
||||
};
|
||||
|
||||
enum class access_rights
|
||||
{
|
||||
not_allowed = 0,
|
||||
user = 1,
|
||||
admin = 2
|
||||
};
|
||||
|
||||
struct cmd_header
|
||||
{
|
||||
uint32_t id;
|
||||
cmd_type cmd;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(id, cmd);
|
||||
}
|
||||
};
|
||||
|
||||
struct login_cmd
|
||||
{
|
||||
std::string username;
|
||||
std::string pass;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(username, pass);
|
||||
}
|
||||
};
|
||||
|
||||
struct ping_cmd
|
||||
{
|
||||
std::string ip_address;
|
||||
size_t count;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(ip_address, count);
|
||||
}
|
||||
};
|
||||
|
||||
struct tracert_cmd
|
||||
{
|
||||
std::string ip_address;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(ip_address);
|
||||
}
|
||||
};
|
||||
|
||||
struct interface_cmd
|
||||
{
|
||||
interface_value val;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(val);
|
||||
}
|
||||
};
|
||||
|
||||
struct copy_cmd
|
||||
{
|
||||
fm::side_description src;
|
||||
fm::side_description dst;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(src, dst);
|
||||
}
|
||||
};
|
||||
|
||||
struct response_header
|
||||
{
|
||||
uint32_t id;
|
||||
cmd_type cmd;
|
||||
response_type rsp;
|
||||
|
||||
template<class Archive>
|
||||
void serialize(Archive & archive)
|
||||
{
|
||||
archive(id, cmd, rsp);
|
||||
}
|
||||
};
|
23
dependencies/control_system-dvbs-2/common/seq_packet.h
vendored
Normal file
23
dependencies/control_system-dvbs-2/common/seq_packet.h
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
#include <boost/asio.hpp>
|
||||
|
||||
namespace seq_packet
|
||||
{
|
||||
using namespace boost::asio::local;
|
||||
|
||||
struct seqpacket_protocol
|
||||
{
|
||||
int type() const { return SOCK_SEQPACKET; }
|
||||
int protocol() const { return 0; }
|
||||
int family() const { return AF_UNIX; }
|
||||
|
||||
using endpoint = basic_endpoint<seqpacket_protocol>;
|
||||
using socket = boost::asio::basic_stream_socket<seqpacket_protocol>;
|
||||
using acceptor = boost::asio::basic_socket_acceptor<seqpacket_protocol>;
|
||||
|
||||
#if !defined(BOOST_ASIO_NO_IOSTREAM)
|
||||
/// The UNIX domain iostream type.
|
||||
typedef boost::asio::basic_socket_iostream<seqpacket_protocol> iostream;
|
||||
#endif // !defined(BOOST_ASIO_NO_IOSTREAM)
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user