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

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2008-11-15T03:53:54+02:00</updated>

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

		<entry>
		<author><name><![CDATA[Alloc]]></name></author>
		<updated>2008-11-15T03:53:54+02:00</updated>

		<published>2008-11-15T03:53:54+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6671#p6671</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6671#p6671"/>
		<title type="html"><![CDATA[Advantages of Interrupt-In vs polling via Control-Transfers?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6671#p6671"><![CDATA[
Thanks =)<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=851">Alloc</a> — Sat Nov 15, 2008 3:53 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2008-11-14T12:43:49+02:00</updated>

		<published>2008-11-14T12:43:49+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6661#p6661</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6661#p6661"/>
		<title type="html"><![CDATA[Advantages of Interrupt-In vs polling via Control-Transfers?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6661#p6661"><![CDATA[
I don't know. At least for bulk endpoints, it's done by the controller hardware. The polling is so fast that it would block the CPU otherwise. Interrupt endpoints might be implemented in the kernel driver's timer interrupt. This is still VERY efficient, compared to polling from user space.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Fri Nov 14, 2008 12:43 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alloc]]></name></author>
		<updated>2008-11-14T01:04:22+02:00</updated>

		<published>2008-11-14T01:04:22+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6659#p6659</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6659#p6659"/>
		<title type="html"><![CDATA[Advantages of Interrupt-In vs polling via Control-Transfers?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6659#p6659"><![CDATA[
Thanks christian, that explains why it's there at all <img class="smilies" src="./../../../images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /><br />But because of USB's single-master architecture &quot;someone&quot; still has to do the polling... Is that done by the host-controller or does the OS have to do this (which in turn would basically mean it's using some CPU-time, just better organized?)?<br /><br />Regards,<br />Chris<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=851">Alloc</a> — Fri Nov 14, 2008 1:04 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[christian]]></name></author>
		<updated>2008-11-12T15:44:51+02:00</updated>

		<published>2008-11-12T15:44:51+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6649#p6649</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6649#p6649"/>
		<title type="html"><![CDATA[Advantages of Interrupt-In vs polling via Control-Transfers?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6649#p6649"><![CDATA[
The interrupt-in blocks until the device sends interrupt data. This is an advantage for the host side software because no CPU time is used for polling.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=8">christian</a> — Wed Nov 12, 2008 3:44 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Alloc]]></name></author>
		<updated>2008-11-09T15:29:46+02:00</updated>

		<published>2008-11-09T15:29:46+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6628#p6628</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6628#p6628"/>
		<title type="html"><![CDATA[Advantages of Interrupt-In vs polling via Control-Transfers?]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=1880&amp;p=6628#p6628"><![CDATA[
Hi,<br /><br />I'm currently looking at the RemoteSensor example because I want to create a device which should send data to the host &quot;itself&quot;.<br />I'm wondering where the advantages of an Interrupt-In are compared to simply polling the device through Control-Transfers.<br /><br />Looking at the host-code in the example:<br /><div class="codebox"><p>Code: </p><pre><code>        /* wait for interrupt, set timeout to more than a week */<br />        nBytes = usb_interrupt_read&#40;handle, USB_ENDPOINT_IN | 1 , &#40;char *&#41;buffer, sizeof&#40;buffer&#41;, 700000 * 1000&#41;;<br />        if&#40;nBytes &lt; 0&#41;&#123;<br />            logPrintf&#40;&quot;error in USB interrupt read: %s\n&quot;, usb_strerror&#40;&#41;&#41;;<br />            goto usbErrorOccurred;<br />        &#125;</code></pre></div><br />Couldn't I simply use a controltransfer instead of usb_interrupt_read and get the same result?<br /><br />Regards,<br />Chris<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=851">Alloc</a> — Sun Nov 09, 2008 3:29 pm</p><hr />
]]></content>
	</entry>
	</feed>
