uvc: log setup/data events

This commit is contained in:
Brad Stein 2026-01-06 05:01:52 -03:00
parent 2570ea69db
commit e35af4a46d

View File

@ -105,6 +105,10 @@ fn main() -> Result<()> {
let (dev, cfg) = parse_args()?; let (dev, cfg) = parse_args()?;
eprintln!("[lesavka-uvc] starting (dev={dev})"); eprintln!("[lesavka-uvc] starting (dev={dev})");
let debug = env::var("LESAVKA_UVC_DEBUG").is_ok();
let mut setup_seen: u64 = 0;
let mut data_seen: u64 = 0;
loop { loop {
let file = open_with_retry(&dev)?; let file = open_with_retry(&dev)?;
let fd = file.as_raw_fd(); let fd = file.as_raw_fd();
@ -154,6 +158,17 @@ fn main() -> Result<()> {
UVC_EVENT_STREAMOFF => eprintln!("[lesavka-uvc] stream off"), UVC_EVENT_STREAMOFF => eprintln!("[lesavka-uvc] stream off"),
UVC_EVENT_SETUP => { UVC_EVENT_SETUP => {
let req = parse_ctrl_request(event_bytes(&ev)); let req = parse_ctrl_request(event_bytes(&ev));
setup_seen += 1;
if debug || setup_seen <= 10 {
eprintln!(
"[lesavka-uvc] setup #{setup_seen} rt=0x{:02x} rq=0x{:02x} val=0x{:04x} idx=0x{:04x} len={}",
req.b_request_type,
req.b_request,
req.w_value,
req.w_index,
req.w_length
);
}
handle_setup( handle_setup(
fd, fd,
uvc_send_response, uvc_send_response,
@ -164,6 +179,13 @@ fn main() -> Result<()> {
} }
UVC_EVENT_DATA => { UVC_EVENT_DATA => {
let data = parse_request_data(event_bytes(&ev)); let data = parse_request_data(event_bytes(&ev));
data_seen += 1;
if debug || data_seen <= 10 {
eprintln!(
"[lesavka-uvc] data #{data_seen} len={}",
data.length
);
}
handle_data(fd, uvc_send_response, &mut state, &mut pending, data); handle_data(fd, uvc_send_response, &mut state, &mut pending, data);
} }
_ => {} _ => {}