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

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2011-01-31T01:46:17+02:00</updated>

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

		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-01-31T01:46:17+02:00</updated>

		<published>2011-01-31T01:46:17+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17441#p17441</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17441#p17441"/>
		<title type="html"><![CDATA[Re: Descriptors]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17441#p17441"><![CDATA[
Yea it's me, I'm glad you like my work<br /><br />Your understanding is correct. I suggest you take a look at another project that is very similar to your own. <!-- m --><a class="postlink" href="http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html">http://yveslebrac.blogspot.com/2008/10/ ... alaxy.html</a><!-- m --> , it sends data from two ADC channels, just like your project. Although the source code for that particular project might cause some confusion because it's actually pretending to be a gamepad.<p>Statistics: Posted by Guest — Mon Jan 31, 2011 1:46 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Quizzarex]]></name></author>
		<updated>2011-01-30T12:28:53+02:00</updated>

		<published>2011-01-30T12:28:53+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17431#p17431</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17431#p17431"/>
		<title type="html"><![CDATA[Re: Descriptors]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17431#p17431"><![CDATA[
Thank you for the reply, very much appreciated Frank.<br /><br />Are you the &quot;USnooBie&quot;-Frank? If so, great project you got going.<br /><br />I think I'm about to understand how it works, it's something like the request from the computer is handled by usbFunctionSetup, but the device itself just sends out reports by the interrupt-in endpoints?<br /><br />Greetings Kent<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=4860">Quizzarex</a> — Sun Jan 30, 2011 12:28 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2011-01-30T07:56:53+02:00</updated>

		<published>2011-01-30T07:56:53+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17430#p17430</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17430#p17430"/>
		<title type="html"><![CDATA[Re: Descriptors]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17430#p17430"><![CDATA[
err, your code isn't sending anything to the computer at all, that usually causes a &quot;device cannot start&quot; error.<br /><br />try implementing usbFunctionSetup completely, also sending out reports using the interrupt endpoint<br /><br />remember to change USB_CFG_HAVE_INTRIN_ENDPOINT<p>Statistics: Posted by Guest — Sun Jan 30, 2011 7:56 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Quizzarex]]></name></author>
		<updated>2011-01-30T01:03:06+02:00</updated>

		<published>2011-01-30T01:03:06+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17423#p17423</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17423#p17423"/>
		<title type="html"><![CDATA[Re: Descriptors]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17423#p17423"><![CDATA[
Hi again.<br /><br />Don't know if my question is way too noobish or just not clear enough.<br /><br />But the problem explained in a more straight-forward way.<br /><br /><strong class="text-strong">Why can't i get Windows to recognize my USB device?</strong><br /><br />I was wondering if it was my USB Report Descriptor which was failing, but I'm just not sure if it's the case.<br /><br />My USB Report Descriptor:<br /><div class="codebox"><p>Code: </p><pre><code>PROGMEM char usbHidReportDescriptor&#91;USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH&#93; = { /* USB report descriptor */<br />    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />    0x09, 0x36,                    // USAGE (Slider)<br />    0xa1, 0x00,                    // COLLECTION (Physical)<br />    0x05, 0x02,                    //   USAGE_PAGE (Simulation Controls)<br />    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)<br />    0x26, 0xff, 0x00,              //   LOGICAL_MAXIMUM (255)<br />    0x75, 0x08,                    //   REPORT_SIZE (8)<br />    0x95, 0x02,                    //   REPORT_COUNT (2)<br />    0x81, 0x02,                    //   INPUT (Data,Var,Abs)<br />    0xc0                           // END_COLLECTION<br />};<br /></code></pre></div><br /><br />To sum up the functionality of the device. It's going to measure temperature.<br /><br />To test the USB device we are applying a pot-meter on the ADC input-pin (PC0) to measure a voltage difference between PC0 and AREF (0 - 5V). The reason why we replace our temperature circuit with the pot-meter is just to keep the application simple while we work on the firmware and host software to retrieve the data from the ADC data register. But it seems that the firmware won't be recognized by Windows which, makes it impossible to even see the device in Device Manager in windows, and therefore we really can't get started on programming the host software.<br /><br />I am wondering if the problem with the device-firmware is because i havn't put anything in my usbFunctionSetup function, it simply just return 0.<br /><br />Here i a link to my main.c - <a href="http://dl.dropbox.com/u/11000332/HelloUSB/main.c" class="postlink">http://dl.dropbox.com/u/11000332/HelloUSB/main.c</a><br /><br />and my usbconfig.h - <a href="http://dl.dropbox.com/u/11000332/HelloUSB/usbconfig.h" class="postlink">http://dl.dropbox.com/u/11000332/HelloUSB/usbconfig.h</a><br /><br />I havn't been tampering too much with the config file yet, but im sure that the DPLUS and DMINUS is set to the correct pins on the ATmega88 and i have set the USB_CFG_INTERFACE_CLASS option to 3 to represent a HID.<br /><br />A link to the schematics of the board im using - <a href="http://robocard.dk/images/rc10_diagram.png" class="postlink">http://robocard.dk/images/rc10_diagram.png</a><br /><br />Just to make it clear, what I'm asking about&#058; <strong class="text-strong">Why can't i get Windows to recognize my USB device?</strong><br /><br />I'm kinda lost with this and really need a push in the right direction. It is much appreciated.<br /><br />Hope this info will help u, help  me.<br /><br />Greetings Kent<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=4860">Quizzarex</a> — Sun Jan 30, 2011 1:03 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Quizzarex]]></name></author>
		<updated>2011-01-29T13:27:21+02:00</updated>

		<published>2011-01-29T13:27:21+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17418#p17418</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17418#p17418"/>
		<title type="html"><![CDATA[Descriptors]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=5400&amp;p=17418#p17418"><![CDATA[
Hi all.<br /><br />Im having trouble setting up my descriptor for my ATmega88, as it seems that windows wont regonize the software i flash onto my chip.<br /><br />Background:<br /><br />Me and a mate have been fooling around with the ATmega88 for a while, and we are pretty much into registers, interrupts, adc etc. on this chip. It have been quite fun to play with it and then we decided to make a temperature gauge which we want to hook up with a PC and collect the data. The thing is that we have designed at circuit which will give an output to the PC0 connector on the chip, which will be converted in ADC and put in ADC data register (10-bit resolution), the plan is that we wanna send these raw data to the pc and let it do the work.<br /><br />The Problem:<br /><br />The problem is writing a descriptor that will be regonized by windows (probably other OS'es aswell). I have read USB in a Nutshell, been looking in HID Usage Table, read USnoobie's tourial on this matter, which btw was the most given compared to the Nutshell document. But it still seems i cant crasp the concept, i have been using a few days on this matter, looked in this forum and other sites on the internet. And now im like, I'll have to ask someone with expirience in this matter.<br /><br />The data structure is quite simple as we wanna send the raw data from the ADC data register to the PC, so im thinking it would look like this:<br /><br /><div class="codebox"><p>Code: </p><pre><code>typedef struct<br />{<br />    uchar adc_upper;     // 8-bit data<br />    uchar adc_lower;     // 8-bit data<br />} report_data;<br /></code></pre></div><br /><br />Furthermore i found that the device we wanna make is PID (Physical Interface Device) and the INPUT is Data, Variable, Absolute. Im not sure if i have to use logical min/max, but i would like to as its simple 0 - 255. I have tried using the HID Descriptor Tool, but this a jungle to make my own descriptors, I'm feeling kinda lost with this and I/we would appreciate some help if its possible to help with this matter.<br /><br />Greetings<br />- Kent<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=4860">Quizzarex</a> — Sat Jan 29, 2011 1:27 pm</p><hr />
]]></content>
	</entry>
	</feed>
