3.5inch-turing-smart-screen

Release Notes - Turing 3.5 Neon Monitor V38

[Unreleased] - Ready for First Public Release

🎉 What’s New in V38?

Fixed COM Hang Issues - Major improvements to serial communication stability:

  1. Removed blocking FlushFileBuffers call
    • Previous version blocked indefinitely when CTS signal was inactive
    • Now uses controlled timeouts with proper error handling
  2. Added CTS diagnostics before each write operation
    • Checks if device is ready to receive data
    • Skips operations when CTS not asserted to prevent hangs
  3. Disabled RTS/CTS handshake
    • RTS_CONTROL_HANDSHAKE was causing deadlocks on some CH340 devices
    • Now uses simple fBinary and fOutxCtsFlow for read readiness detection
  4. Added buffer error checking
    • ClearCommError() checks before each write operation
    • Detects buffer full/empty conditions and timeouts
  5. Improved reconnect logic
    • Purge buffers on reconnect attempts
    • Recheck CTS state after recovery
    • Better handling of temporary communication failures
  6. Reduced chunk size for better reliability
    • Changed from 2048 bytes to 1024 bytes per write
    • Faster confirmation on slow serial ports
    • Better overall stability on USB connections

📊 Statistics

🎯 Key Improvements

Metric V37 V38 Improvement
FlushFileBuffers blocking Yes No ✅ Fixed
CTS diagnostics No Yes ✅ Added
RTS/CTS handshake Enabled Disabled ✅ Fixed
Buffer error checking No Yes ✅ Added
Reconnect handling Basic Advanced ✅ Improved
Chunk size reliability 2048 bytes 1024 bytes ✅ Better

🔄 Changes from V37

Removed:

Added:

Changed:

📝 Migration Notes

No action required! V38 maintains full backward compatibility:

Simply update to new version or recompile with main_v38.go.

🚀 Getting Started

Quick Start (Ready-to-use EXE):

cd C:\35inchENG\v2\Turing35NeonV38
.\Turing35NeonStableV38_temp.exe --test

From Source:

cd C:\35inchENG\v2\3.5inch-turing-smart-screen-main
go build -ldflags="-s -w" -o Turing35NeonStableV38.exe main_v38.go

📋 Build Instructions

Prerequisites:

Build Command:

go build -ldflags="-s -w" -o Turing35NeonStableV38.exe main_v38.go

Run Tests:

Turing35NeonStableV38.exe --test

🔍 Testing Recommendations

  1. Test Mode First: Always start with --test flag for 30-minute stability check
  2. Monitor Logs: Watch app_v37.log for any CTS warnings or errors
  3. Gradual Transition: Start simple metrics, then enable neon animation

📞 Support

If you encounter issues:

  1. Check application logs (app_v37.log)
  2. Verify USB connection and driver status
  3. Try different USB port/cable if needed
  4. Update CH340 driver to latest version

See Troubleshooting Guide for detailed help.


Version History

V37 - Initial Release

V38 - Fixed COM Hang Issues (Current)


Acknowledgments

Special thanks to:


License

MIT License - See LICENSE file


Thank you for using Turing 3.5 Neon Monitor V38!