2015-06-01 4 views
0

Фон: Я оцениваю замену FTDI + FPGA + RAM чипом Cortex, и я играю с графической картой LPC1768., связавшись с LPC1768 как HID через python

мигающий светодиод? [Х] связь через порт виртуального порта связи [х]

Теперь я смотрю на связь через libUSB (или CDC или HID ... оценки)

Я начал пробовать этот пример: https://developer.mbed.org/cookbook/USBHID-bindings- & Программа USBHID_TestCase компилируется и запускается.

Проблема находится на стороне python (с использованием примера Linux & libUSB).

1-й вопрос был сценарий ого имеет:

mbed_vendor_id = 0x1234 
mbed_product_id = 0x0006 

равного образ mbed USBDevice: USBHID имеет:

USBHID(uint8_t output_report_length = 64, uint8_t input_report_length = 64, uint16_t vendor_id = 0x1234, uint16_t product_id = 0x0006, uint16_t product_release = 0x0001, bool connect = true); 

т.е. тот же продукт и поставщик ID. Однако ... lsusb перечисляет набор микросхем NXP в другом месте.

Bus 003 Device 008: ID 0d28:0204 NXP LPC1768 

выдающие: lsusb -vvv -d 0x0d28: 0204 Я вижу 4 устройств, эта карта обнажает (хорошо), и это совпадающее с помощью простого питона TestCase

import usb 
mbed_vendor_id = 0x0d28 
mbed_product_id = 0x0204 
dev = usb.core.find(idVendor=mbed_vendor_id,idProduct=mbed_product_id) 

проверки какого DEV теперь населен:

dev[0] 
<CONFIGURATION 1: 500 mA> 


dev[0][(0,0)] 
<INTERFACE 0: Mass Storage> 
[0] <ENDPOINT 0x82: Bulk IN> 
[1] <ENDPOINT 0x2: Bulk OUT> 
[2] <ENDPOINT 0x0: Control OUT> 


dev[0][(1,0)] 
<INTERFACE 1: CDC Communication> 
[0] <ENDPOINT 0x83: Interrupt IN> 
[1] <ENDPOINT 0x0: Control OUT> 

dev[0][(2,0)] 
<INTERFACE 2: CDC Data> 
[0] <ENDPOINT 0x4: Bulk OUT> 
[1] <ENDPOINT 0x84: Bulk IN> 
[2] <ENDPOINT 0x0: Control OUT> 


dev[0][(3,0)] 
<INTERFACE 3: Human Interface Device> 
[0] <ENDPOINT 0x81: Interrupt IN> 
[1] <ENDPOINT 0x1: Interrupt OUT> 
[2] <ENDPOINT 0x0: Control OUT> 

так 0 является запоминающее -> питон скрипт из примера woul не работаем. Я пытаюсь общаться через dev [0] [3,0] и указывая конечную точку как dev [0] [3,0] [0] Я могу писать, но читать с dev [0] [3,0] [ 1] всегда возвращают 0, даже если mbed-код предназначен для предоставления случайных данных.

Любые идеи?

ответ

1

Код случая USB-USB использует контроллер usb на lpc1768 ic, а не чип интерфейса mbed board. В коде используются контакты 31 и 32 на промежуточной плате. Надеюсь, это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^