/****************************************************************

  Generated by Eclipse Cyclone DDS IDL to C Translator
  File name: dds_fdm.h
  Source: dds_fdm.idl
  Cyclone DDS: V0.7.0

*****************************************************************/

#include "dds/ddsc/dds_public_impl.h"

#ifndef _DDSL_DDS_FDM_H_
#define _DDSL_DDS_FDM_H_


#ifdef __cplusplus
extern "C" {
#endif

#define FG_DDS_FDM_VERSION 1
#define FG_DDS_ENGINES 4
#define FG_DDS_WHEELS 16
#define FG_DDS_TANKS 8


typedef struct FG_DDS_FDM
{
  int16_t id;
  int16_t version;
  double longitude;
  double latitude;
  double altitude;
  float agl;
  float phi;
  float theta;
  float psi;
  float alpha;
  float beta;
  float phidot;
  float thetadot;
  float psidot;
  float vcas;
  float climb_rate;
  float v_north;
  float v_east;
  float v_down;
  float v_body_u;
  float v_body_v;
  float v_body_w;
  float A_X_pilot;
  float A_Y_pilot;
  float A_Z_pilot;
  float stall_warning;
  float slip_deg;
  uint16_t num_engines;
  uint16_t eng_state[4];
  float rpm[4];
  float fuel_flow[4];
  float fuel_px[4];
  float egt[4];
  float cht[4];
  float mp_osi[4];
  float tit[4];
  float oil_temp[4];
  float oil_px[4];
  uint16_t num_tanks;
  float fuel_quantity[8];
  char tank_selected[8];
  float capacity_m3[8];
  float unusable_m3[8];
  float density_kgpm3[8];
  float level_m3[8];
  uint16_t num_wheels;
  uint16_t wow[16];
  float gear_pos[16];
  float gear_steer[16];
  float gear_compression[16];
  uint64_t cur_time;
  uint64_t warp;
  float visibility;
  float elevator;
  float elevator_trim_tab;
  float left_flap;
  float right_flap;
  float left_aileron;
  float right_aileron;
  float rudder;
  float nose_wheel;
  float speedbrake;
  float spoilers;
} FG_DDS_FDM;

extern const dds_topic_descriptor_t FG_DDS_FDM_desc;

#define FG_DDS_FDM__alloc() \
((FG_DDS_FDM*) dds_alloc (sizeof (FG_DDS_FDM)));

#define FG_DDS_FDM_free(d,o) \
dds_sample_free ((d), &FG_DDS_FDM_desc, (o))

#ifdef __cplusplus
}
#endif
#endif /* _DDSL_DDS_FDM_H_ */
