Rsh API  SDK 2.1
Документация по программированию
 Указатель Классы Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы Страницы
Открытые типы | Открытые члены | Открытые атрибуты | Друзья | Полный список членов класса
Структура RshInitDMA

Структура инициализации для устройств типа "DMA". Подробнее...

#include <RshInitDMA.h>

Граф наследования:RshInitDMA:
Inheritance graph
[см. легенду]
Граф связей класса RshInitDMA:
Collaboration graph
[см. легенду]

Открытые типы

enum  DmaMode { Single = 0x0, Persistent = 0x1 }
 Список режимов сбора данных Подробнее...
 
enum  Control { StandardMode = 0x0, DiffMode = 0x1, FrameMode = 0x2, MulSwitchStart = 0x4 }
 Список дополнительных опций сбора данных Подробнее...
 
- Открытые типы inherited from RshInitADC
enum  StartType {
  Program = 0x1, Timer = 0x2, External = 0x4, Internal = 0x8,
  FrequencyExternal = 0x10, Master = 0x20
}
 Список режимов запуска Подробнее...
 
enum  ControlSynchro {
  FrequencySwitchOff = 0x0, SlopeFront = 0x0, SlopeDecline = 0x2, FrequencySwitchToMinimum = 0x4,
  FrequencySwitchToMaximum = 0x8
}
 Список дополнительных опций сбора данных Подробнее...
 

Открытые члены

 RshInitDMA ()
 
 RshInitDMA (RshInitADC const &obj)
 
 RshInitDMA (RshInitDMA const &obj)
 
RshInitDMAoperator= (const RshInitDMA &obj)
 
RshInitDMAoperator= (const RshInitMemory &obj)
 
bool operator== (RshInitDMA &obj) const
 
bool operator!= (RshInitDMA &obj) const
 
void SetDiffMode (bool on=true)
 Установка или снятие RshInitDMA::DiffMode. Подробнее...
 
void SetFrameMode (bool on=true)
 Установка или снятие RshInitDMA::FrameMode. Подробнее...
 
bool IsDiffModeActive () const
 Проверка наличия флага RshInitDMA::DiffMode. Подробнее...
 
bool IsFrameModeActive () const
 Проверка наличия флага RshInitDMA::FrameMode. Подробнее...
 
- Открытые члены inherited from RshInitADC
 RshInitADC (const RshDataTypes type=rshInitADC, const size_t sizeType=sizeof(RshInitADC))
 
 RshInitADC (RshInitADC const &obj)
 
RshInitADCoperator= (const RshInitADC &obj)
 
bool operator== (RshInitADC &obj) const
 
bool operator!= (RshInitADC &obj) const
 
U32 ActiveChannelsNumber () const
 Число активных каналов в массиве каналов. Подробнее...
 
void SetSynchroSlopeFront ()
 Установка флага RshInitADC::SlopeFront. Подробнее...
 
void SetSynchroSlopeDecline ()
 Установка флага RshInitADC::SlopeDecline. Подробнее...
 
bool IsSynchroSlopeFrontActive () const
 Проверка наличия флага RshInitADC::SlopeFront. Подробнее...
 
bool IsSynchroSlopeDeclineActive () const
 Проверка наличия флага RshInitADC::SlopeDecline. Подробнее...
 
void SetSynchroFreqSwitchOff ()
 Установка флага RshInitADC::FrequencySwitchOff. Подробнее...
 
void SetSynchroFreqSwitchToMin ()
 Установка флага RshInitADC::FrequencySwitchToMinimum. Подробнее...
 
void SetSynchroFreqSwitchToMax ()
 Установка флага RshInitADC::FrequencySwitchToMaximum. Подробнее...
 
bool IsSynchroFreqSwitchToMinActive () const
 Проверка наличия флага RshInitADC::FrequencySwitchToMinimum. Подробнее...
 
bool IsSynchroFreqSwitchToMaxActive () const
 Проверка наличия флага RshInitADC::FrequencySwitchToMaximum. Подробнее...
 
- Открытые члены inherited from RshBaseType
 RshBaseType (const RshDataTypes type=rshTypeUndefined, const size_t typeSize=sizeof(RshBaseType))
 Конструктор Подробнее...
 
const char * GetTypeName () const
 

Открытые атрибуты

U32 dmaMode
 Режим сбора данных Подробнее...
 
U32 control
 Дополнительные опции Подробнее...
 
double frequencyFrame
 Частота дискретизации внутри кадра Подробнее...
 
- Открытые атрибуты inherited from RshInitADC
U32 startType
 Режим запуска сбора данных Подробнее...
 
U32 bufferSize
 Размер буфера в отсчетах Подробнее...
 
double frequency
 Частота дискретизации в Гц Подробнее...
 
RSH_BUFFER_CHANNEL channels
 Настройки аналоговых каналов Подробнее...
 
double threshold
 Уровень синхронизации Подробнее...
 
U32 controlSynchro
 Дополнительные параметры синхронизации Подробнее...
 
- Открытые атрибуты inherited from RshBaseType
const size_t _typeSize
 Размер структуры данных или класса. Подробнее...
 
const RshDataTypes _type
 Идентификатор типа данных. Подробнее...
 

Друзья

std::ostream & operator<< (std::ostream &out, const RshInitDMA &obj)
 

Additional Inherited Members

- Открытые статические члены inherited from RshBaseType
static const char * GetTypeName (const RshDataTypes typeCode)
 Получение названия типа данных. Подробнее...
 

Подробное описание

Структура инициализации для устройств типа "DMA".

Обычно, данная структура используется для относительно низкочастотных устройств (10МГц и ниже). Узнать, поддерживается ли эта структура библиотекой абстракции устройства можно, используя капс RSH_CAPS_SOFT_INIT_DMA.
Характерные особенности устройства типа "DMA":
относительно низкая частота дискретизации, возможность работать в непрерывном режиме, отсутствие собственной памяти (хотя есть исключения), отсутствие (или сильно ограничены) возможности синхронизации.

Прим.
Название "DMA" у структуры осталось по историческим причинам (SDK1). Некоторые устройства, которые можно инициализировать данной структурой, на самом деле не могут передавать данные, используя ПДП (например, все USB устройства).
Примеры:
FrameFrequencyMode_RU.cpp, IRshDevice_Get_RSH_GET_WAIT_GATHERING_COMPLETE_RU.cpp, IRshDevice_Init_RshInitDMA_RU.cpp, LA-1.5PCI_Persistent.cpp, LA-1.5PCI_StartStop.cpp, LA-20USB_Persistent.cpp, LA-20USB_StartStop.cpp, LA-2M5PCI_Persistent.cpp, LA-2M5PCI_StartStop.cpp, LA-2USB_Persistent.cpp, LA-2USB_StartStop.cpp, LA-50USB_Persistent.cpp, LA-50USB_StartStop.cpp, LA-5Net_Persistent.cpp, LA-5Net_StartStop.cpp, LA-i24USB_Persistent.cpp, LA-i24USB_StartStop.cpp, LA-n150PCI_Persistent.cpp, LA-n150PCI_StartStop.cpp, Leonardo2_Persistent.cpp и Leonardo2_StartStop.cpp.

Перечисления

Список дополнительных опций сбора данных

Флаги из этого списка можно объединять по 'ИЛИ'. Установив нужную комбинацию флагов в поле RshInitDMA::control, можно задействовать дополнительные опции.

Элементы перечислений
StandardMode 

Дополнительные опции не используются

Нет необходимости специально указывать данный флаг (т.к. это значение по умолчанию). Используется для повышения читаемости кода.
Данный флаг означает: однополюсный вход, кадровый режим не используется.

DiffMode 

Включение дифференциального режима работы

Проверить, поддерживает ли устройство данный режим работы или нет, можно с помощью RSH_CAPS_DEVICE_DIFFERENTIAL_INPUT_MODE.

Прим.
Схема подключения для однополюсного и дифференциального режимов обычно приводится в руководстве пользователя для данного устройства.
FrameMode 

Включение кадрового режима сбора

Когда данный флаг включен, значение поля RshInitDMA::frequencyFrame используется для установки частоты дискретизации внутри кадра.

MulSwitchStart 

Переключение мультиплексора по старту

Уст.:
В текущий момент не используется, возможно будет удалено в следующих релизах.

Список режимов сбора данных

Значения из этого списка - взаимоисключающие (можно единовременно задать только один из режимов работы). Режим задается в поле RshInitDMA::dmaMode структуры инициализации.

Элементы перечислений
Single 

Одиночный запуск

Так называемый режим "Старт-Стоп".
В этом режиме собирается один буфер заданного размера, после чего процесс сбора данных останавливается (прекращается переда по ПДП, если она была активна).

См. также
RSH_CAPS_SOFT_GATHERING_IS_AVAILABLE
Persistent 

Непрерывный режим

В этом режиме процесс сбора и передачи данных будет продолжаться бесконечно (в теории), до вызова метода IRshDevice::Stop().

См. также
RSH_CAPS_SOFT_PGATHERING_IS_AVAILABLE

Конструктор(ы)

RshInitDMA::RshInitDMA ( )
RshInitDMA::RshInitDMA ( RshInitADC const &  obj)
RshInitDMA::RshInitDMA ( RshInitDMA const &  obj)

Методы

bool RshInitDMA::IsDiffModeActive ( ) const

Проверка наличия флага RshInitDMA::DiffMode.

Перекрестные ссылки control и DiffMode.

bool RshInitDMA::IsFrameModeActive ( ) const

Проверка наличия флага RshInitDMA::FrameMode.

Перекрестные ссылки control и FrameMode.

bool RshInitDMA::operator!= ( RshInitDMA obj) const

Перекрестные ссылки operator==().

Граф вызовов:

RshInitDMA & RshInitDMA::operator= ( const RshInitDMA obj)
RshInitDMA & RshInitDMA::operator= ( const RshInitMemory obj)
bool RshInitDMA::operator== ( RshInitDMA obj) const

Перекрестные ссылки RshInitADC::bufferSize, RshInitADC::channels, control, RshInitADC::controlSynchro, dmaMode, RshInitADC::frequency, frequencyFrame, RSH_CMPDOUBLE, RshInitADC::startType и RshInitADC::threshold.

Используется в operator!=().

Граф вызова функции:

void RshInitDMA::SetDiffMode ( bool  on = true)

Установка или снятие RshInitDMA::DiffMode.

Аргументы
[in]onЕсли передано значение true, флаг будет установлен, если false, то флаг будет снят.

Перекрестные ссылки control и DiffMode.

void RshInitDMA::SetFrameMode ( bool  on = true)

Установка или снятие RshInitDMA::FrameMode.

Аргументы
[in]onЕсли передано значение true, флаг будет установлен, если false, то флаг будет снят.
Примеры:
FrameFrequencyMode_RU.cpp.

Перекрестные ссылки control и FrameMode.

Документация по друзьям класса и функциям, отноносящимся к классу

std::ostream& operator<< ( std::ostream &  out,
const RshInitDMA obj 
)
friend

Данные класса

U32 RshInitDMA::control

Дополнительные опции

Комбинация флагов перечисления RshInitDMA::Control. По умолчанию, используется флаг RshInitDMA::StandardMode.

Используется в IsDiffModeActive(), IsFrameModeActive(), operator=(), RshInitMemory::operator=(), operator==(), RshInitDMA(), SetDiffMode() и SetFrameMode().

U32 RshInitDMA::dmaMode

Режим сбора данных

Один из элементов перечисления RshInitDMA::DmaMode. Существует два возможных сценария работы: работа в режиме "Старт-Стоп" или работа в непрерывном режиме.
Используейте соответствующие капсы (RSH_CAPS_SOFT_GATHERING_IS_AVAILABLE и RSH_CAPS_SOFT_PGATHERING_IS_AVAILABLE) чтобы проверить, поддерживает ли устройство работу в каждом из режимов.

Примеры:
FrameFrequencyMode_RU.cpp, IRshDevice_Get_RSH_GET_WAIT_GATHERING_COMPLETE_RU.cpp, IRshDevice_Init_RshInitDMA_RU.cpp, LA-1.5PCI_Persistent.cpp, LA-20USB_Persistent.cpp, LA-2M5PCI_Persistent.cpp, LA-2USB_Persistent.cpp, LA-50USB_Persistent.cpp, LA-5Net_Persistent.cpp, LA-i24USB_Persistent.cpp, LA-n150PCI_Persistent.cpp и Leonardo2_Persistent.cpp.

Используется в operator<<(), operator=(), operator==() и RshInitDMA().

double RshInitDMA::frequencyFrame

Частота дискретизации внутри кадра

Данный параметр используется при включенном режиме кадрового сбора .

Прим.
Используйте RSH_CAPS_DEVICE_FRAME_FREQUENCY_MODE для того, чтобы определить, поддерживает ли устройство данный режим работы или нет.
Примеры:
FrameFrequencyMode_RU.cpp.

Используется в operator<<(), operator=(), operator==() и RshInitDMA().


Объявления и описания членов структур находятся в файлах: