Pull to refresh
0
0
Send message
Уже не так однозначно, не правда ли?
Действительно неоднозначно зачем выдирать фразу из контекста полностью меняя ее смысл?
Что не так с dll? В импорте только стандартные библиотеки и должно работать начиная с Windows 2000 и выше включая текущую Windows 10.

Полагаете реально в 18 КБ (это размер dll) поместить крипто-майнер и функционал эмулятора? Будь там майнер, было бы логичнее распространять dll и прошивку абсолютно бесплатно.
Монетизация проекта за счет продажи прошивок и никаких майнеров или других вредоносных действий не осуществляется.
Вам ничего не мешает написать свой драйвер клавиатуры, который бы эмулировал нажатия на уровне ядра.
1. Сложнее обеспечить совместимость между различными ОС.
2. Нужна цифровая подпись для драйвера. Ее стоимость гораздо выше чем у микроконтроллера.
3. Мне намного проще сделать на МК чем писать драйвер под винду.
Да и жалко тратить целую stm'ку для задачи, с которой AVR справится ничуть не хуже.
Стоимость AVR с модулем USB выше чем у STM32 (сравните цену STM32F103C8T6 и ATmega32U4, и цену Blue Pill в сравнении с Arduino Pro Micro).
Программный USB даже не рассматриваю потому что он уступает аппаратному по всем параметрам. Надежность работы гораздо важнее экономии нескольких рублей.

Вот если бы привели код, можно было бы смотреть внимательнее.
Для того чтобы понять в чем преимущество аппаратного USB в сравнении с программным, код не нужен.

Определение номера точки это чтение пары битов, оно почти ничего не стоит.
Я пишу про период опроса точек. Если они на разных интерфейсах, то опрашиваются независимо друг от друга и по факту скорость опроса выше чем на одном интерфейсе.
Эмулятор в статье для автоматизации действий, не для вредоносных целей.
Это не эмулятор управляемый приложением. То есть к рассматриваемому в статье отношения не имеет.
Опрос скорее всего будет с периодом 1 мс, причем это никак не скажется на стабильности.
Если нет 100% гарантии то не вариант. Объясните зачем пользоваться программной эмуляцией когда большой выбор МК с USB?

8 байт на пакет и 3 конечные точки? А вам сколько нужно?
Посмотрите в заявленных характеристиках указано одновременное нажатие 14 кнопок клавиатуры. Для этого размер пакета должен быть не меньше 16 байт. Размер других пакетов еще больше. Думаю понимаете что 8 байт не вариант.
3 точки мало. В эмуляторе задействованы 4 (2 двунаправленные) не считая нулевой.

все общение так и так идет через endpoint0
В этом эмуляторе общение через точки больше нулевой. Для нулевой нельзя задать период опроса и он будет больше чем 1 мс. В добавок много потоков на одну точку дополнительно снизит скорость эмуляции.
Я же написал что программная эмуляция не работает во многих играх и в защищенных приложениях.
Да уж куда нам, убогим.
Вы проделали большую работу. Но с практической точки зрения программный USB во всем уступает аппаратному (МК с модулем USB). Если бы обсуждаемый эмулятор был собран на ATmega8 и вашей библиотеке, его характеристики были значительно скромнее, т. к. опрос каждые 10 мс и максимум 8 байт в пакете. И если не ошибаюсь есть ограничения на количество конечных точек.

некоторые хосты игнорируют ограничение на частоту опроса
Нужна стабильная работа на всех компах и системах, иначе я не смогу гарантировать заявленные характеристики и вообще работоспособность устройства.

Вы бы лучше описали алгоритм поиска этой ссылки.
На сайте не много страниц. Ссылка на архив на странице emulator.ucoz.org/load/apparatnyj_ehmuljator_klaviatury_i_myshi_versii_1_0/1-1-0-1
Если ATmega со встроенным модулем USB разницы почти нет. Но если он отсутствует (ATmega8, ATmega328 или подобный), и работа с USB программная, это существенно ухудшит характеристики устройства что скажется на его возможностях.
Предлагаемый эмулятор получает команды от приложения. Он предназначен для автоматизации действий в других приложениях и играх, например в ботах для игр защищенных от программной эмуляции ввода античитом или другим методом. То есть, это законченный аппаратно-программный комплекс предназначенный для автоматизации.
У вас устройства немного другой направленности.
Я не зря дал ссылку на сайт. Предполагается дальнейшее развитие проекта и со временем будут новые версии. Поэтому я не стал давать прямую ссылку на загрузку. На сайте можно найти актуальную версию.
Но раз просите вот ссылка на архив с примерами которая есть на сайте emulator.ucoz.org/Emulator/1_0/Emulator_Example_v1.0.zip
В ней найдете dll и прошивку в hex формате. В bin не компилировал, но если нужно соберу.
Я думаю вы знаете какова скорость обмена у HID у низкоскоростных девайсов которые возможно собрать на atmega8. Надеюсь понимаете что достичь 2 мс на эмуляцию принципиально невозможно, поскольку минимальное время опроса конечных точек 10 мс.
Это законченное устройство которое было отлажено и протестировано. Оно для тех кто не имеет опыта работы с микроконтроллерами но немного разбирается в программировании под windows. Таких людей немало.
Исходники никто не обещал. Не все проекты OpenSource.
Есть демо версия. emulator.ucoz.org/Emulator/1_0/KM_Emulator_Demo_v1.0.zip
Она также в архиве с примерами. emulator.ucoz.org/Emulator/1_0/Emulator_Example_v1.0.zip
Это законченное ПО и работа с ним осуществляется через компонент приложения Emulator.dll На сайте есть список функций с их описанием.
Если проект создается в кубе, без разницы есть процы в списке IDE или нет. Код генерирует куб.

Сейчас в списке л0, г0 и много других семейств…

Ежу понятно что бесплатные IDE для любителей или домашнего применения. Солидная фирма купит кейл.
Оно от этого хуже не становится.
Как по мне, мастер создания проекта проработан лучше и имеет больше функций чем официальный.
Перенес несколько проектов под это обновление. Компилируются, работают, отлаживаются…
Обновление интересно тем что включает библиотеки HAL и LL и дает возможность не пользоваться кубом, который добавляет слишком много лишнего кода из-за чего прошивка быстро разрастается что особенно актуально для младших моделей МК с небольшим объемом памяти.
Segger Embedded Studio
Она заточена под продукты Segger. Не говорю что это плохо, но с ST-Link работать не будет без перепрошивки в J-Link.
Среда бесплатна для некоммерческого использования и эта грань сильно расплывчата. К примеру пришел ко мне «Дядя Вася» и попросил условно за бутылку пива разработать ему устройство. Это можно считать коммерческим использованием, т. к. работа оплачивается и необходима лицензия на IDE…
Тогда уж лучше keil.
Я про медлительность среды (запуск, открытие окон, создание проекта и др). Скорость сборки зависит больше от компилятора чем от IDE.
Рисков нет. В случае чего проект несложно перенести в другую среду. Ведь не используются специфические библиотеки заточенные на EmBitz. Только от ARM (CMSIS) и ST (SPL, HAL, LL).
В статье я написал почему выбрал EmBitz. Он не тормозит на слабых ПК и ноутах в отличие от сред сделанных из Eclipse. Других альтернатив, бесплатных и не тормозящих на слабом ноуте найти не удалось.
EmBitz может стать хорошей стартовой платформой для начинающих. Нет необходимости искать и подключать CMSIS периферийную библиотеку. После создания проекта можно сразу приступать к работе.
Согласен, название не очень благозвучное, но стоит сделать скидку на то что проект зарубежный.
Если связка openocd + gdb нормально работает, переходить на EBlink нет необходимости (вспомним о программисте и солнце).

Information

Rating
Does not participate
Registered
Activity