DriveStatus API + reset() + wait_ready with fallback

- DriveStatus enum: TrayOpen, NoDisc, DiscPresent, NotReady, Unknown
- drive_status(): GET EVENT STATUS NOTIFICATION with TUR fallback
- reset(): PREVENT ALLOW → START STOP → init() escalation
- wait_ready(): tries reset on Illegal Request, falls back to drive_status
- Remaining: standard READ(10) still fails in LibreDrive stuck state
This commit is contained in:
MattJackson
2026-04-12 23:36:16 +00:00
parent 9268ea2fdb
commit fb1c35e653
2 changed files with 129 additions and 18 deletions
+1 -1
View File
@@ -87,7 +87,7 @@ pub(crate) mod sector;
pub(crate) mod speed;
pub(crate) mod udf;
pub use drive::{find_drive, find_drives, resolve_device, DriveSession};
pub use drive::{find_drive, find_drives, resolve_device, DriveSession, DriveStatus};
pub use drive::capture::{DriveCapture, CapturedFeature, capture_drive_data, mask_string, mask_bytes};
pub use error::{Error, Result};
pub use event::{Event, EventKind};