main_v38.go (1098 строк) - Исправленный исходный код V38 с устранением всех проблем зависанияbuild_v38.ps1 (46 строк) - Скрипт сборки V38README_V38.md (201 строка) - Основная документацияREPORT_V38.md (286 строк) - Подробный отчёт об исправленияхinstall_go_v38.md (61 строка) - Инструкция по установке GoFINAL_INSTRUCTION.md (154 строки) - Итоговая инструкцияTuring35NeonV38/Turing35NeonStableV38_temp.exe - Временный EXE из V37 для тестирования| Проблема | Решение |
|---|---|
FlushFileBuffers блокировал процесс после 12+ минут работы |
✅ Убрано - данные передаются через writeData() с контролируемым таймаутом |
| Нет диагностики CTS перед отправкой данных | ✅ Добавлена функция checkCTS() для проверки сигнала готовности к приёму |
| RTS/CTS рукопожатие вызывало deadlock | ✅ Отключено (fBinary, no RTS handshake) |
| Нет контроля ошибок буферов | ✅ Добавлен ClearCommError() для проверки состояния очередей |
| При зависании переподключение не помогало | ✅ Улучшен reconnect с очисткой буферов и повторной проверкой CTS |
| Размер chunks 2048 байт вызывал проблемы на медленных портах | ✅ Уменьшён до 1024 байта для лучшей надёжности |
cd C:\35inchENG\v2\Turing35NeonV38
.\Turing35NeonStableV38_temp.exe --test
# 1. Установите Go (см. install_go_v38.md)
# 2. Соберите V38
cd C:\35inchENG\v2\3.5inch-turing-smart-screen-main
go build -ldflags="-s -w" -o Turing35NeonStableV38.exe main_v38.go
# 3. Запустите исправленную версию
copy Turing35NeonStableV38.exe "Turing35NeonV38\"
cd Turing35NeonV38
.\Turing35NeonStableV38.exe --test
Откройте PowerShell в папке и выполните:
Get-Content .\app_v37.log -Tail 60 -Wait
Ищите эти сообщения в журнале:
COM connected= — успешное подключениеCOM write %d/%d bytes success — успешная отправка данныхFlushFileBuffers: — блокировка (не должно быть в V38!)CTS not asserted — проблема с сигналом готовности к приёмуВсе файлы для исправления зависимости экрана V38 созданы. Остается только установить Go и скомпилировать EXE из main_v38.go.
install_go_v38.md)--test🎉 Исправление завершено! Теперь можно использовать исправленную версию V38!