logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This class encapsulates a USB Device endpoint and the methods that object would support.

Acknowledgements

       Thanks go to various members of the Houston Perl Mongers group for input on the module. But thanks mostly
       go to Paul Archer who proposed the project and helped with the development.

Author

       G. Wade Johnson (gwadej at cpan dot org) Paul Archer (paul at paularcher dot org)

       Houston Perl Mongers Group

Bugs

       Please report any bugs or feature requests to "bug-device-usb@rt.cpan.org", or through the web  interface
       at   <http://rt.cpan.org/NoAuth/ReportBug.html?Device::USB>.    I  will  be  notified,  and  then  you'll
       automatically be notified of progress on your bug as I make changes.

Dependencies

       This  module  depends  on  the  Carp,  Inline  and  Inline::C modules, as well as the strict and warnings
       pragmas. Obviously, libusb must be available since that is the entire reason for the module's existence.

Description

       This module defines a Perl object that represents the data associated with a USB interface endpoint. The
       object provides read-only access to the important data associated with the endpoint.

   METHODS
       There are several accessor methods that return data from the interface.  Each is named after the field
       that they return. These accessors include:

       bEndpointAddress
       bmAttributes
       wMaxPacketSize
       bInterval
       bRefresh
       bSynchAddress

Device::Usb::Devendpoint

       This class encapsulates a USB Device endpoint and the methods that object would support.

Diagnostics

       This is an explanation of the diagnostic and error messages this module can generate.

Name

       Device::USB::DevEndpoint - Access a device endpoint returned by libusb.

Synopsis

       Device::USB:DevEndpoint provides a Perl object for accessing an endpoint of an interface of a USB device
       using the libusb library.

           use Device::USB;

           my $usb = Device::USB->new();
           my $dev = $usb->find_device( $VENDOR, $PRODUCT );

           printf "Device: %04X:%04X\n", $dev->idVendor(), $dev->idProduct();
           $dev->open();

           my $cfg = $dev->config()->[0];
           my $inter = $cfg->interfaces()->[0]->[0];
           my $ep = $inter->endpoints()->[0];
           print "Endpoint:", $inter->bEndpointAddress(),
              " name: ", $dev->get_string_simple($iter->iInterface()), "\n";

       See USB specification for an explanation of the attributes of an endpoint.

Version

       Version 0.38

See Also