On Wed, Mar 29, 2017 at 06:04:58PM -0400, A Sun wrote:
> On 3/29/2017 5:06 PM, Sean Young wrote:
> <snip>
> >
> > Anyway, you're right and this patch looks ok. It would be nice to have the
> > tx case handled too though.
> >
> > Thanks
> > Sean
> >
>
> Thanks; I'm looking at handling the tx case. If I can figure out the details,
> I'll post a new patch proposal separate, and likely dependent, on this one.
>
> My main obstacle at the moment, is I'm looking for a way to get mceusb device
> to respond with a USB TX error halt/stall (rather than the typical ACK and
> NAK) on a TX endpoint, in order to test halt/stall error detection and
> recovery for TX. ..A Sun
If you send IR, the drivers send a usb packet. However, the kernel will
sleep for however long the IR is in ir_lirc_transmit_ir, so your other option
is to set the transmit carrier repeatedly instead. You'd have to set the
carrier to a different value every time.
{
int fd, carrier;
fd = open("/dev/lirc0", O_RDWR);
carrier = 38000;
for (;;) {
ioctl(fd, LIRC_SET_SEND_CARRIER, &carrier);
if (++carrier >= 40000)
carrier = 38000;
}
}
Sean