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

Операции с цифровым портом Подробнее...

#include <RshInitPort.h>

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

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

enum  OperationType { Read = 0x0, Write = 0x1, WriteAND = 0x2, WriteOR = 0x3 }
 Список операций Подробнее...
 

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

 RshInitPort ()
 
 RshInitPort (U32 address, U32 operation=RshInitPort::Read, U32 value=0x0)
 
 RshInitPort (RshInitPort const &obj)
 
RshInitPortoperator= (const RshInitPort &obj)
 
bool operator== (RshInitPort &obj) const
 
bool operator!= (RshInitPort &obj) const
 
- Открытые члены inherited from RshBaseType
 RshBaseType (const RshDataTypes type=rshTypeUndefined, const size_t typeSize=sizeof(RshBaseType))
 Конструктор Подробнее...
 
const char * GetTypeName () const
 

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

U32 operationType
 Выполняемая операция Подробнее...
 
U32 portAddress
 Адрес цифрового порта Подробнее...
 
U32 portValue
 Состояние порта Подробнее...
 
- Открытые атрибуты inherited from RshBaseType
const size_t _typeSize
 Размер структуры данных или класса. Подробнее...
 
const RshDataTypes _type
 Идентификатор типа данных. Подробнее...
 

Друзья

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

Additional Inherited Members

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

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

Операции с цифровым портом

Данная структура используется для записи и чтения данных из цифрового порта устройства. Соответствующие капс-коды: RSH_CAPS_DEVICE_HAS_DIGITAL_PORT и RSH_CAPS_SOFT_INIT_PORT.

Примеры:
LA-1.5PCI_Port.cpp, LA-20USB_Port.cpp, LA-2M5PCI_Port.cpp, LA-2USB_Port.cpp, LA-50USB_Port.cpp, LA-5Net_Port.cpp, LA-i24USB_Port.cpp, LA-n150PCI_Port.cpp, LA-n20-12PCI_Port.cpp, LA48DPCI_Port.cpp, Leonardo2_Port.cpp и Python_Port.cpp.

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

Список операций

Используйте коды операций из данного списка, чтобы задать действие, которое необходимо выполнить с цифровыми портом.
Код операции нужно записать в поле RshInitPort::operationType структуры инициализации.

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

Чтение данных из цифрового порта

Чтение состояния цифрового порта. Полученные данные будут помещены в поле RshInitPort::portValue. Если разрядность порта меньше 32, используется младшая часть переменной.
Например, если порт имеет 8 линий, данные будут находиться в младшем байте поля RshInitPort::portValue после успешного выполнения операции чтения (вызов метода IRshDevice::Init() ).

Write 

Запись в цифровой порт

Значение, указанное в поле RshInitPort::portValue, будет выведено в цифровой порт.
Если количество линий цифрового порта меньше, чем разрядность RshInitPort::portValue (32 бита), используется младшая часть.

WriteAND 

Обновить состояние цифрового порта по "И".

Данная операция состоит из двух частей:
Сначала, будет прочитано текущее состояние цифрового порта. Далее, полученно значение будет объединено по "И" (логическая побитовая операция) со значением, переданным в поле RshInitPort::portValue структуры инициализации. Результат операции будет записан в цифровой порт.

WriteOR 

Обновить состояние цифрового порта по "ИЛИ".

Данная операция состоит из двух частей:
Сначала, будет прочитано текущее состояние цифрового порта. Далее, полученно значение будет объединено по "ИЛИ" (логическая побитовая операция) со значением, переданным в поле RshInitPort::portValue структуры инициализации. Результат операции будет записан в цифровой порт.

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

RshInitPort::RshInitPort ( )
RshInitPort::RshInitPort ( U32  address,
U32  operation = RshInitPort::Read,
U32  value = 0x0 
)
RshInitPort::RshInitPort ( RshInitPort const &  obj)

Перекрестные ссылки operationType, portAddress и portValue.

Методы

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

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

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

RshInitPort & RshInitPort::operator= ( const RshInitPort obj)

Перекрестные ссылки operationType, portAddress и portValue.

bool RshInitPort::operator== ( RshInitPort obj) const

Перекрестные ссылки operationType, portAddress и portValue.

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

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

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

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

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

U32 RshInitPort::operationType

Выполняемая операция

Действие (чтение, запись и т.д.) которое необходимое выполнить. Список доступных операций - в перечислении RshInitPort::OperationType.

Примеры:
LA-1.5PCI_Port.cpp, LA-20USB_Port.cpp, LA-2M5PCI_Port.cpp, LA-2USB_Port.cpp, LA-50USB_Port.cpp, LA-5Net_Port.cpp, LA-i24USB_Port.cpp, LA-n150PCI_Port.cpp, LA-n20-12PCI_Port.cpp, LA48DPCI_Port.cpp, Leonardo2_Port.cpp и Python_Port.cpp.

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

U32 RshInitPort::portAddress

Адрес цифрового порта

Данное поле определяет адрес порта, который будет использован для вывполения операции чтения/записи.
Список доступных адресов можно получить, используя метод IRshDevice::Get(). Смотрите описание структуры RshBoardPortInfo и примеры.

Примеры:
LA-1.5PCI_Port.cpp, LA-20USB_Port.cpp, LA-2M5PCI_Port.cpp, LA-2USB_Port.cpp, LA-50USB_Port.cpp, LA-5Net_Port.cpp, LA-i24USB_Port.cpp, LA-n150PCI_Port.cpp, LA-n20-12PCI_Port.cpp, LA48DPCI_Port.cpp, Leonardo2_Port.cpp и Python_Port.cpp.

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

U32 RshInitPort::portValue

Состояние порта

Значение, которое нужно записать в порт, либо результат операции чтения данных.
Если разрядность цифрового порта меньше, чем размер переменной (32 бита), используeтся младшая часть.
Для 8ми битных цифровых портов, например, данные будут находитсья в младшем байте.

Примеры:
LA-1.5PCI_Port.cpp, LA-20USB_Port.cpp, LA-2M5PCI_Port.cpp, LA-2USB_Port.cpp, LA-50USB_Port.cpp, LA-5Net_Port.cpp, LA-i24USB_Port.cpp, LA-n150PCI_Port.cpp, LA-n20-12PCI_Port.cpp, LA48DPCI_Port.cpp, Leonardo2_Port.cpp и Python_Port.cpp.

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


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