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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions