APM MissionPlanner - ускорение коннекта

Иногда (на некоторых компьютерах) Missing Planner соединяется очень не быстро (около минуты). Причем все это время программа висит, не показывая окно прогресса соединения. Причина, как пишут на форумах, кривые Bluetooth драйвера в Windows (конкретно, Windows 7, но в XP у меня были аналогичные проблемы со средой Arduino при соединению по COM-порту). Если задисаблить Network adaptor / Bluetooth Device (RFCOMM TDI), то все становится нормально. Но если надо соединиться именно по Bluetooth, то нужно всего лишь снять галочку на странице Config/Tuning, [X] Reset APM on USB connect. Внутри программы это приведет к тому, что порт перестанет читаться для проверки его названия, что приводит к тормозам.
Остаются еще тормоза при срубании списка портов при первом нажатии на стрелочку выпадающего списка (который и так имеет глюки с позицией вставки при редактировании с помощью мышки). Тут настройками не пофиксить, и надо в MissingPlanner.Controls.ConnectionControl, в функции cmb_Connection_DrawItem комментить строку:

text = text + " "+ SerialPort.GetNiceName(text);

сделать:

// text = text + " "+ SerialPort.GetNiceName(text);

и пересобрать в VS 2013.

Есть видимо еще тормозные места, потому что енумерация портов через WMI (SELECT * FROM Win32_SerialPort) используется много где.

  • 922
Comments
Shuricus

Блютус вообще слабое место.
У меня из трех андроидов, и двух вин7 коннектится только стационарный комп.
На ноутбуке пришлось поставить внешний БТ и Блюсолей, и то коннектится через раз, приходится перезагружать. Это только про сам коннект модулей. А вот Мишин пленнэр как раз везде работает быстро и не тормозит. Но так стало в новых версиях. В старых тоже тормозило.