Re: Iyonix USB: Bulk IN endpoints
- From: davehigton@xxxxxxxxxxxxx
- Date: 1 Sep 2006 00:56:58 -0700
Ian Hamilton wrote:
In article <68a0345f4e.davehigton@xxxxxxxxxxxxx>, Dave Higton
<davehigton@xxxxxxxxxxxxx> wrote:
In message <5db5265f4e.james@xxxxxxxxxxxx> James Pea***
<news@xxxxxxxxxxxxxxxx> wrote:
davehigton@xxxxxxxxxxxxx wrote:
For the Iyonix, how should I request a transfer from a bulk in
(i.e. device to host) endpoint?
[Snip]
On the Iyonix stack, the only way I have found to do it is with OS_GBPB
4, having opened the pipe with short timeouts. However, I'm not sure
this is working without confusing the device.
You can check the buffer flags (Buffer_GetInfo) to determine if any data
is present. I test bit 0 (Dormant) and bit 8 which apparently equals 0 if
free>threshold, 1 if free<threshold (needs bit 2 of the buffer flags word
set - generate event on full).
If both bits are set, do the OS_GBPB transfer, flush the buffer and reset
the flags word with Buffer_ModifyFlags
(e.g. SYS "Buffer_ModifyFlags",buffer_handle%,4,&FFFFFFFE).
The trouble is that there never are any bytes waiting until the OS_GBPB
is performed. Bulk and interrupt endpoints work differently. With
interrupt mode, you can sit there waiting for them to arrive; the stack
keeps requesting them. This doesn't happen with bulk mode endpoints.
The host app has to request them.
Dave
.
- Follow-Ups:
- Re: Iyonix USB: Bulk IN endpoints
- From: Ian Hamilton
- Re: Iyonix USB: Bulk IN endpoints
- References:
- Re: Iyonix USB: Bulk IN endpoints
- From: Ian Hamilton
- Re: Iyonix USB: Bulk IN endpoints
- Prev by Date: Task window within a Wimp Program
- Next by Date: Re: Iyonix USB: Bulk IN endpoints
- Previous by thread: Re: Iyonix USB: Bulk IN endpoints
- Next by thread: Re: Iyonix USB: Bulk IN endpoints
- Index(es):