В usb-варианте не предусмотрено явного управления питанием, по просьбам была назначена нога для "холостого" режима M0, в который Девайс входит при подключении разъёма usb. Но в самой проге особо не учитывается это и считается, что снятие питания происходит методом "вынул-вставил". Можно быстро переключить на i2c-eeprom и нажать reset там. Девайс заточен на постоянные отключения, _именно_ для этого в окне лога показывается "closed" - значит, можно Девайс извлечь из гнезда usb и попереставлять в панельках что-нибудь. Ковыряться в панельках, когда usb-прогер на шнуре висит - я только недавно узнал, что большинство прогеров воплощают этот идиотизм, мне и в голову не приходило, что так можно.
nomad77778, протоколы мне нужно просто для всех подробно описать, я не торопился с этим, т.к. правятся они в процессе (кроме основных), команды добавляются. Чем позже напишу - тем меньше путаницы будет. А добавки к исходнику - там чуть-чуть правилось, в исходном коде методом копипаста обновлённые пару функций вставить - для обмена данными с Девайсом. Например, с выложенным исходником usbXpress работает только драйвер от w98 (для XP годится тоже), обновлённый вариант работает с любой версией автоматически (old/new style dll).
f-lenar, никто ничему не "научился". Раскопанными с нуля алгоритмами (и не одним) может похвастаться только Великая Прога, ВСЕ остальные просто сдирали с готового. То есть, протокол обмена тупо отсканировали с какого-то девайса, который умеет. Это просто. Практически всё, кем-то уже сделанное, можно повторить. Насчёт всякого эксклюзива - это всё не сразу. И чтобы понять скорость разбора любого вопроса ("разбирался ли случайно") - надо попробовать самому сначала. Это время, очень много времени. Как пример - конверторы форматов ПДУ, я сделал - считай месяцы на это ушло. Но даже коммерческие эмуляторы ПДУ не смогли себе такой роскоши позволить - делай выводы, насколько это сложно.
nomad77778, ATxmega в обозримом будущем сильно вряд ли, не вижу в ней перспективы. Физически интерфейсы все поддержаны, но софт писать дело небыстрое. Ставь MS VS6 и пиши. Загрузи проект первого исходника USB-версии, добавки и протоколы все дам.
БУНЯ, странно, что на компе не найти, в распакованной папке usbXpress обычно не меньше 3-х длл-ек siusbxp.dll разных. Раз переустановка драйвера не помогла - тогда надо ждать подсказки от того, у кого работает.
Возможно, связано с параноидальным упором в "безопасность", напоминает работу с неправильной dll. Возможно, в системе лежит ещё одна siusbxp.dll, которую Windows посчитала приоритетной, отказываясь от загрузки dll из папки проги. Переустановить надо драйвер, а то Windows ничего не даст делать. В принципе, такое поведение Windows имеет смысл, проблема на стороне программистов Silabs, которые понаделали несовместимых по версиям дров - так вообще не принято делать, Silabs нанял каких-то школьников. Ведь даже у самой Windows старые функции API работают одинаково, когда требовалось чего-то изменить - менялось чуть-чуть название (напр. -x в конец добавлялось), а функция со старым названием работала как раньше. А Silabs захотели - список параметров функции поменяли, либо список устанут менять - займутся параметрами, параметр был по ссылке - стал по значению.