Re: Iyonix USB: Bulk IN endpoints
- From: davehigton@xxxxxxxxxxxxx
- Date: 1 Sep 2006 02:46:18 -0700
Ian Hamilton wrote:
In article <1157097417.992035.165330@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>, Dave
Higton <davehigton@xxxxxxxxxxxxx> wrote:
Ian Hamilton wrote:
[Snip] Bulk in endpoint
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.
If both bits are set, do the OS_GBPB transfer, flush the buffer and
reset the flags word with Buffer_ModifyFlags.
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.
That's not the case in the program I'm working on (Bulk). Have you done
the WakeUp call (SYS "DeviceFS_CallDevice",3,0,devicefs_stream%!28)? I
did have a problem recently where code that worked under USB1 stopped
working under USB2 (flags weren't triggered), this was resolved by
increasing the buffer size in the open string.
No, I wasn't aware of its existence. Thanks. I'll try that this
evening.
Dave
.
- References:
- Re: Iyonix USB: Bulk IN endpoints
- From: Ian Hamilton
- Re: Iyonix USB: Bulk IN endpoints
- From: davehigton
- Re: Iyonix USB: Bulk IN endpoints
- From: Ian Hamilton
- Re: Iyonix USB: Bulk IN endpoints
- Prev by Date: Re: Iyonix USB: Bulk IN endpoints
- 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):
Relevant Pages
|