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 2

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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