Хочу добавить ещё ложку дёгтя сюда в мнение о WT12.
Недавно выяснил, что данная проблема (наложение сообщений о событиях в модуле на текущий обмен по UART) проявляется не только в командном режиме как описывал ранее.
Оказывается сообщения о событиях в модуле (асинхронные сообщения) могут приходить даже тогда, когда модуль находится в DATA-режиме
(SPP-профиль, никаких MUX-режимов не включено)!
Т.е. - хост под виндой открыл COM-порт, начался обмен данных с моим устройством - данные идут туда и сюда, всё ок.
И тут - я пробую открыть COM-порт с другого компа (этот COM тоже сопряжён с моим устройством) и вдруг вижу в потоке символов от удалённой стороны (идущих от WT12)
строку RING ....
(у меня включены уведомления о входящих коннектах).
Другие события не пробовал, но раз есть RING, то думаю будут и PAIR и др.
В этом свете теперь непонятно как вообще работать с WT12 если он так гадит прямо в данные???
В документации на WT12 явно утверждается, что в DATA-режиме я могу получать только:
1. данные от удалённой стороны;
2. "NO CARRIER X ERROR Y" (уведомление о разрыве по инициативе удалённой стороны);
3. "READY." (уведомление о разрыве по инициативе локальной стороны).
PS: Меня уже ничего не спасёт - проект уже в производстве и остаётся только ставить костыли, ограничивать функционал и смириться с этими граблями
(BlueGiga проблему признаёт, но исправлять firmware не собирается).
Но остальных, кто только выбирает "на чём", хотелось-бы предостеречь о данном баге.
Если-бы я в своё время нашёл где-то упоминание о таком баге, то не выбрал бы WT12. И кучу времени сэкономил-бы...