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

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2013-07-22T09:46:04+02:00</updated>

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

		<entry>
		<author><name><![CDATA[horo]]></name></author>
		<updated>2013-07-22T09:46:04+02:00</updated>

		<published>2013-07-22T09:46:04+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8333&amp;p=25612#p25612</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8333&amp;p=25612#p25612"/>
		<title type="html"><![CDATA[Re: HID Faster Transfer Rate]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8333&amp;p=25612#p25612"><![CDATA[
Hi,<br /><br />Some time ago I checked the USB polling rate depending on device descriptor parameters (for MIDI device): <a href="http://forums.obdev.at/viewtopic.php?f=8&amp;t=1352&amp;start=15#p9104" class="postlink">http://forums.obdev.at/viewtopic.php?f=8&amp;t=1352&amp;start=15#p9104</a><br /><br />Ciao, Martin<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=891">horo</a> — Mon Jul 22, 2013 9:46 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2013-06-25T15:43:20+02:00</updated>

		<published>2013-06-25T15:43:20+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8333&amp;p=25489#p25489</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8333&amp;p=25489#p25489"/>
		<title type="html"><![CDATA[Re: HID Faster Transfer Rate]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8333&amp;p=25489#p25489"><![CDATA[
I'm after the same thing<br /><!-- l --><a class="postlink-local" href="http://forums.obdev.at/viewtopic.php?f=8&amp;t=8493">viewtopic.php?f=8&amp;t=8493</a><!-- l --><br /><br />From the SO page I think he is claiming that he stole more bandwidth from one of the pipes. I will look in to that but I dont think its possible with v-usb.<br /><br />I think his reference to set_report is just setting the report type like so:<br />    7,          /* sizeof(usbDescrEndpoint) */ <br />    USBDESCR_ENDPOINT,  /* descriptor type = endpoint */<br />    //0x81,       /* IN endpoint number 1 */<br />0x81,       // bulk IN endpoint number 1 <br />    0x03,       /* attrib: Interrupt endpoint */<br />    8, 0,       /* maximum packet size */ <br />    0x08, /* in ms */<br />I dont think v-usb has a special function above that. Maybe its possible to take from the  default report and give to the second or take from an output and give to an input I'm just not cretin on that. I'm not sure how one would edit the default report to be honest?<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Tue Jun 25, 2013 3:43 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[12oclocker]]></name></author>
		<updated>2013-03-08T00:32:01+02:00</updated>

		<published>2013-03-08T00:32:01+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=8333&amp;p=24891#p24891</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=8333&amp;p=24891#p24891"/>
		<title type="html"><![CDATA[HID Faster Transfer Rate]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=8333&amp;p=24891#p24891"><![CDATA[
I read something here about using SET_REPORT to increase transfer speed, <br /><a href="http://stackoverflow.com/questions/8773703/faster-usb-hid-output" class="postlink">http://stackoverflow.com/questions/8773703/faster-usb-hid-output</a><br />but I don't understand how they are achieving that...<br /><br />I read somewhere low speed USB was limited to 8bytes for interrupt transfers, at a per 10ms polling interval, that is pretty slow,<br />I'd like to send chunks of 32 or 64 bytes to the AVR over HID, and have the AVR respond with 8 bytes.<br />Using HID without drivers is important to me, so I definitely want to stick with HID methods.<br />but how would I modify my headers to gain the increase this person was talking about?<br /><br />Currently I am using these headers....<br /><div class="codebox"><p>Code: </p><pre><code>PROGMEM const char usbDescriptorHidReport&#91;34&#93; = <br />{   <br />   //&#91;Endpoint 0&#93; <br />   0x06, 0xa0, 0xff, // USAGE_PAGE (Vendor Defined Page 1)<br />   0x09, 0x01,       // USAGE (Vendor Usage 1)<br />   0xa1, 0x01,       // COLLECTION (Application)<br /><br />   //&#91;Endpoint 1&#93; Interrupt-In (used to send data to the host spontaneously)<br />   // Input Report (Host PC sends us data)<br />   0x09, 0x02,       // Usage ID - vendor defined usage2<br />   0x15, 0x00,       // Logical Minimum (0)<br />   0x26, 0xFF, 0x00, // Logical Maximum (255)<br />   0x75, 0x08,       // Report Size (8 bits)<br />   0x95, 0x08,       // Report Count (8 fields)<br />   0x81, 0x02,       // Input (Data, Variable, Absolute)<br /><br />   //&#91;Endpoint 2&#93; Interrupt-Out (PC is sending US data)<br />   // Output Report (We send data to PC) <br />   0x09, 0x03,       // Usage ID - vendor defined usage3<br />   0x15, 0x00,       // Logical Minimum (0)<br />   0x26, 0xFF, 0x00, // Logical Maximum (255)<br />   0x75, 0x08,       // Report Size (8 bits)<br />   0x95, 0x08,         // Report Count (8 fields) //change to 32?<br />   0x91, 0x02,       // Output (Data, Variable, Absolute)<br /><br />   0xc0              // END_COLLECTION<br />};<br /><br />//to do this you must set USB_CFG_DESCR_PROPS_CONFIGURATION in usbconfig.h<br />#define W(x) (x)&amp;0xFF,(x)&gt;&gt;8<br />#define USB_CFG_RESERVED          0x80<br />#define USB_CFG_SELFPOWERED       0x40 //remove this for BusPowered devices<br />PROGMEM const char usbDescriptorConfiguration&#91;41&#93; = <br />{<br />//Config<br />   9,      //bLength<br />   2,      //bDescriptorType   2=CONFIG<br />   W(41),   //wTotalLength   <br />   1,      //bNumInterfaces   <br />   1,      //bConfigurationValue <br />   0,      //ConfigurationStrIndex<br />   (USB_CFG_RESERVED | USB_CFG_SELFPOWERED), //ConfigAttributes<br />   100/2,   //MaxPower (in 2 Milliampere)   100 mA<br />//HID_Interface<br />   9,      //bLength<br />   4,      //bDescriptorType   4=INTERFACE<br />   0,      //bInterfaceNumber<br />   0,      //bAlternateSetting<br />   2,      //bTotalEndpoints<br />   0x03,   //bInterfaceClass      HID_CSCP_HIDClass<br />   0x00,   //bInterfaceSubClass   HID_CSCP_NonBootSubclass<br />   0x00,   //bInterfaceProtocol   HID_CSCP_NonBootProtocol<br />   0,      //InterfaceStrIndex      0=NONE<br />//HID_GenericHID<br />   9,      //bLength<br />   0x21,   //bDescriptorType HID<br />   1,1,   //BCD representation of HID version<br />   0,      //target country code<br />   1,      //number of HID Report Descriptor infos to follow<br />   0x22,   //descriptor type: report<br />   W(34),   //total length of report descriptor<br />//HID_ReportIN_Endpoint<br />   7,      //Length<br />   0x05,   //bDescriptorType ENDPOINT<br />   0x81,   //bEndpointAddress   ENDPOINT_DIR_IN=0x80+1<br />   0x03,   //bmAttributes      INTERRUPT   //0x03|(0&lt;&lt;2)|(0&lt;&lt;4)<br />   W(8),   //wMaxPacketSize<br />   10,      //Polling Interval in ms (cannot be less than 10)<br />//HID_ReportOUT_Endpoint<br />   7,      //Length<br />   0x05,   //bDescriptorType ENDPOINT<br />   0x02,   //bEndpointAddress   ENDPOINT_DIR_IN=0x00+2<br />   0x03,   //bmAttributes      INTERRUPT   //0x03|(0&lt;&lt;2)|(0&lt;&lt;4)<br />   W(8),   //wMaxPacketSize<br />   10,      //Polling Interval in ms (cannot be less than 10)<br />};<br /></code></pre></div><p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=19538">12oclocker</a> — Fri Mar 08, 2013 12:32 am</p><hr />
]]></content>
	</entry>
	</feed>
