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

powered by: WebSVN 2.1.0

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