//!;;Rpy::+
//!;;Rpy::Model Element : idd_mode_types
//!;;Rpy::
//!;;Rpy::Component : IDDComponent 
//!;;Rpy::Configuration : IDDConfig
//!;;Rpy::Project : IDD
//!;;Rpy::
//!;;Rpy::File Path : idd_mode_types.h
//!;;Rpy::Tag : $Tag
//!;;Rpy::
//!;;Rpy::Copyright : Leonardocompany - COMPANY RESTRICTED
//!;;Rpy::
//!;;Rpy::Generated by Rhapsody	: 7.5.3 
//!;;Rpy::-


#ifndef idd_mode_types_H
#define idd_mode_types_H

//## auto_generated
#include "iddtypes.h"
//## dependency idd_base_types
#include "idd_base_types.h"
namespace iddtypes
{
    //## package iddtypes::idd_mode_types
    
    
    //#[ type scan_rate_t
    typedef enum CPP_ENUM_BASE(int) {
      scan_r_idle,
      normal,
      slow
      }  scan_rate_t;
    //#]
    
    //#[ type range_scale_t
    typedef enum CPP_ENUM_BASE(int) {
      range_s_idle,
      _10NM,
      _20NM,
      _40NM,
      _80NM,
      _60NM,
      _160NM
      }  range_scale_t;
    //#]
    
    //#[ type master_mode_t
    typedef enum CPP_ENUM_BASE(int)
    {
        idle_master_mode,
        int_bit_master_mode,
        gm_master_mode,
        dbs_master_mode,
        rws_master_mode,
        vs_master_mode,
        acm_master_mode,
        tws_master_mode,
        sea_low_master_mode,
        sea_high_master_mode,
        gmti_master_mode,
        bcn_master_mode,
        sam_master_mode,
        ta_master_mode,
        wa_master_mode,
        stt_master_mode,
        dtt_master_mode,
        sstt_master_mode,
        acq_master_mode,
        ftt_master_mode,
        agr_master_mode,
                   
        sar_master_mode,
    
        invalid_master_mode_,
                       
        xtst_dummy_mode,                 /*to be used only as a defualt mode for prototypal development*/
        xtst_hw_validation_mode,    /*dedicated to special REP test for HW validation*/
    
        boot_master_mode,
        
        master_mode_id_cardinality_
    } master_mode_t
    ;
    //#]
    
    //#[ type sub_mode_t
    typedef enum CPP_ENUM_BASE(int)
    {
        null_submode,
        rws_nam_submode,
        rws_asm_submode,
        gm_rbm_submode,
        gm_dbs_1_submode,
        gm_dbs_2_submode,
        acm_hud_submode,
        acm_boresight_submode,
        acm_narrow_submode,
        acm_wide_submode,
        acm_vertical_submode,
        acm_slewable_submode,
        bcn_aa_submode,
        bcn_as_submode,
        trk_hr_submode,
    
        invalid_submode,
        sub_id_cardinality_
    } sub_mode_t;
    //#]
    
    //## type master_event_id_t
    enum master_event_id_t
    {
        evn_none,
        evn_reset,
        evn_hpt_shift,
        evn_hpt_transf,
        evn_acquire,
        evn_reject,
        evn_reject_hpt,
        evn_reject_spt
    };
    
    //#[ type master_event_t
    struct master_event_t
    {
        int update_counter;
        master_event_id_t evn;
        int tgt_id;
    };
    //#]
    
    //## type mode_command_t
    struct mode_command_t
    {
        master_mode_t base_mode;		//## attribute base_mode
        master_mode_t mode;		//## attribute mode
        range_scale_t range_scale;		//## attribute range_scale
        float range_scale_meters;		//## attribute range_scale_meters
        scan_rate_t scan_rate;		//## attribute scan_rate
        sub_mode_t sub_mode;		//## attribute sub_mode
        boolean stby;		//## attribute stby
        boolean radiate;		//## attribute radiate
        boolean freeze;		//## attribute freeze
        boolean expand;		//## attribute expand
        master_event_t evn;		//## attribute evn
    };
}

#endif
//;;Rpy:: end


