День 6. RS-232. И все еще не взлетает.
За прошедший день удалось написать код, заточенный под линух который пишет в порт и убедиться что он работает (https://github.com/asve79/qt-serialport-probe.git).
Дальше разбирался с исходниками Xpeccy. Примерно понял структуру работы с профилями, как чего где загружается. Не перестаю удивляться миксу С и QT кода. Ну оч странно это для меня. Но, как говориться в чужой монастырь со своим уставом не ходят. )
Добавил обработку портов ввода-вывода, и... Не работает. При отправке в порт пишет что ничего не отправлено (на уровне кода С).
Запускаю тот же код в отдельном приложении - все норм. 8-\
Обратил внимание что разливается номер дескриптора, причем так на порядок. В остальном разницы нет.
Мысли:
- либо дело в локах. Уже нашел код проверки лока. Попробую.
- либо дело в том, что в эмуле используются треды и это как-то вляет на работу с tty.
- .... ?!
Сделал второй заход на wine + unreal. Радобрался с реестром wine, порт уже не перетирался, но... тишина в портах. миником так ничего и не видит.
Ближайший план:
- добавить проверку на локи
- добавить пуш данных в порт еще до того, как эмуль запустит треды (чисто для подтверждения/опровержения гипотезы тредов)
- поискать код, который мог бы вернуть описание открытого дескриптора, может это прольет какой-то свет на проблему.
Комментарии
Трекбэков
Всего трекбэков 0
Ссылка трекбэка: