root/experimental/components/Conv_Dec/Conv_Dec.h @ 4178

Revision 4178, 3.1 KB (checked in by hvolos, 6 years ago)

Components updated, waveform execution is hit or miss, not sure were is the problem

Line 
1/****************************************************************************
2
3Copyright 2007 Virginia Polytechnic Institute and State University
4
5This file is part of the OSSIE Conv_Dec.
6
7OSSIE Conv_Dec is 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 Conv_Dec 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 Conv_Dec; if not, write to the Free Software
19Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20
21****************************************************************************/
22
23
24#ifndef CONV_DEC_IMPL_H
25#define CONV_DEC_IMPL_H
26
27#include <stdlib.h>
28#include "ossie/cf.h"
29#include "ossie/PortTypes.h"
30#include "ossie/Resource_impl.h"
31#include "ossie/debug.h"
32
33
34#include "standardinterfaces/realChar.h"
35#include "standardinterfaces/realChar_u.h"
36#include "standardinterfaces/realChar_p.h"
37#include "sigproc/SigProc.h"
38
39/** \brief
40 *
41 *
42 */
43class Conv_Dec_i : public virtual Resource_impl
44{
45  public:
46    /// Initializing constructor
47    Conv_Dec_i(const char *uuid, omni_condition *sem);
48
49    /// Destructor
50    ~Conv_Dec_i(void);
51
52    /// Static function for omni thread
53    static void Run( void * data );
54
55    ///
56    void start() throw (CF::Resource::StartError, CORBA::SystemException);
57
58    ///
59    void stop() throw (CF::Resource::StopError, CORBA::SystemException);
60
61    ///
62    CORBA::Object_ptr getPort( const char* portName )
63        throw (CF::PortSupplier::UnknownPort, CORBA::SystemException);
64
65    ///
66    void releaseObject() throw (CF::LifeCycle::ReleaseError, CORBA::SystemException);
67
68    ///
69    void initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException);
70
71    /// Configures properties read from .prf.xml
72    void configure(const CF::Properties&)
73        throw (CORBA::SystemException,
74            CF::PropertySet::InvalidConfiguration,
75            CF::PropertySet::PartialConfiguration);
76
77
78  private:
79    /// Disallow default constructor
80    Conv_Dec_i();
81
82    /// Disallow copy constructor
83    Conv_Dec_i(Conv_Dec_i&);
84
85    /// Main signal processing method
86    void ProcessData();
87   
88    omni_condition *component_running;  ///< for component shutdown
89    omni_thread *processing_thread;     ///< for component writer function
90       
91         CORBA::Short rate_index;
92        CORBA::Short mode;
93        CORBA::Short k;
94        CORBA::Short K;
95        CORBA::Short n;
96       
97        unsigned short int inputGeneratorPolynomialsLength;
98        unsigned int*inputGeneratorPolynomials;
99
100    bool configured;
101       
102        SigProc::trellisTable *trellisTables;
103        SigProc::fec_conv_decoder  * decoder;
104       
105    // list components provides and uses ports
106        standardInterfaces_i::realChar_p *dataIn_0;
107        standardInterfaces_i::realChar_u *dataOut_0;
108   
109};
110#endif
Note: See TracBrowser for help on using the browser.