Skip to content

v2.0.0

Latest

Choose a tag to compare

@mobizt mobizt released this 03 Dec 07:07
· 4 commits to main since this release

Release v2.0.0

This release introduces advanced control over SSL configurations, significantly improves the debugging experience, and adds support for fully asynchronous TCP networking on ESP32 hosts.

🚀 AsyncTCP Support (New)

  • Non-Blocking Client: Introduced SerialAsyncTCPClient, enabling event-driven TCP communication for high-throughput applications.
  • Robust Host Architecture: The SerialNetworkHost (on ESP32) now uses a FreeRTOS Queue to decouple the network stack (LwIP) from Serial I/O. This prevents packet loss and connection stalls during bursts of data.
  • Flow Control: Implemented automatic Stop-and-Wait flow control to prevent overflowing the Client's hardware serial buffer, ensuring reliable data transfer even at high speeds.
  • Examples: Added AsyncTCP_Client examples demonstrating non-blocking HTTP requests and data reception.

🔌 Core Library & API

  • SSL Status & Config Callbacks: Added callbacks to handle SSL state queries and configuration commands from the client.
    • Status Reporting: setGetFlagCallback allows the Host to report the current secure connection status (e.g., isSecure) back to the Client.
    • Configuration Control: setSetFlagCallback enables the Client to set SSL options like setInsecure (skip verification) and setPlainStart on the Host.
  • Client Debug Relaying: Implemented a new protocol command (CMD_C_DEBUG_INFO) that allows the Arduino Client to send debug strings to the Host. This enables viewing Client-side logs on the PC terminal or Host Serial monitor even though the Client's USB/Serial port is occupied by the bridge protocol.

🛠 PC Host (serial_bridge.py)

  • Color-Coded Console Output: The Python bridge now parses relayed debug messages and applies syntax highlighting for better readability:
    • Red: Error messages.
    • Yellow: Warning messages.
    • Green: General information and success messages.

📂 Examples

  • Debug Integration: Updated all examples to utilize the new debug::print helpers and HOST_RELAY_DEBUG macro, ensuring debug output is correctly routed to the Host.
  • AsyncTCP: Added dedicated Host and Client sketches for the new asynchronous features.