<?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/117" />

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2006-12-11T12:15:51+02:00</updated>

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

		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2006-12-11T12:15:51+02:00</updated>

		<published>2006-12-11T12:15:51+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=117&amp;p=364#p364</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=117&amp;p=364#p364"/>
		<title type="html"><![CDATA[How to send on Interrupt transfer more than 8 bytes ?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=117&amp;p=364#p364"><![CDATA[
I have not tested this approach, but I think it should work.<br /><br />Yes, this is rather dirty coding, but that's what I meant with &quot;The driver is not really prepared to handle interrupt-IN transfers of more than 7 bytes&quot;.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Mon Dec 11, 2006 12:15 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2006-12-09T14:18:05+02:00</updated>

		<published>2006-12-09T14:18:05+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=117&amp;p=350#p350</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=117&amp;p=350#p350"/>
		<title type="html"><![CDATA[How to send on Interrupt transfer more than 8 bytes ?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=117&amp;p=350#p350"><![CDATA[
<div class="codebox"><p>Code: </p><pre><code>void SendData&#40;void&#41;<br />&#123;<br />    while &#40;!usbInterruptIsReady&#40;&#41;&#41; <br />   &#123;<br />      wdReset&#40;&#41;; <br />      usbPoll&#40;&#41;;<br />   &#125;<br />    usbSetInterrupt&#40;BuildReport&#40;0&#41;, 8&#41;;<br /><br />    while &#40;!usbInterruptIsReady&#40;&#41;&#41; <br />   &#123;<br />      wdReset&#40;&#41;; <br />      usbPoll&#40;&#41;;<br />   &#125;<br />    usbSetInterrupt&#40;BuildReport&#40;8&#41;, 8&#41;;<br />    while &#40;!usbInterruptIsReady&#40;&#41;&#41; <br />   &#123;<br />      wdReset&#40;&#41;; <br />      usbPoll&#40;&#41;;<br />   &#125;<br />    usbSetInterrupt&#40;&amp;usbNullRep&#91;0&#93;, 0&#41;;<br />&#125;<br />where: <br />static uchar usbNullRep&#91;1&#93;; // = &#123;0&#125;<br />SendData&#40;&#41; is called from void main&#40;&#41; in the main while&#40;1&#41; &#123;...&#125; loop.<br /></code></pre></div><br /><br />Is that it what you was thinking about ?<br />(I know it's rather dirty approach to the problem... <img class="smilies" src="./../../../images/smilies/icon_smile.gif" alt=":)" title="Smile" /> )<p>Statistics: Posted by Guest — Sat Dec 09, 2006 2:18 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2006-12-09T12:26:44+02:00</updated>

		<published>2006-12-09T12:26:44+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=117&amp;p=349#p349</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=117&amp;p=349#p349"/>
		<title type="html"><![CDATA[How to send on Interrupt transfer more than 8 bytes ?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=117&amp;p=349#p349"><![CDATA[
Thanks for your reply!<br />That's the information I was looking for.<br /><br />Greetz.<p>Statistics: Posted by Guest — Sat Dec 09, 2006 12:26 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2006-12-07T11:50:59+02:00</updated>

		<published>2006-12-07T11:50:59+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=117&amp;p=330#p330</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=117&amp;p=330#p330"/>
		<title type="html"><![CDATA[How to send on Interrupt transfer more than 8 bytes ?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=117&amp;p=330#p330"><![CDATA[
The driver is not really prepared to handle interrupt-IN transfers of more than 7 bytes (one USB transaction indicating End Of Transfer). Larger (interrupt-) transfers are built from multiple transactions.<br /><br />You should be able to simulate a 16 byte interrupt transfer with the following procedure:<br /><ul><li>Pass the first 8 bytes with usbSetInterrupt().</li><li>Wait until they are transferred with usbInterruptIsReady().</li><li>Pass the next 8 bytes with usbSetInterrupt().</li><li>Wait until the transaction is complete with usbInterruptIsReady().</li><li>Call usbSetInterrupt() with 0 bytes to indicate the end of transfer.</li></ul><br />If your payload is only 15 bytes, you save the last 0 byte transaction. The end of transfer is indicated by a transaction with less than 8 bytes.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Thu Dec 07, 2006 11:50 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2006-12-06T23:14:41+02:00</updated>

		<published>2006-12-06T23:14:41+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=117&amp;p=324#p324</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=117&amp;p=324#p324"/>
		<title type="html"><![CDATA[How to send on Interrupt transfer more than 8 bytes ?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=117&amp;p=324#p324"><![CDATA[
How to handle with interrupt request within usbFunctionSetup ? (or it is impossible)<p>Statistics: Posted by Guest — Wed Dec 06, 2006 11:14 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2006-12-06T20:48:47+02:00</updated>

		<published>2006-12-06T20:48:47+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=117&amp;p=322#p322</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=117&amp;p=322#p322"/>
		<title type="html"><![CDATA[How to send on Interrupt transfer more than 8 bytes ?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=117&amp;p=322#p322"><![CDATA[
Hello all,<br /><br />First of all - congratulations for great project (avr-usb)! <br />I've got one question : <br />How to send on interrupt transfer (IN) more then 8 bytes ?<br />Function usbSetInterrupt accepts only 8 bytes, but I need to send 16 bytes simultaneously on one IN endpoint poll.<br />I need this, because of my HID descriptor - full datagram fits 16 bytes.<br /><br />It is possible to send 0 bytes at the interrupt and call somehow usbFunctionRead ?<br /><br />I've migrated my project from PIC usb capable devices, where it was possible to set 16 byte payload for IN-interrupt-endpoint (low-speed device), and the device-usb-driver sends that buffer succesfully on each interrupt.<p>Statistics: Posted by Guest — Wed Dec 06, 2006 8:48 pm</p><hr />
]]></content>
	</entry>
	</feed>
