old code: #[task(binds = OTG_FS, local = [usb_dev, serial, rx], shared = [do_debug])] fn usb_tx(cx: usb_tx::Context) { let rx = cx.local.rx; let serial = cx.local.serial; if serial.dtr() { if let Ok(grant) = rx.read() { debug!("dtr & grant - draining queue"); match serial.write(&grant) { Ok(len) if len > 0 => { debug!("wrote {} bytes", len); grant.release(len);