<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="https://forums.obdev.at/app.php/feed/topic/19" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2008-12-29T21:24:38+02:00</updated>

	<author><name><![CDATA[Objective Development Forums]]></name></author>
	<id>https://forums.obdev.at/app.php/feed/topic/19</id>

		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2008-12-29T21:24:38+02:00</updated>

		<published>2008-12-29T21:24:38+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=7293#p7293</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=7293#p7293"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=7293#p7293"><![CDATA[
Adding to my comment from a year ago: An option for 16 bit message size has been added in one of the recent releases. This was necessary to allow descriptors above 254 bytes. You can now experiment with bigger messages sizes, if you like.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Mon Dec 29, 2008 9:24 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[roger]]></name></author>
		<updated>2008-12-29T20:40:34+02:00</updated>

		<published>2008-12-29T20:40:34+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=7292#p7292</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=7292#p7292"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=7292#p7292"><![CDATA[
I'm able to get at least 7230 bytes/s (tested with pyUSB) using usbFunctionRead() and sending 254 bytes at a time.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1617">roger</a> — Mon Dec 29, 2008 8:40 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2007-12-17T14:11:42+02:00</updated>

		<published>2007-12-17T14:11:42+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3534#p3534</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3534#p3534"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3534#p3534"><![CDATA[
This limit is not in the USB spec and it would be possible to extend AVR-USB for bigger message sizes. However, since this requires 16 bit arithmetics, it would bloat the driver size. Another #ifdef would make it harder to maintain.<br /><br />We have done some transfer speed measurements and found that increasing the message size even further does not improve speed, at least not considerably. A good reason for a 16 bit size would be a USB descriptor (e.g. HID) bigger than 254 bytes, but that was not a problem so far.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Mon Dec 17, 2007 2:11 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2007-12-17T13:32:54+02:00</updated>

		<published>2007-12-17T13:32:54+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3533#p3533</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3533#p3533"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3533#p3533"><![CDATA[
<blockquote><div><cite>christian wrote:</cite>When you increase the transfer size, please note that the driver has a limit at 254 bytes.</div></blockquote><br /><br />My question is: would it be theoretically possible to extend the driver for bigger sizes or is this a limit of the USB specs?<p>Statistics: Posted by Guest — Mon Dec 17, 2007 1:32 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2007-12-14T22:41:57+02:00</updated>

		<published>2007-12-14T22:41:57+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3509#p3509</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3509#p3509"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3509#p3509"><![CDATA[
thanks a lot for your support<p>Statistics: Posted by Guest — Fri Dec 14, 2007 10:41 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2007-12-14T22:15:20+02:00</updated>

		<published>2007-12-14T22:15:20+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3508#p3508</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3508#p3508"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3508#p3508"><![CDATA[
Since your function name is sendUSBVendorCmdIn(), I guess you transfer 100 bytes from the device to the host. In and Out are defined from the host's point of view.<br /><br />But you are right, this should transfer 100 bytes unless an error occurs. A possible error would be that the host and the device don't agree on the transfer size.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Fri Dec 14, 2007 10:15 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2007-12-14T22:13:02+02:00</updated>

		<published>2007-12-14T22:13:02+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3507#p3507</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3507#p3507"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3507#p3507"><![CDATA[
so if i send to the controller<br /><div class="codebox"><p>Code: </p><pre><code>if &#40;&#40;result = sendUSBVendorCmdIn&#40; avr_speed, 0, 0, iodata, 100&#41;&#41; &lt; 0&#41; <br /> &#123;<br />             printf&#40;&quot;Fehler!\r\n&quot;&#41;;<br />             return -1;<br /> &#125;</code></pre></div><br /><br />with<br /><div class="codebox"><p>Code: </p><pre><code>unsigned char iodata&#91;100&#93;;</code></pre></div><br />i transfer 100 byte? or is this wrong?<p>Statistics: Posted by Guest — Fri Dec 14, 2007 10:13 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2007-12-14T22:02:19+02:00</updated>

		<published>2007-12-14T22:02:19+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3506#p3506</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3506#p3506"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3506#p3506"><![CDATA[
If your sendUSBVendorCmdIn() is defined analogous to sendUSBVendorCmdOut(), you receive one byte in the first case and two in the second. Please note that you actually transfer many more bytes, that's the overhead of control transfers.<br /><br />For efficient transfers, send or receive at least 100 bytes (if possible) in each call to usb_control_msg().<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Fri Dec 14, 2007 10:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2007-12-14T21:57:43+02:00</updated>

		<published>2007-12-14T21:57:43+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3505#p3505</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3505#p3505"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3505#p3505"><![CDATA[
sorry, but i have one more question:<br />how many bytes i transfer with:<br /><div class="codebox"><p>Code: </p><pre><code>unsigned char iodata&#91;8&#93;;<br />if &#40;&#40;result = sendUSBVendorCmdIn&#40; avr_speed, 0, 0, iodata, 1&#41;&#41; &lt; 0&#41; <br /> &#123;<br />             printf&#40;&quot;Fehler!\r\n&quot;&#41;;<br />             return -1;<br /> &#125;<br /></code></pre></div><br /><br />and how many bytes with:<br /><div class="codebox"><p>Code: </p><pre><code>unsigned char iodata&#91;8&#93;;<br />if &#40;&#40;result = sendUSBVendorCmdIn&#40; avr_speed, 0, 0, iodata, 2&#41;&#41; &lt; 0&#41; <br /> &#123;<br />             printf&#40;&quot;Fehler!\r\n&quot;&#41;;<br />             return -1;<br /> &#125;<br /></code></pre></div><br /><br />my initialisation for result is:<br /><div class="codebox"><p>Code: </p><pre><code>int sendUSBVendorCmdOut&#40;int request, int value, int index, void *replydata, int len&#41;<br />&#123;<br />   int result;<br /><br />   result = usb_control_msg&#40;usbIODevice,                                           // USB Device Pointer<br />                             USB_ENDPOINT_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,  // USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER<br />                             request,                                              // request see USB documentation<br />                             value,                                                 // value see USB documentation<br />                             index,                                                 // index see USB documentation<br />                             replydata,                                             // buffer for the replay data<br />                             len,                                                   // len of the replay buffer<br />                             1000&#41;;                                                 // timeout in ms<br />   return result;<br />&#125;<br /></code></pre></div><p>Statistics: Posted by Guest — Fri Dec 14, 2007 9:57 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2007-12-14T19:54:00+02:00</updated>

		<published>2007-12-14T19:54:00+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=19&amp;p=3496#p3496</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3496#p3496"/>
		<title type="html"><![CDATA[How fast is Software-USB]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=19&amp;p=3496#p3496"><![CDATA[
thank you<p>Statistics: Posted by Guest — Fri Dec 14, 2007 7:54 pm</p><hr />
]]></content>
	</entry>
	</feed>
