Comtrol eCos User Manual

Page 722

Advertising
background image

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

Advertising