Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
This class can be used for industrial equipment such as CNC machinery to allow upgrading from older RS-232 serial controllers and robotics, since they can keep software compatibility. The device attaches to an RS-232 communications line and the operating system on the USB side makes the USB device appear as a traditional RS-232 port.
HID нужен лишь если хочется эмулировать какое-нибудь стандартное устройство (скажем, клаву или мышу).
Пакетный режим мне не интересен, т.к. протокол коммуникации символьный. Но при желании можно и на блоки разбивать данные.А у меня как раз не символьный, а сообщения. Превращать сообщения в поток, затем поток разбивать на пакеты, затем собирать обратно в поток, затем декодировать сообщения? На эту тему другие ребята копий уже наломали прилично, лично я на стороне RaJa:)
не нужно писать сложных вещей с libusb (а то и вообще извращаться и модули ядра калякать)
Не надо использовать HID в областях, для которых он явно не предназначен!
The USB HID class specifications allow for myriad other devices under the USB HID class. Some examples are automobile simulation controllers, exercise machines, telephony devices, thermometers, audio controls and medical instrumentation. Even uninterruptible power supplies and software protection dongles declare themselves under this class, despite the fact they often have no human interface at all. Any device can be a USB HID class device as long as a designer meets the USB HID class logical specifications. This is not to say that there is no need to ship drivers for these devices, nor that an operating system will immediately recognize the device. This only means that the device can declare itself under the human interface device class.
Превращать сообщения в поток, затем поток разбивать на пакеты, затем собирать обратно в поток, затем декодировать сообщения?
там простой символьный протокол, по USB так не сделаешь
любой лишний, случайно залетевший байт
Но для новых устройств получается habrahabr.ru/post/208026/#comment_7164070
там простой символьный протокол, по USB так не сделаешь
Откуда ж он туда залетит-то?
Вариант с использованием упомянутого канала bulk transfer в пакетном режиме для моей кофеварки интересен, но готового примера именно такой реализации для ARM Вы пока не предложили
Я хочу пакетной новизны
Получается, что от библиотек и middleware зависит почти всё
Так что если хорошего примера кода с библиотекой по п. 4 нет
Кадры передаются последовательной передачей бит по методу NRZI.
Кадры передаются последовательной передачей бит по методу NRZI.
битовый поток по методу NRZI со вставкой бит (bit stuffing). Т.е. передаются нолики, единички и всякие управляющие символы.
Разбираем и собираем обратно стек USB