Существует четыре различных способа отправки данных через USB: управление, прерывание, групповое и изохронное. book ref 1 Из книги book ref 1 page 330:
... Массовые конечные точки передают большие объемы данных.Эти конечные точки обычно намного больше (они могут содержать больше символов одновременно), что прерывают конечные точки....
когда я получаю данные своей конечной точки, я использую следующую команду.
import usb.core
import usb.util
dev = usb.core.find(idVendor=0x0683, idProduct=0x4108)
if dev is None:
raise ValueError('Device not found')
dev.reset()
dev.set_configuration()
cfg = dev.get_active_configuration()
intf = cfg[(0,0)]
epi = usb.util.find_descriptor(
intf,
# match the first IN endpoint
custom_match = \
lambda e: \
usb.util.endpoint_direction(e.bEndpointAddress) ==\
usb.util.ENDPOINT_IN)
Я пытался добавить, но это выдает мою синтаксическую ошибку, которую я не могуполностью понимаю:
usb.util.endpoint_type()== \
usb.util.ENDPOINT_TYPE_BULK
Вот еще один очень хороший источник о том, как работать с USB ссылка 1
Похоже, что конечные точки usb имеют параметры, которые можно указать в python
, где bEndpointAddress указывает, какую конечную точку описывает этот дескриптор.
bmAttributes указывает тип передачи.Это может быть контроль, прерывание, изохронный или массовый перевод.Если указана изохронная конечная точка, можно выбрать дополнительные атрибуты, такие как типы синхронизации и использования.
wMaxPacketSize указывает максимальный размер полезной нагрузки для этой конечной точки.
bInterval используется для указания интервала опроса определенных передач.Единицы измерения выражены в кадрах, таким образом, это равняется либо 1 мс для устройств с низкой / полной скоростью, либо 125 мс для устройств с высокой скоростью.
Я пытался:
epi.wMaxPacketSize = 72000000 #to make the buffer large
epi.bmAttributes = 3 # 3 = 10 in binary. to change the mode to bulk
Мои вопросы:
Где мне указать, какую конечную точку я использую для Windows и (или) Linux и как это сделать?и как я могу изменить размер буфера на каждой конечной точке?