80 lines
3.5 KiB
C
80 lines
3.5 KiB
C
/** @defgroup config_params Настройки сбора данных модуля */
|
||
|
||
/***************************************************************************//**
|
||
@addtogroup config_params
|
||
@{
|
||
@file l502_params.h
|
||
Файл содержит определение структур, описывающих текущие
|
||
настройки сбора данных для модуля и объявляет
|
||
внешнюю переменную g_set, содержащую эти параметры
|
||
*******************************************************************************/
|
||
|
||
#ifndef L502_PARAMS_H_
|
||
#define L502_PARAMS_H_
|
||
|
||
|
||
#include "l502_defs.h"
|
||
|
||
/** Калибровочные коэффициенты ЦАП */
|
||
typedef struct {
|
||
float offs; /**< Смещение нуля */
|
||
float k; /**< Коэффициент шкалы */
|
||
} t_dac_cbr_coef;
|
||
|
||
/** Информация о используемом модуле */
|
||
typedef struct {
|
||
uint32_t devflags; /**< Флаги с информацией о наличии опций и сост. модуля */
|
||
uint16_t fpga_ver; /**< Версия FPGA */
|
||
uint8_t plda_ver; /**< Версия PLDA */
|
||
t_dac_cbr_coef dac_cbr[L502_DAC_CH_CNT]; /**< Коэффициенты ЦАП */
|
||
} t_module_info;
|
||
|
||
|
||
/** Параметры логического канала */
|
||
typedef struct {
|
||
uint8_t phy_ch; /**< Номер физического канала */
|
||
uint8_t mode; /**< Режим сбора */
|
||
uint8_t range; /**< Диапазон */
|
||
uint8_t avg; /**< Коэф. усреднения */
|
||
uint32_t flags; /**< Доп. флаги */
|
||
} t_lch;
|
||
|
||
|
||
/** Настройки сбора данных */
|
||
typedef struct {
|
||
/** Таблица логических каналов */
|
||
t_lch lch[L502_LTABLE_MAX_CH_CNT];
|
||
uint16_t lch_cnt; /**< Количество каналов в лог. таблице */
|
||
uint32_t adc_freq_div; /**< Делитель частоты АЦП */
|
||
uint32_t din_freq_div; /**< Делитель частоты для цифрового входа */
|
||
uint32_t adc_frame_delay; /**< Межкадровая задержка */
|
||
uint32_t ref_freq; /**< Значение опорной частоты (2 или 1.5 МГц) или внешняя */
|
||
uint16_t out_freq_div; /**< Делитель частоты вывода */
|
||
uint8_t sync_mode; /**< Режим синхронизации для опорной частоты */
|
||
uint8_t sync_start_mode; /**< Режим запуска сигнала синхронизации */
|
||
} t_settings;
|
||
|
||
/** Структура, содержащая текущие настройки сбора данных */
|
||
extern t_settings g_set;
|
||
/** Структура, содержащая информацию о модуле */
|
||
extern t_module_info g_module_info;
|
||
|
||
int32_t configure(void);
|
||
|
||
int32_t params_set_lch_cnt(uint32_t lch_cnt);
|
||
int32_t params_set_lch(uint32_t index, uint32_t ch, t_l502_lch_mode mode,
|
||
t_l502_adc_range range, uint32_t avg, uint32_t flags);
|
||
int32_t params_set_adc_freq_div(uint32_t div);
|
||
int32_t params_set_adc_interframe_delay(uint32_t delay);
|
||
int32_t params_set_ref_freq(uint32_t freq_code);
|
||
int32_t params_set_sync_mode(t_l502_sync_mode sync_mode);
|
||
int32_t params_set_sync_start_mode(t_l502_sync_mode sync_mode);
|
||
int32_t params_set_din_freq_div(uint32_t div);
|
||
int32_t params_set_dac_freq_div(uint32_t div);
|
||
int32_t params_set_dac_freq_div(uint32_t div);
|
||
|
||
|
||
#endif
|
||
|
||
/** @} */
|