Rsh API
SDK 2.1
Документация по программированию
|
Структура инициализации для устройств типа "DMA". Подробнее...
#include <RshInitDMA.h>
Открытые типы | |
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 } |
Список дополнительных опций сбора данных Подробнее... | |
Открытые атрибуты | |
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":
относительно низкая частота дискретизации, возможность работать в непрерывном режиме, отсутствие собственной памяти (хотя есть исключения), отсутствие (или сильно ограничены) возможности синхронизации.
enum RshInitDMA::Control |
Список дополнительных опций сбора данных
Флаги из этого списка можно объединять по 'ИЛИ'. Установив нужную комбинацию флагов в поле RshInitDMA::control, можно задействовать дополнительные опции.
Элементы перечислений | |
---|---|
StandardMode |
Дополнительные опции не используются Нет необходимости специально указывать данный флаг (т.к. это значение по умолчанию). Используется для повышения читаемости кода. |
DiffMode |
Включение дифференциального режима работы Проверить, поддерживает ли устройство данный режим работы или нет, можно с помощью RSH_CAPS_DEVICE_DIFFERENTIAL_INPUT_MODE.
|
FrameMode |
Включение кадрового режима сбора Когда данный флаг включен, значение поля RshInitDMA::frequencyFrame используется для установки частоты дискретизации внутри кадра. |
MulSwitchStart |
Переключение мультиплексора по старту
|
enum RshInitDMA::DmaMode |
Список режимов сбора данных
Значения из этого списка - взаимоисключающие (можно единовременно задать только один из режимов работы). Режим задается в поле RshInitDMA::dmaMode структуры инициализации.
Элементы перечислений | |
---|---|
Single |
Одиночный запуск Так называемый режим "Старт-Стоп".
|
Persistent |
Непрерывный режим В этом режиме процесс сбора и передачи данных будет продолжаться бесконечно (в теории), до вызова метода IRshDevice::Stop(). |
RshInitDMA::RshInitDMA | ( | ) |
Перекрестные ссылки control, RshInitADC::controlSynchro, dmaMode, frequencyFrame, Single, StandardMode и RshInitADC::threshold.
RshInitDMA::RshInitDMA | ( | RshInitADC const & | obj) |
Перекрестные ссылки RshInitADC::bufferSize, RshInitADC::channels, control, RshInitADC::controlSynchro, RshBufferType< T, dataCode >::Copy(), dmaMode, RshInitADC::frequency, frequencyFrame, Single, RshInitADC::startType и RshInitADC::threshold.
RshInitDMA::RshInitDMA | ( | RshInitDMA const & | obj) |
Перекрестные ссылки RshInitADC::bufferSize, RshInitADC::channels, control, RshInitADC::controlSynchro, RshBufferType< T, dataCode >::Copy(), dmaMode, RshInitADC::frequency, frequencyFrame, RshInitADC::startType и RshInitADC::threshold.
bool RshInitDMA::IsDiffModeActive | ( | ) | const |
Проверка наличия флага RshInitDMA::DiffMode.
bool RshInitDMA::IsFrameModeActive | ( | ) | const |
Проверка наличия флага RshInitDMA::FrameMode.
bool RshInitDMA::operator!= | ( | RshInitDMA & | obj) | const |
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, то флаг будет снят. |
void RshInitDMA::SetFrameMode | ( | bool | on = true ) |
Установка или снятие RshInitDMA::FrameMode.
[in] | on | Если передано значение true, флаг будет установлен, если false, то флаг будет снят. |
|
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) чтобы проверить, поддерживает ли устройство работу в каждом из режимов.
Используется в operator<<(), operator=(), operator==() и RshInitDMA().
double RshInitDMA::frequencyFrame |
Частота дискретизации внутри кадра
Данный параметр используется при включенном режиме кадрового сбора .
Используется в operator<<(), operator=(), operator==() и RshInitDMA().