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

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [common/] [utils/] [tf_workparam.h] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
 
2 6 v.karak
#ifndef __TF_WORK_PARAM_H__
3
#define __TF_WORK_PARAM_H__
4 2 dsmv
 
5
//! Класс хранения параметров обработки
6
/**
7
 
8
        \ingroup NodeWork
9
 
10
        Класс содержит параметры используемые при обработке.
11
        Парметры могут загружаться из файла данных.
12
        Каждый парметр может быть установлен с использованием
13
        текстовой строки.
14
 
15
*/
16
class TF_WorkParam
17
{
18
public:
19
 
20
    //!  Структура массива параметров
21
    /**     Структра связывает название параметра и указатель на соответсвующую
22
                        переменную.
23
 
24
                        \ingroup WorkFunc
25
 
26
        */
27
    struct STR_CFG {
28
 
29
        U32     is_float;       //!< 1 - число с плавающей точкой; 0 - целое.
30 6 v.karak
        const char *name;                       //!< Название параметра
31
        const char *def;                        //!< Значение по умолчанию
32 2 dsmv
        U32     *ptr;                   //!< Указатель на переменную
33
        const char      *cmt;                   //!< Комментарий для параметра
34
 
35
        STR_CFG(
36
                U32     p_is_float,     //!< 1 - число с плавающей точкой; 0 - целое.
37
                const char    *p_name,          //!< Название параметра
38
                const char      *p_def,                 //!< Значение по умолчанию
39
                U32     *p_ptr,                 //!< Указатель на переменную
40
                const char      *p_cmt                  //!< Комментарий для параметра
41
                ){
42
            is_float = p_is_float;
43
            name         = p_name;
44
            def          = p_def;
45
            ptr          = p_ptr;
46
            cmt          = p_cmt;
47
        }
48
 
49
        STR_CFG(
50
                ){
51
            is_float = 100;
52
            name         = NULL;
53
            def          = NULL;
54
            ptr          = NULL;
55
            cmt          = NULL;
56
        }
57
 
58
    };
59
 
60
 
61
 
62
 
63
    TF_WorkParam( void );
64
    ~TF_WorkParam( void );
65
 
66
    //! Получение параметров из файла инициализации
67
    void GetParamFromFile(BRDCHAR* fname );
68
 
69
    //! Получение параметра из строки
70
    U32 GetParamFromStr( char* str );
71
 
72
    STR_CFG  array_cfg[500];
73
    U32          max_item;
74
 
75
    //! Расчёт параметров
76
    virtual void CalculateParams( void );
77
 
78
    //! Сохранение параметров в памяти
79
    U32 PutParamToMemory( char* ptr, U32 max_size );
80
 
81
    //! Получение параметров из памяти
82
    void GetParamFromMemory( char* ptr );
83
 
84
    //! Установка параметров по умолчанию
85
    virtual void SetDefault( void );
86
 
87
    //! Отображение параметров
88
    virtual void ShowParam( void );
89
 
90
    //! Функция отображения параметров
91
    void log_out( const char* fmt, ... );
92
};
93 6 v.karak
 
94
#endif //__TF_WORK_PARAM_H__

powered by: WebSVN 2.1.0

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