uvc: log setup/data events
This commit is contained in:
parent
2570ea69db
commit
e35af4a46d
@ -105,6 +105,10 @@ fn main() -> Result<()> {
|
||||
let (dev, cfg) = parse_args()?;
|
||||
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 {
|
||||
let file = open_with_retry(&dev)?;
|
||||
let fd = file.as_raw_fd();
|
||||
@ -154,6 +158,17 @@ fn main() -> Result<()> {
|
||||
UVC_EVENT_STREAMOFF => eprintln!("[lesavka-uvc] stream off"),
|
||||
UVC_EVENT_SETUP => {
|
||||
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(
|
||||
fd,
|
||||
uvc_send_response,
|
||||
@ -164,6 +179,13 @@ fn main() -> Result<()> {
|
||||
}
|
||||
UVC_EVENT_DATA => {
|
||||
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);
|
||||
}
|
||||
_ => {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user