<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/39535/problem-when-ep1-is-used-for-out-ep-in-rtx-hid-program</link><description> 
Good day to all, 

 
I am using MCB1760 board. 

 
 I want to use EP1 for OUT EP in my application. 

 
As a start I have modified the RTX_HID code as below. 

 
 The device is detecting. 

 
 When I run the HID_Client on the PC I can select the
device</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/148580?ContentTypeID=1</link><pubDate>Fri, 06 Jan 2012 06:00:03 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0c8365d1-3ddb-4d88-8aa9-4212a6d77561</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
Thanks for the reply.&lt;/p&gt;

&lt;p&gt;
It is working fine with generic_hid_50 software.&lt;br /&gt;
It really helped me to find the problem.&lt;/p&gt;

&lt;p&gt;
regards&lt;br /&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/148466?ContentTypeID=1</link><pubDate>Fri, 06 Jan 2012 05:15:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ed5900ea-e90c-4719-9347-fa86aef2dfb4</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; SimpleHIDWrite: Violation at address at 00000000. Read of
address 00000000&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Umm.. It seems a bug of SimpleHIDWrite, which appears when 64
bytes or more is assigned.&lt;br /&gt;
Confirmed with this firmware on Olimex LPC1766-STK.&lt;br /&gt;

&lt;a href="http://www.8052.com/users/Notus/MCB1760_RTX_HID_64BytesOver_loopback.zip"&gt;www.8052.com/.../MCB1760_RTX_HID_64BytesOver_loopback.zip&lt;/a&gt;&lt;br /&gt;

This firmware works fine, but SimpleHIDWrite causes above error.&lt;/p&gt;

&lt;p&gt;
Test your firmware on another test bench, for example,&lt;br /&gt;
Jan Axelson&amp;#39;s HID page &lt;a href="http://www.lvr.com/hidpage.htm"&gt;http://www.lvr.com/hidpage.htm&lt;/a&gt;&lt;br /&gt;

generic_hid_cs_50 &lt;a href="http://www.lvr.com/files/generic_hid_cs_50.zip"&gt;www.lvr.com/.../generic_hid_cs_50.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/148230?ContentTypeID=1</link><pubDate>Fri, 06 Jan 2012 00:36:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:da32df30-eba5-4e77-b47e-93b56830a95f</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
Thanks for the reply.&lt;/p&gt;

&lt;p&gt;
I changed the code asper your suggestion and checked, but still it
is giving the same error.&lt;/p&gt;

&lt;p&gt;
According to me, with the earlier code also the device was not
sending the inrport array repeatedly since the in_report_size
variable value will be &amp;#39;0&amp;#39;(zero) untill the USB_EVT_OUT gets the data
and loads it to the inreport array.&lt;/p&gt;

&lt;p&gt;
I think the problem is something else.&lt;/p&gt;

&lt;p&gt;
Please suggest.&lt;/p&gt;

&lt;p&gt;
regards&lt;br /&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/147757?ContentTypeID=1</link><pubDate>Thu, 05 Jan 2012 13:02:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:a5218e56-ae31-4f96-a56f-927bbae38d78</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
Seems (almost) fine. You&amp;#39;ve taken the code form this topic, and
modified a little.&lt;br /&gt;
&lt;a href="http://www.keil.com/forum/19729/"&gt;http://www.keil.com/forum/19729/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Did you modify USB_Core() task for USB_Configuration event,
too?&lt;/p&gt;

&lt;p&gt;
The original Keil RTX_HID continuously sends input report.&lt;br /&gt;
To start this sequential reports, it puts the first report at
USB_Configuration handler in USB_Core() task.&lt;br /&gt;
But your modification sends the input report just when an output
report completes, for loop back.&lt;br /&gt;
The first report in USB_Configuration event is deleted.&lt;/p&gt;

&lt;pre&gt;
&lt;b&gt;usbuser.c&lt;/b&gt;

U32 out_report_size = 0;
U32 in_report_size = 0;
U32 in_index = 0;
OS_SEM USB_IN_EP1_Semaphore;

__task void USB_Core (void) {
   ...
   ...

#if USB_CONFIGURE_EVENT
    if (evt &amp;amp; USB_EVT_SET_CFG) {
      if (USB_Configuration) {              /* Check if USB is configured */
                                     // &amp;lt;--- comment these two lines
//        GetInReport();
//        USB_WriteEP(HID_EP_IN, &amp;amp;InReport, sizeof(InReport));
                                     // &amp;lt;--- add these three lines
        out_report_size = 0;
        in_report_size = 0;
        in_index = 0;
        os_sem_init( USB_IN_EP1_Semaphore, 1 );
     }
    }
#endif
&lt;/pre&gt;

&lt;p&gt;
To speed up the response, set bInterval value on the endpoint
descriptors to 1 ms.&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/146796?ContentTypeID=1</link><pubDate>Thu, 05 Jan 2012 01:39:57 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ed232468-0066-4401-b02f-e52d8771ce8c</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
I am in the deadline crisis. Any help at the earliest possible
will be appreciated. Please suggest.&lt;/p&gt;

&lt;p&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/145238?ContentTypeID=1</link><pubDate>Tue, 03 Jan 2012 22:48:25 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:38f1e868-7b52-40e5-85f6-5fff7e737c4b</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi,&lt;/p&gt;

&lt;p&gt;
I have modified my code to receive or transmit more than 64 bytes
according to the suggestions posted in the forum. If I run the
SimpleHIDwrite on the PC it is detecting. SetReport and GetReport are
woring. When I click on the &amp;quot;Write&amp;quot;, it is showing error as &lt;b&gt;Access
Violation at address at 00000000. Read of address 00000000&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;
The size of the descriptor modified and the code modified is given
below. Please suggest.&lt;/p&gt;

&lt;pre&gt;
#define HID_INPUT_REPORT_BYTES       64              /* size of report in Bytes */
#define HID_OUTPUT_REPORT_BYTES      64              /* size of report in Bytes */
#define HID_FEATURE_REPORT_BYTES     64              /* size of report in Bytes */

const U8 HID_ReportDescriptor[] = {
  HID_UsagePageVendor( 0x00                     ),
  HID_Usage          ( 0x01                     ),
  HID_Collection     ( HID_Application          ),
    HID_LogicalMin   ( 0                        ),  /* value range: 0 - 0xFF */
    HID_LogicalMaxS  ( 0xFF                     ),
    HID_ReportSize   ( 8                        ),  /* 8 bits */
    HID_ReportCount  ( HID_INPUT_REPORT_BYTES   ),
    HID_Usage        ( 0x01                     ),
    HID_Input        ( HID_Data | HID_Variable | HID_Absolute ),
    HID_ReportCount  ( HID_OUTPUT_REPORT_BYTES  ),
    HID_Usage        ( 0x01                     ),
    HID_Output       ( HID_Data | HID_Variable | HID_Absolute ),
    HID_ReportCount  ( HID_FEATURE_REPORT_BYTES ),
    HID_Usage        ( 0x01                     ),
    HID_Feature      ( HID_Data | HID_Variable | HID_Absolute ),
  HID_EndCollection,
};

const U16 HID_ReportDescSize = sizeof(HID_ReportDescriptor);



#if (USB_EP_EVENT &amp;amp; (1 &amp;lt;&amp;lt; 1))
__task void USB_EndPoint1 (void) {
        U16 evt;
        static U32 out_report_size = 0;
        static U32 in_report_size = 0;
        static U32 in_index=0;
        U32 in_send_size=0;
        U32 i=0;


        for (;;)
        {
                os_evt_wait_or(0xFFFF, 0xFFFF);         /* Wait for an Event */
                evt = os_evt_get();                     /* Get Event Flags */

                if (evt &amp;amp; USB_EVT_IN)
                {
                        if ( in_report_size == 0 )
                        {                   // this interrupt is caused by the last packet?
                                os_sem_send( USB_IN_EP1_Semaphore );         // IN EP1 is free
                        }
                        else
                        {                                       // there remains bytes to be sent
                                in_send_size = HID_IN_EP_MAXPACKET_SIZE;     // pick up a packet size
                                if ( in_report_size &amp;lt; HID_IN_EP_MAXPACKET_SIZE )
                                {
                                        in_send_size = in_report_size;
                                }                                                                          //   pass it to the endpoint
                                USB_WriteEP( HID_EP_IN, &amp;amp;InReport[in_index], in_send_size );
                                in_report_size -= in_send_size;              // move counter and index by sent size
                                in_index       += in_send_size;
                }
                }
                if (evt &amp;amp; USB_EVT_OUT)
                {
                        out_report_size += USB_ReadEP( HID_EP_OUT, &amp;amp;OutReport[out_report_size] );

                    if(out_report_size == HID_OUTPUT_REPORT_BYTES)
                        {
                        os_sem_wait( USB_IN_EP1_Semaphore, 0xffff );// wait until IN EP is available

                        for(i=0;i&amp;lt;out_report_size;i++)
                                {
                                        InReport[i] = OutReport[i];
                                }
                                in_report_size = out_report_size;
                        in_index = 0;
                        out_report_size = 0;
                                                                  // force EP1 IN interrupt manually
                        LPC_USB-&amp;gt;USBEpIntSet = 1 &amp;lt;&amp;lt; EPAdr(HID_EP_IN);
                        }
                }
        }
}
#endif

&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/143085?ContentTypeID=1</link><pubDate>Tue, 27 Dec 2011 06:01:48 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b6a769d7-a439-4711-96fb-a476769100ee</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;/p&gt;

&lt;p&gt;
Thanks for the support.&lt;br /&gt;
I changed accordingly. It is working.&lt;/p&gt;

&lt;p&gt;
I will start chacking my application, if any problem I will get
back to you.&lt;/p&gt;

&lt;p&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/140136?ContentTypeID=1</link><pubDate>Mon, 26 Dec 2011 08:54:55 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4d248e19-43aa-46f7-a604-1db53418d56e</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; Again I entered 03 in the second box and clicked on write
the SimpleHIDWrite got struck&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
The firmware doesn&amp;#39;t read out the interrupt OUT endpoint. So,
SimpleHIDWrite got stuck.&lt;/p&gt;

&lt;p&gt;
In your USB_EndPoint1(), USB_ReadEP() should take HID_EP_OUT,
instead of HID_EP_IN&lt;/p&gt;

&lt;p&gt;
USB_ReadEP(&lt;b&gt;HID_EP_IN&lt;/b&gt;, &amp;amp;OutReport); // &amp;lt;----
USB_ReadEP(&lt;b&gt;HID_EP_OUT&lt;/b&gt;, &amp;amp;OutReport);&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/130923?ContentTypeID=1</link><pubDate>Mon, 26 Dec 2011 04:57:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2d8e090f-e001-4bfa-8cb2-7aacfee6c56c</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Tsuneo,&lt;br /&gt;
you are right. I had not selected any HID device.&lt;br /&gt;
Now I have selected &amp;quot;Keil MCB1700 HID&amp;quot;. I entered 00 for Report ID
box and 01 in the second box and clicked on write. &lt;b&gt;LED P1.28
glown&lt;/b&gt;. Again I entered 03 in the second box and clicked on write
the SimpleHIDWrite got struck and &lt;b&gt;no other LED glown&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;
please suggest.&lt;/p&gt;

&lt;p&gt;
Regards&lt;br /&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/127292?ContentTypeID=1</link><pubDate>Fri, 23 Dec 2011 07:22:33 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:486d35ce-2e11-4222-8a81-6161b5a317fe</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; I verified all the contents of the report descriptor
array, it is same as yours.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
I&amp;#39;m not sure what occurs here.&lt;br /&gt;
You clicked a HID device other than &amp;quot;Keil MCB1700 HID&amp;quot; on the top
list of SimpleHIDWrite dialog?&lt;br /&gt;
OR&lt;br /&gt;
Does your uVision work space point a different source file?&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/116643?ContentTypeID=1</link><pubDate>Fri, 23 Dec 2011 04:06:46 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0c76b36f-3122-454c-a0f6-fd8d2a0478b6</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thanks for the reply Tsuneo.&lt;/p&gt;

&lt;p&gt;
I checked. The usbdesc.c I am using is same v2.0. I verified all
the contents of the report descriptor array, it is same as yours.&lt;/p&gt;

&lt;p&gt;
Please suggest.&lt;/p&gt;

&lt;p&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/105593?ContentTypeID=1</link><pubDate>Fri, 23 Dec 2011 02:04:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:8e507045-ad23-492b-b646-c82e919cbb22</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;&amp;gt; Only the ReportID box is visible. Next box is not
there.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
Umm&lt;br /&gt;
The report descriptor of your RTX_HID seems different from mine.&lt;br /&gt;
Are we seeing different revision of the example?&lt;br /&gt;
On my side, Report Descriptor is defined as follows.&lt;/p&gt;

&lt;pre&gt;
C:\Keil\ARM\Boards\Keil\MCB1700\RL\USB\RTX_HID\usbdesc.c

/*----------------------------------------------------------------------------
 * U S B  -  K e r n e l
 *----------------------------------------------------------------------------
 * Name:    usbdesc.c
 * Purpose: USB Descriptors
 * Version: V1.20
 * Note(s): RTX Version
 *----------------------------------------------------------------------------
 * This file is part of the uVision/ARM development tools.
 * This software may only be used under the terms of a valid, current,
 * end user licence from KEIL for a compatible version of KEIL software
 * development tools. Nothing else gives you the right to use this software.
 *
 * This software is supplied &amp;quot;AS IS&amp;quot; without warranties of any kind.
 *
 * Copyright (c) 2009 Keil - An ARM Company. All rights reserved.
 *----------------------------------------------------------------------------
 * History:
 *          V1.20 Changed string descriptor handling
 *                Changed HID Report Descriptor
 *          V1.00 Initial Version
 *----------------------------------------------------------------------------*/

...

/*------------------------------------------------------------------------------
  HID Report Descriptor
 *------------------------------------------------------------------------------*/

/*   Bit    Input       Output
      0     Joystick     LED0
      1     Joystick     LED1
      2     Joystick     LED2
      3     Joystick     LED3
      4     Joystick     LED4
      5     ---          LED5
      6     ---          LED6
      7     ---          LED7
*/

#define HID_INPUT_REPORT_BYTES       1              /* size of report in Bytes */
#define HID_OUTPUT_REPORT_BYTES      1              /* size of report in Bytes */
#define HID_FEATURE_REPORT_BYTES     1              /* size of report in Bytes */

const U8 HID_ReportDescriptor[] = {
  HID_UsagePageVendor( 0x00                     ),
  HID_Usage          ( 0x01                     ),
  HID_Collection     ( HID_Application          ),
    HID_LogicalMin   ( 0                        ),  /* value range: 0 - 0xFF */
    HID_LogicalMaxS  ( 0xFF                     ),
    HID_ReportSize   ( 8                        ),  /* 8 bits */
    HID_ReportCount  ( HID_INPUT_REPORT_BYTES   ),
    HID_Usage        ( 0x01                     ),
    HID_Input        ( HID_Data | HID_Variable | HID_Absolute ),
    HID_ReportCount  ( HID_OUTPUT_REPORT_BYTES  ),
    HID_Usage        ( 0x01                     ),
    HID_Output       ( HID_Data | HID_Variable | HID_Absolute ),
    HID_ReportCount  ( HID_FEATURE_REPORT_BYTES ),
    HID_Usage        ( 0x01                     ),
    HID_Feature      ( HID_Data | HID_Variable | HID_Absolute ),
  HID_EndCollection,
};

const U16 HID_ReportDescSize = sizeof(HID_ReportDescriptor);
&lt;/pre&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/79863?ContentTypeID=1</link><pubDate>Thu, 22 Dec 2011 21:49:19 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4e6cd5d7-6b32-4ceb-8d47-a10f43b50948</guid><dc:creator>Lingaraju CH</dc:creator><description>&lt;p&gt;&lt;p&gt;
Thank you Tsuneo,&lt;/p&gt;

&lt;p&gt;
I tried with the SimpleHIDwrite. The device is getting
detecting.&lt;br /&gt;
Only the ReportID box is visible. Next box is not there.&lt;br /&gt;
If I enter 00 or any value in the ReportID box, the &lt;b&gt;write&lt;/b&gt;
button is not getting enabled.&lt;br /&gt;
Please suggest.&lt;/p&gt;

&lt;p&gt;
Lingaraju&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problem when EP1 is used for OUT EP in RTX HID program</title><link>https://community.arm.com/thread/60209?ContentTypeID=1</link><pubDate>Thu, 22 Dec 2011 09:52:09 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1dd46da7-e94a-4450-a214-eb1aabefab44</guid><dc:creator>Chinzei Tsuneo</dc:creator><description>&lt;p&gt;&lt;p&gt;
Your mods of the firmware seem fine, maybe, though it&amp;#39;s hard to
decipher your above code.&lt;br /&gt;
Sound like a problem of HID_Client (Windows application), rather than
the firmware.&lt;/p&gt;

&lt;p&gt;
To confirm it, run your device with SimpleHIDWrite.&lt;/p&gt;

&lt;p&gt;
SimpleHIDWrite (*1)&lt;br /&gt;
&lt;a href="http://www.lvr.com/files/SimpleHIDWrite3.zip"&gt;www.lvr.com/.../SimpleHIDWrite3.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Plug-in your device, and run SimpleHIDWrite.&lt;br /&gt;
Click &amp;quot;Keil MCB1700 HID&amp;quot; on the top list.&lt;br /&gt;
Type in&lt;br /&gt;
- Report ID box - 0&lt;br /&gt;
- next box - any number&lt;br /&gt;
Click &amp;quot;Write&amp;quot; button at the bottom&lt;/p&gt;

&lt;p&gt;
If you see LEDs on/off by the number you typed in, your device
working fine.&lt;/p&gt;

&lt;p&gt;
(*1) The original source code (Delphi) is included in&lt;br /&gt;
Human Interface Device controller suite&lt;br /&gt;
&lt;a target="_blank" href="http://www.soft-gems.net/index.php?option=com_content&amp;amp;task=view&amp;amp;id=14&amp;amp;Itemid=33"&gt;www.soft-gems.net/index.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Tsuneo&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>