Result of COM port detection with detailed diagnostics. Attributes: ok: True if a suitable USB port was found, False otherwise selected_port: The selected USB port device name (e.g., 'COM3'), or None if not found error_message: Optional error description if detection fai
| 51 | |
| 52 | @dataclass |
| 53 | class ComportResult: |
| 54 | """Result of COM port detection with detailed diagnostics. |
| 55 | |
| 56 | Attributes: |
| 57 | ok: True if a suitable USB port was found, False otherwise |
| 58 | selected_port: The selected USB port device name (e.g., 'COM3'), or None if not found |
| 59 | error_message: Optional error description if detection failed |
| 60 | all_ports: List of all ports scanned (for diagnostics), empty list by default |
| 61 | """ |
| 62 | |
| 63 | ok: bool |
| 64 | selected_port: str | None |
| 65 | error_message: str | None = None |
| 66 | all_ports: list[ListPortInfo] = field(default_factory=lambda: []) |
| 67 | |
| 68 | |
| 69 | def auto_detect_upload_port(expected_environment: str | None) -> ComportResult: |
no outgoing calls
no test coverage detected