Comtrol eCos User Manual
Page 722

Testing
devtab
This is a string indicating whether or not the target-side USB device driver supports access to this
endpoint via entries in the device table, in other words through conventional calls like
open
and
write
.
Some device drivers may only support low-level USB access because typically that is what gets used
by USB class-specific packages such as USB-ethernet. An empty string indicates that no devtab entry is
available, otherwise it will be something like
"/dev/usbs2w"
.
Typical test scripts would access this data using something like:
foreach endpoint $usbtest:bulk_in_endpoints {
puts "Endpoint $endpoint: "
puts "
minimum transfer size $usbtest::bulk_in($endpoint,min_size)"
puts "
maximum transfer size $usbtest::bulk_in($endpoint,max_size)"
if { 0 == $usbtest::bulk_in($endpoint,max_in_padding) } {
puts "
no IN padding required"
} else {
puts "
$usbtest::bulk_in($endpoint,max_in_padding) bytes of IN padding required"
}
if { "" == $usbtest::bulk_in($endpoint,devtab) } {
puts "
no devtab entry provided"
} else {
puts "
corresponding devtab entry is $usbtest::bulk_in($endpoint,devtab)"
}
}
bulk_out_endpoint
This is a simple list of the endpoints which can support bulk OUT transfers. It is analogous to
bulk_in_endpoints
.
bulk_out()
This array holds additional information about each bulk OUT endpoint. It can be accessed in the same way
as
bulk_in()
, except that there is no
max_in_padding
field because that field only makes sense for IN
transfers.
control()
This array holds information about the control endpoint. It contains two fields,
min_size
and
max_size
.
Note that there is no variable
control_endpoints
because a USB target always supports a single control
endpoint
0
. Similarly the
control
array does not use an endpoint number as the first index because that would
be redundant.
isochronous_in_endpoints
and
isochronous_in()
These variables provide the same information as
bulk_in_endpoints
and
bulk_in
, but for endpoints that
support isochronous IN transfers.
isochronous_out_endpoints
and
isochronous_out()
These variables provide the same information as
bulk_out_endpoints
and
bulk_out
, but for endpoints
that support isochronous OUT transfers.
618