The device communicates with packets of 64 bytes. It's weird beacause  
I can read data from it but I can't send data to it.

Quoting Dan Streetman <[EMAIL PROTECTED]>:

> Are you sure you want to send 62 zeros?  Is that what the device's spec says?
>
> On Thu, Jul 17, 2008 at 12:10 PM, Marion Decrouez
> <[EMAIL PROTECTED]> wrote:
>> I'm trying to send a packet of 64 bytes, the first one (or the second) equal
>> to 0x30 and the others equals to 0.
>>
>> Dan Streetman a écrit :
>>>
>>> What data (specific bytes) are you intending to send?
>>>
>>> On Wed, Jul 9, 2008 at 4:14 AM, Marion Decrouez
>>> <[EMAIL PROTECTED]> wrote:
>>>
>>>>
>>>> Hello,
>>>> I'm still trying to send data to a HID device but it doesn't work. I
>>>> don't have any errors or exceptions but the syncSubmit method never
>>>> ends and if I use the asynchSubmit method, the actual lentgh is always
>>>> null. I'm sure it's possible to send data to the device because
>>>> there's a software given with the device which does that. I've checked
>>>> the packets sent by this software to the device with an usb monitor
>>>> and I tried to send the same.
>>>> Does anyone knows the problem?
>>>>
>>>> Thanks.
>>>>
>>>> Here is my code :
>>>>
>>>> public static void main(String argv[]){
>>>>               try{
>>>>                       UsbServices services =
>>>> UsbHostManager.getUsbServices();
>>>>                       UsbHub virtualRootUsbHub =
>>>> services.getRootUsbHub();
>>>>                       List LL_DevList =
>>>> getUsbDevicesWithId(virtualRootUsbHub,
>>>> (short)0x4242, (short)0xee01);
>>>>                       UsbDevice LCl_Device =
>>>> (UsbDevice)LL_DevList.get(0);
>>>>
>>>>                       UsbInterface LCl_UsbInterface =
>>>> LCl_Device.getActiveUsbConfiguration().getUsbInterface((byte)0);
>>>>
>>>>                       UsbInterfacePolicy LCl_uiP = new
>>>> UsbInterfacePolicy()
>>>>                       {
>>>>                               public boolean forceClaim (UsbInterface
>>>> LCl_Interface)
>>>>                               {
>>>>                                       return true;
>>>>                               }
>>>>                       };
>>>>
>>>>
>>>>                       try
>>>>                       {
>>>>                               LCl_UsbInterface.claim(LCl_uiP);
>>>>                       }catch(UsbException LCl_Exception){
>>>>                               System.out.println("Could not claim
>>>> interface to drive majook : "+
>>>> LCl_Exception.getMessage());
>>>>                       }
>>>>
>>>>
>>>>
>>>>                               UsbInterface LCl_UsbActiveInterface =
>>>> LCl_UsbInterface.getActiveSetting();
>>>>
>>>>                               byte LN_EndpointOutAdress = (byte)0x04;
>>>>                               UsbEndpoint LCl_UsbEndpointOut =
>>>> LCl_UsbActiveInterface.getUsbEndpoint(LN_EndpointOutAdress);
>>>>
>>>>                               UsbPipe LCl_UsbPipeOut =
>>>> LCl_UsbEndpointOut.getUsbPipe();
>>>>
>>>>                               try
>>>>                               {
>>>>                                       LCl_UsbPipeOut.open();
>>>>                               }catch (UsbException e){
>>>>                                       System.out.println("Could not open
>>>> endpoint to communicate with
>>>> majook : "+ e.getMessage());
>>>>
>>>>                               }
>>>>
>>>>                               byte[] LT_WriteData = new byte[64];
>>>>
>>>>
>>>>                               for (int i=0; i< 64; i++)
>>>>                               {
>>>>                                       LT_WriteData[i]=(byte)0x00;
>>>>                               }
>>>>                               LT_WriteData[1] = (byte)0x30;
>>>>
>>>>                               try
>>>>                               {
>>>>
>>>> LCl_UsbPipeOut.syncSubmit(LT_WriteData);
>>>>
>>>>
>>>>                               }catch(UsbException LCl_UsbException){
>>>>
>>>>                                       System.out.println("Unable to
>>>> submit data buffer to majook : " +
>>>> LCl_UsbException.getMessage());
>>>>
>>>>                               }
>>>>                               try
>>>>                               {
>>>>
>>>> LCl_UsbPipeOut.abortAllSubmissions();
>>>>                                       LCl_UsbPipeOut.close();
>>>>                               }catch (UsbException LCl_Exception){
>>>>                                       System.out.println("Could not open
>>>> endpoint to communicate with
>>>> majook : "+ LCl_Exception.getMessage())
>>>>                               }
>>>>
>>>>                       }
>>>>               }catch(UsbException LCl_Exception){
>>>>
>>>>               }
>>>>
>>>>
>>>>       }
>>>>
>>>>       public static List getUsbDevicesWithId(UsbDevice usbDevice, short
>>>> vendorId, short productId)
>>>>       {
>>>>               List list = new ArrayList();
>>>>
>>>>               if (vendorId ==
>>>> usbDevice.getUsbDeviceDescriptor().idVendor() &&
>>>>                       productId ==
>>>> usbDevice.getUsbDeviceDescriptor().idProduct())
>>>>                       list.add(usbDevice);
>>>>
>>>>               if (usbDevice.isUsbHub()) {
>>>>                       List devices =
>>>> ((UsbHub)usbDevice).getAttachedUsbDevices();
>>>>                       for (int i=0; i<devices.size(); i++)
>>>>
>>>> list.addAll(getUsbDevicesWithId((UsbDevice)devices.get(i),
>>>> vendorId, productId));
>>>>               }
>>>>
>>>>               return list;
>>>>       }
>>>> }
>>>>
>>>>
>>>> -------------------------------------------------------------------------
>>>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>>>> Studies have shown that voting for your favorite open source project,
>>>> along with a healthy diet, reduces your potential for chronic lameness
>>>> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>>>> _______________________________________________
>>>> javax-usb-devel mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/javax-usb-devel
>>>>
>>>>
>>>
>>>
>>
>>
>




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
javax-usb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javax-usb-devel

Reply via email to