Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
ссылка на архив с примерами которая есть на сайтеВы бы лучше описали алгоритм поиска этой ссылки. Все равно повторять ваше устройство вряд ли кто-то будет.
Да уж куда нам, убогим.Вы проделали большую работу. Но с практической точки зрения программный USB во всем уступает аппаратному (МК с модулем USB). Если бы обсуждаемый эмулятор был собран на ATmega8 и вашей библиотеке, его характеристики были значительно скромнее, т. к. опрос каждые 10 мс и максимум 8 байт в пакете. И если не ошибаюсь есть ограничения на количество конечных точек.
некоторые хосты игнорируют ограничение на частоту опросаНужна стабильная работа на всех компах и системах, иначе я не смогу гарантировать заявленные характеристики и вообще работоспособность устройства.
Вы бы лучше описали алгоритм поиска этой ссылки.На сайте не много страниц. Ссылка на архив на странице emulator.ucoz.org/load/apparatnyj_ehmuljator_klaviatury_i_myshi_versii_1_0/1-1-0-1
Вам ничего не мешает написать свой драйвер клавиатуры, который бы эмулировал нажатия на уровне ядра.1. Сложнее обеспечить совместимость между различными ОС.
1. Сложнее обеспечить совместимость между различными ОС.
опрос каждые 10 мс и максимум 8 байт в пакете. И если не ошибаюсь есть ограничения на количество конечных точек.Опрос скорее всего будет с периодом 1 мс, причем это никак не скажется на стабильности.
Опрос скорее всего будет с периодом 1 мс, причем это никак не скажется на стабильности.Если нет 100% гарантии то не вариант. Объясните зачем пользоваться программной эмуляцией когда большой выбор МК с USB?
8 байт на пакет и 3 конечные точки? А вам сколько нужно?Посмотрите в заявленных характеристиках указано одновременное нажатие 14 кнопок клавиатуры. Для этого размер пакета должен быть не меньше 16 байт. Размер других пакетов еще больше. Думаю понимаете что 8 байт не вариант.
все общение так и так идет через endpoint0В этом эмуляторе общение через точки больше нулевой. Для нулевой нельзя задать период опроса и он будет больше чем 1 мс. В добавок много потоков на одну точку дополнительно снизит скорость эмуляции.
Если нет 100% гарантии то не вариант. Объясните зачем пользоваться программной эмуляцией когда большой выбор МК с USB?Например, если они есть под рукой. Да и жалко тратить целую stm'ку для задачи, с которой AVR справится ничуть не хуже. Впрочем, сама задача все еще непонятна.
Посмотрите в заявленных характеристикахВот если бы привели код, можно было бы смотреть внимательнее. А так проглядел по диагонали — зачем уделять лишнее время настолько бесполезной рекламе?
В добавок много потоков на одну точку дополнительно снизит скорость эмуляции.Не-а. Определение номера точки это чтение пары битов, оно почти ничего не стоит.
Да и жалко тратить целую stm'ку для задачи, с которой AVR справится ничуть не хуже.Стоимость AVR с модулем USB выше чем у STM32 (сравните цену STM32F103C8T6 и ATmega32U4, и цену Blue Pill в сравнении с Arduino Pro Micro).
Вот если бы привели код, можно было бы смотреть внимательнее.Для того чтобы понять в чем преимущество аппаратного USB в сравнении с программным, код не нужен.
Определение номера точки это чтение пары битов, оно почти ничего не стоит.Я пишу про период опроса точек. Если они на разных интерфейсах, то опрашиваются независимо друг от друга и по факту скорость опроса выше чем на одном интерфейсе.
Стоимость AVRУже не так однозначно, не правда ли?с модулем USBвыше чем у STM32
Для того чтобы понять в чем преимущество аппаратного USB в сравнении с программным, код не нужен.Код нужен чтобы улучшать устройство и допиливать его под свои нужды. Ну или хотя бы посмотреть реализацию и применить в другом месте.
Уже не так однозначно, не правда ли?Действительно неоднозначно зачем выдирать фразу из контекста полностью меняя ее смысл?
Мне давеча при помощи ардуино пришлось ввод пароля эмулировать, чтобы в свой компьютер попасть, поскольку клавиатура беспроводная не захотела коннектиться. Та же плата сейчас 16-канальный джойстик эмулирует для р/у модели. Вопрос дилетанта, чем оно хуже описанного в статье?
Спасибо. Уточню вопрос, технически с Вашей точки зрения, STM в задачах аппаратной эмуляции HID устройств в перечисленных примерах, имеет значимые преимущества перед атмегой, или эффективность будет сравнима? То, что Вы описали, вполне воспроизводимо, на первый взгляд.
del

Аппаратный эмулятор клавиатуры и мыши с интерфейсом USB