Hi Charles,<br><br>Thanks for the clarification, that now makes a little more sense to me.<br>I tried the output path suggested but even though it reported sent ok nothing happened.<br><br>I&#39;ve been tinkering some more and thought I&#39;d give the interrupt write another go and it&#39;s now working :)<br>
I think I must have had the packet length wrong the first time I tried it as I&#39;ve haven&#39;t really altered much else!<br><br>Thanks very much for your assistance in getting this going.. I&#39;m so pleased I finally got there ! :)<br>
<br>Kind Regards<br>Neil<br><br><div class="gmail_quote">On Tue, Sep 1, 2009 at 11:43 PM, Charles Lepple <span dir="ltr">&lt;clepple@ghz.cc&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><br><div><div><div></div><div class="h5"><div>On Sep 1, 2009, at 12:47 PM, Neil Sutton wrote:</div><br><blockquote type="cite"><br><br> <div class="gmail_quote">On Tue, Sep 1, 2009 at 12:33 PM, Charles Lepple <span dir="ltr">&lt;<a href="mailto:clepple@ghz.cc" target="_blank">clepple@ghz.cc</a>&gt;</span> wrote:<br>
 <blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;" class="gmail_quote"> <div style=""> <div> <div> </div></div> <div>I would assume that if the argument to Convert.ToByte() is an integer less than 255, then the C equivalent would be that same integer. I think you would only use 0x35 if you were passing a string &quot;5&quot; to Convert.ToByte(). Someone who actually knows .NET can feel free to correct me, though.</div>
 </div></blockquote></div> <div> </div> <div><font color="#3333ff">I think you&#39;re right Charles, I went back to the working example from LVR and stepped through everything. If I send Hex 0x05 to the device using an Output report it works under windows.. so my data needs to be a single byte of 0x05.</font></div>
 <div><font color="#3333ff">Also if I echo back the result of Convert.ToByte(5) it is indeed 5..</font></div> <div><font color="#3333ff"></font> </div> <div><font color="#3333ff">Could you advise on how the output usage path is calculated from my lsusb -vv output ? (<a href="http://pastebin.com/m48287552" target="_blank">http://pastebin.com/m48287552</a>)</font></div>
 <div><font color="#3333ff">I am going to try and get things working using output reports instead of interrupt_write because I know this works under Windows, but even after reading the example text I don&#39;t know how to calculate the PATH_IN / PATH_OUT values.</font></div>
 <div><font color="#3333ff">I think if I can get those right then my problems will be solved.</font></div> <div><font color="#3333ff"></font> </div></blockquote></div></div>Your original code pastebin expired, but I think you were close.</div>
<div><br></div><div><div style="margin: 0px;"><b>            Item(Global): Usage Page, data= [ 0xa0 0xff ] 65440</b></div><div style="margin: 0px;"><b>            Item(Local ): Usage, data= [ 0x01 ] 1</b></div><div style="margin: 0px;">
            Item(Main  ): Collection, data= [ 0x01 ] 1</div><div style="margin: 0px;"><b>            Item(Local ): Usage, data= [ 0x03 ] 3</b></div><div style="margin: 0px;">            Item(Global): Logical Minimum, data= [ 0x00 ] 0</div>
<div style="margin: 0px;">            Item(Global): Logical Maximum, data= [ 0x00 0xff ] 65280</div><div style="margin: 0px;">            Item(Global): Report Size, data= [ 0x08 ] 8</div><div style="margin: 0px;">            Item(Global): Report Count, data= [ 0x01 ] 1</div>
<div style="margin: 0px;"><span style="font-size: medium;">[...]</span></div><div style="margin: 0px;"><span style="font-size: medium;"><div style="margin: 0px;">            Item(Main  ): Output, data= [ 0x02 ] 2</div><div style="margin: 0px;">
                            Data Variable Absolute No_Wrap Linear</div><div style="margin: 0px;">                            Preferred_State No_Null_Position Non_Volatile Bitfield</div><div style="margin: 0px;"><span style="font-weight: bold;">            Item(Local ): Usage, data= [ 0x05 ] 5</span></div>
<div style="margin: 0px;"><br></div></span></div><div style="margin: 0px;"><span style="font-size: medium;">The &quot;usage page&quot; part is the upper 16 bits of each entry in the &quot;path&quot;. If there are no other Usage Pages listed, then that part (0xffa0) doesn&#39;t change.</span></div>
<div style="margin: 0px;"><span style="font-size: medium;"><br></span></div><div style="margin: 0px;"><span style="font-size: medium;">The bold items above are what you need.</span></div><div style="margin: 0px;"><span style="font-size: medium;"><br>
</span></div><div style="margin: 0px;"><span style="font-size: medium;">I think the path should be &quot;0xffa00001, 0xffa00003, 0xffa00005&quot;. I forget if the HID parser drops the very first usage (since it is outside a collection).</span></div>
</div></div></blockquote></div><br>