S1005403_RisCC/cpp/DspRIS/sfp_dsp_ris.h

110 lines
1.3 KiB
C++

/*
* sfp_dsp_ris.h
*
*/
#ifndef SFP_DSP_RIS_H_
#define SFP_DSP_RIS_H_
#include "DspHeaderResults.h"
#include "sfp/sfp_types.h"
#include "sfp/sfp_helper.h"
namespace SFP_RIS
{
enum ris_chunk_tags_t
{
tag_sts_scenario='S',
tag_targets_db='T',
tag_header='H',
};
struct scenario_t
{
uint32_t timetag;
uint32_t flags;
uint32_t mode;
uint32_t spare_[8-2];
float platform_azimuth;
float vx;
float vy;
float vz;
float baro_altitude;
float true_heading;
float latitude;
float longitude;
float ant_nav_az;
float ant_nav_el;
uint32_t spare[16-9];
};
struct target_status_t
{
uint32_t flags;
float heading;
float x;
float y;
float z;
// float vx;
// float vy;
// float vz;
uint32_t spare[8-5];
};
enum { k_max_tgt=32};
struct target_db_t
{
uint32_t flags;
target_status_t tgt[k_max_tgt];
};
struct status_payload_t
{
SFP::data_tag_t scenario_tag;
scenario_t scenario;
SFP::data_tag_t target_tag;
target_db_t tgt;
};
struct status_message_t
{
SFP::frag_header_t header;
status_payload_t payload;
};
struct script_payload_t
{
SFP::data_tag_t ctrl_tag;
uint32_t ctrl[32];
SFP::data_tag_t script_tag;
uint8_t script[1024];
};
struct script_message_t
{
SFP::frag_header_t header;
script_payload_t payload;
};
}
#endif /* SFP_DSP_RIS_H_ */