Как фанат гаджетов иногда я увлекаюсь, и на этот раз я купил вакуумного бота Neato XV-11 (который, кстати, работает довольно хорошо).
Теперь, кажется, обновление прошивки для устройства, которое я должен сделать под Windows. Однако у меня есть Macbook Pro 2008 года, поэтому я решил использовать BootCamp.
Для обновления вам понадобится мини-USB-кабель и подключите его к вашему роботу. Приложение обновления установит последовательное соединение с роботом, которое в моем случае эмулируется под COM3.
Это не работает, потому что в Windows любое последовательное соединение с устройством останавливается после первого отправленного символа. Я сам попробовал это сделать с Putty и Hyperterminal, чтобы установить тестовое последовательное соединение (115200 бод). Я хочу напечатать "help", в котором будут перечислены команды роботов, но только "h" возвращается ко мне.
Если попытаться сделать то же самое под OSX (с терминалом и экранной командой, /dev/ttsy.usbmodem662, те же настройки, что и в Windows), и все работает нормально (я получаю список поддерживаемых команд робота)!
После отладки с помощью монитора последовательной связи под Windows я увидел, что после "h" соединение все еще открыто, но после этого устройство ничего не отправляет. Когда я затем отключаю сеанс, отключаю USB и снова подключаю его, я замечаю, что устройство неожиданно реагирует на все мои предыдущие команды. Немного как будто это было буферизовано (я могу видеть это только из-за последовательного регистратора).
Я пробовал XP SP3(x86) и Windows 7 (x64) с Bootcamp, Parallels и VMware Fusion. Я связался с их службой поддержки, но я все еще жду технического ответа.
Обновление - попытка обхода FrankenSerial:
В своих отчаянных попытках исправить это я пытался подключить устройство из OSX через канал к VMWare. Вы можете сделать это с помощью Unix-программы под названием socat. Он в основном открывает поток чтения / записи из /dev/ttsy.usbmodem662 в порт COM1 VMWare. Мне удалось связаться с устройством на COM1 через это решение. К сожалению, инструмент обновления прошивки сначала ищет USB-устройство под названием Neato XV-11, которое имитируется в COM3. Переключение Windows с COM1 на COM3 также не работает (они, вероятно, перечисляют USB-устройства, чтобы им не приходилось сканировать все COM-порты).
Любые подсказки, что происходит?
Это известная проблема Windows (на Apple hw)?
Каким-то образом эмуляция USB -> Serial под Windows кажется сломанной с моим оборудованием?