-
Notifications
You must be signed in to change notification settings - Fork 232
Open
Description
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:
- Explicit Connection: Call
handler.connect()immediately after instantiation. - Lifecycle Management: Wrap the execution in a
try...finallyblock to ensurehandler.disconnect()is called on exit. - Port Handling: Ensure
args.portis passed correctly to support both specific port selection and auto-discovery.
Related work
- PR: Replace deprecated serial_handler imports with pslab.connection #267 (Implementation in progress)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels