OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [application/] [adm_test/] [src/] [work/] [tf_teststrmout.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
 
2
#include "tf_testbufm2.h"
3
#include "tf_workparam.h"
4
#include "tf_test.h"
5
 
6
class CL_AMBPEX;
7
 
8
class TF_TestStrmOut : public TF_WorkParam, public TF_Test
9
{
10
 
11
    struct ParamExchange
12
    {
13
        U32 Strm;
14
        U32 Mode;
15
        U32 BlockWr;
16
        U32 BlockRd;
17
        U32 BlockOk;
18
        U32 BlockError;
19
        U32 TotalError;
20
        U32 DataType;           // Тип данных при фиксированном типе блока, 6 - счётчик, 8 - псевдослучайная последовательность
21
        U32 DataFix;            // 1 - фиксированный тип блока, 0 - данные в блоке записят от номера блока
22
        U32     trd;
23
        float   VelocityCurrent;
24
        float   VelocityAvarage;
25
        TF_TestBufM2 testBuf;
26
 
27
        U32 time_start;
28
        U32 time_last;
29
        U32 BlockLast;
30
        U32 BlockStart;
31
        U32 freeCycle;
32
        U32 freeCycleZ;
33
 
34
 
35
        ParamExchange()
36
        {
37
            Strm=0;
38
            Mode=0;
39
            BlockWr=0;
40
            BlockRd=0;
41
            BlockOk=0;
42
            BlockError=0;
43
            TotalError=0;
44
            DataType=0;
45
            DataFix=0;
46
            trd=0;
47
            VelocityCurrent=0;
48
            VelocityAvarage=0;
49
            time_start=0;
50
            time_last=0;
51
            BlockLast=0;
52
            BlockStart=0;
53
            freeCycle=0;
54
            freeCycleZ=0;
55
        }
56
    };
57
 
58
 
59
    UINT ThreadId;
60
    pthread_t hThread;
61
    pthread_attr_t  attrThread_;
62
    CL_AMBPEX  *pBrd;
63
 
64
    static void* ThreadFunc( void* lpvThreadParm );
65
    static void* ThreadFuncIsvi( void* lpvThreadParm );
66
 
67
public:
68
 
69
    TF_TestStrmOut( BRDCHAR* fname, CL_AMBPEX *fotr );
70
    virtual ~TF_TestStrmOut();
71
 
72
    virtual void Prepare( void );
73
    virtual void Start( void );
74
    virtual void Stop( void );
75
    virtual int isComplete( void );
76
    virtual void GetResult( void );
77
    virtual void Step( void );
78
    U32 Execute( void );
79
    U32 ExecuteIsvi( void );
80
 
81
 
82
    //! Установка параметров по умолчанию
83
    virtual void SetDefault( void );
84
 
85
    //! Расчёт параметров
86
    virtual void CalculateParams( void );
87
 
88
    //! Отображение параметров
89
    virtual void ShowParam( void );
90
 
91
 
92
    U32 Terminate;
93
    U32 BlockRd;
94
    U32 BlockOk;
95
    U32 BlockError;
96
    U32 TotalError;
97
 
98
    U32 CntBuffer;                      // Число буферов стрима
99
    U32 CntBlockInBuffer;       // Число блоков в буфере
100
    U32 SizeBlockOfWords;       // Размер блока в словах
101
    U32 SizeBlockOfBytes;       // Размер блока в байтах
102
    U32 SizeBuferOfBytes;       // Размер буфера в байтах
103
    U32 SizeStreamOfBytes;      // Общий размер буфера стрима
104
    U32 isCycle;                        // 1 - циклический режим работы стрима
105
    U32 isSystem;                       // 1 - системная память
106
    U32 isAgreeMode;            // 1 - согласованный режим
107
 
108
    U32 trdNo;          // номер тетрады
109
    U32 strmNo;         // номер стрима
110
    U32 isSdram;        // 1 - проводить инициализацию SDRAM
111
    U32 isDac;          // 1 - DAC
112
    U32 isTest;         // 1 - проверка псевдослучайной последовательности
113
 
114
 
115
    char*       fnameDacParam;  // Имя файла параметров для режима АЦП
116
 
117
 
118
    U32 lc_status;
119
 
120
    ParamExchange       tr0;
121
 
122
    void SendData( ParamExchange *pr );
123
 
124
private :
125
    bool isFirstCallStep;
126
 
127
    void PrepareAdm( void );
128
 
129
    //! Запуск проверки в тетраде TestCtrl
130
    void TestCtrlStart( ParamExchange *pr );
131
 
132
    //! Остановка проверки в тетраде TestCtrl
133
    void TestCtrlStop( ParamExchange *pr );
134
 
135
    //! Чтение текущего состояния тетрады TestCtrl
136
    void TestCtrlReadStatus( ParamExchange *pr );
137
 
138
    //! Получение результата в тетраде TestCtrl
139
    void TestCtrlResult( ParamExchange *pr );
140
 
141
 
142
    U32 fa_cnt_re;
143
    U32 fa_cnt_im;
144
    U32 fa_inc_re;
145
    U32 fa_inc_im;
146
 
147
    //! Заполнение блока синусом
148
    void SetSignalInit( void );
149
 
150
    //! Заполнение блока синусом
151
    void SetSignal( U32* ptr );
152
 
153
};

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.