Skip to content

2.0.1

@GtechGovind GtechGovind tagged this 09 Nov 09:13
Version 2.0.1

1. Auto-Reconnection:
   - Added automatic reconnection with a configurable retry delay. This ensures the connection is re-established if lost, enhancing reliability in unstable environments.

2. Connection Status Flow:
   - Integrated StateFlow to broadcast real-time connection status, enabling subscribers to react to changes in connection.

3. Concurrency Safety:
   - Incorporated a Mutex (named communication) to ensure thread-safe access during read and write operations, protecting against concurrency issues.

4. Failure Handling & Retry Logic:
   - Introduced a configurable maxFailureCount to automatically disconnect after a series of consecutive failures, preventing potential deadlocks.
   - Added a responseFailureCounter to track failures, with an automatic reset upon successful operation.
   - Improved error handling by disconnecting and resetting the connection if the maximum failure threshold is reached.

5. Enhanced Logging:
   - Expanded logging to provide detailed information about connection status, data transmission, and errors, aiding in debugging and traceability.

6. Builder Pattern:
   - Implemented a Builder pattern for flexible instance creation, allowing configuration of parameters like baudRate, dataBits, stopBits, parity, retryDelay, readDelay, and maxFailureCount.

7. Helper Method for Port Discovery:
   - Added a getPorts() method in a companion object to list all available serial ports, simplifying the process of selecting a port.

8. Connection Verification:
   - Added an ensureConnected() method that verifies and re-establishes the connection before every read/write operation to prevent attempts on a disconnected port.

9. Documentation and Comments:
   - Added detailed comments and documentation throughout the code, enhancing readability, maintainability, and usability.
Assets 2
Loading