Skip to content

Clarify CLI runtime behavior when migrating away from deprecated pslab.serial_handler #271

@Architrb1795

Description

@Architrb1795

Background

The pslab.serial_handler module is deprecated and emits warnings during build and runtime.
A newer API is available via pslab.connection.SerialHandler.

Migrating to the new API is necessary, but the two implementations differ in runtime behavior, particularly regarding connection states.

Current CLI behavior

In pslab/cli.py, the CLI currently:

  • Instantiates SerialHandler(port=args.port)
  • Uses the handler immediately without explicitly calling connect()
  • Relies on the deprecated module's implicit connection behavior to function.

Behavior difference with pslab.connection

The newer pslab.connection.SerialHandler:

  • Does not auto-connect on initialization.
  • Requires an explicit .connect() call to open the port.
  • Will fail at runtime if used immediately after instantiation without connection.

Proposed Resolution

To safely migrate to the new API, the CLI logic in pslab/cli.py will be updated to:

  1. Explicit Connection: Call handler.connect() immediately after instantiation.
  2. Lifecycle Management: Wrap the execution in a try...finally block to ensure handler.disconnect() is called on exit.
  3. Port Handling: Ensure args.port is passed correctly to support both specific port selection and auto-discovery.

Related work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions