root/ossiedev/trunk/system/standardInterfaces/RadioMetaData.idl @ 7988

Revision 7988, 2.8 KB (checked in by hvolos, 5 years ago)

copy RadioMetaData?.idl to trunk standardinterfaces

  • Property svn:eol-style set to native
Line 
1/****************************************************************************
2
3Copyright 2007 Virginia Polytechnic Institute and State University
4
5This file is part of the OSSIE Standard Interfaces.
6
7OSSIE Standard Interfaces are free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2 of the License, or
10(at your option) any later version.
11
12OSSIE Standard Interfaces is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with OSSIE Standard Interfaces; if not, write to the Free Software
19Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20
21
22****************************************************************************/
23
24
25#include "ossie/PortTypes.idl"
26
27module standardInterfaces {
28
29    /// Modulation scheme
30    struct ModulationScheme {
31        enum mod_scheme {
32            UNKNOWN,        ///< Unknown modulation scheme
33            PSK,            ///< Phase shift keying
34            DPSK,           ///< Differential PSK
35            PAM,            ///< Pulse amplitude modulation
36            FSK,            ///< Frequency shift keying
37            QAM             ///< Quadrature amplitude modulation
38            } scheme;
39        unsigned long   M;  ///< Number of symbols in constellation
40    };
41
42    /// \brief Meta data for packets
43    struct MetaData {
44
45        /// Modulation scheme used for this packet
46        ModulationScheme modulation_scheme;
47
48        unsigned long packet_id;    ///< Generic packet id number
49        float sampling_frequency;   ///< Sampling frequency (Hz)
50        float carrier_frequency;    ///< Carrier frequency (Hz)
51        float signal_bandwidth;     ///< Real-time signal bandwidth (Hz)
52        float signal_strength;      ///< Signal strength (dB)
53        boolean eom;                ///< End-of-message flag/marker
54
55        unsigned long src_id;       ///< Source identifier
56        unsigned long dst_id;       ///< Destination identifier
57        unsigned long app_id;       ///< Application identifier
58        unsigned long port_id;      ///< Port identifier
59
60        unsigned long packet_type;  ///< Type of packet to use
61    };
62
63    /// \brief RadioMetaData interface
64    ///
65    /// Because interfaces such as complexShort already push meta data with each
66    /// packet, adding this interface to a components for describing its data is
67    /// not necessary.  This interface is intended for debugging, configuring
68    /// properties, and sending control information about received packets.
69    interface RadioMetaData {
70        oneway void pushMetaData(in MetaData packet_data);
71    };
72
73};
74
Note: See TracBrowser for help on using the browser.