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

	<title>Objective Development Forums</title>
	
	<link href="https://forums.obdev.at/index.php" />
	<updated>2009-06-11T22:03:22+02:00</updated>

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

		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2009-06-11T22:03:22+02:00</updated>

		<published>2009-06-11T22:03:22+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9755#p9755</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9755#p9755"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9755#p9755"><![CDATA[
hmm cant help you there, I dont retain that sort of info <img class="smilies" src="./../../../images/smilies/icon_wink.gif" alt=";)" title="Wink" /> christian was the one that pointed my to it. I remember it was not hosted where it should be and he linked me, PM him.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Thu Jun 11, 2009 10:03 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[goeck]]></name></author>
		<updated>2009-06-10T13:02:14+02:00</updated>

		<published>2009-06-10T13:02:14+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9738#p9738</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9738#p9738"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9738#p9738"><![CDATA[
Hm..can't find exactly what you mentioned. Where can I get it?<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=2337">goeck</a> — Wed Jun 10, 2009 1:02 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2009-06-10T01:19:35+02:00</updated>

		<published>2009-06-10T01:19:35+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9734#p9734</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9734#p9734"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9734#p9734"><![CDATA[
I used a 1.5k but the 2 should work.. I also have a 68 on d- as well as d+  I have seen some strange voltages myself but as mush as I though that would be an issue it never was. Did you try the usbavr-driver-and-examples . This is how I fix my problem. I download them and made the code / fuse / and diod changes. Once that worked I start to eliminate until I found it was a bad driver file.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Wed Jun 10, 2009 1:19 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[goeck]]></name></author>
		<updated>2009-06-09T13:55:31+02:00</updated>

		<published>2009-06-09T13:55:31+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9726#p9726</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9726#p9726"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9726#p9726"><![CDATA[
Hey, thanks for the post. That were my impressions too...only the circuit could be wrong...anyways.<br />I put in 3v6 zeners bzx85-3v6. It does'nt work. The scope tells me on D+ I have a DC-part of exactly 2V...That seems very wrong to me. I jused 68R on D- and D+ and 2k2 Ohms linking D- and V_Bus.  <img class="smilies" src="./../../../images/smilies/icon_question.gif" alt=":?:" title="Question" /><br /><br /><a href="http://www.imgbox.de/?img=k7743d7.gif" class="postlink"><img src="http://www.imgbox.de/users/public/thumbnails/k7743d7_t.gif" class="postimage" alt="Image" /></a><br />I have to say that I did'nt use 1k5, but 2k2 Ohms, as I already wrote above.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=2337">goeck</a> — Tue Jun 09, 2009 1:55 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2009-06-09T03:53:17+02:00</updated>

		<published>2009-06-09T03:53:17+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9717#p9717</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9717#p9717"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9717#p9717"><![CDATA[
<blockquote class="uncited"><div>My circuit is the original circuit from the HIDKeys project. I also tried the circuit used by the usbasp project (with 3v6 and 3v3 zehners). Both did'nt work for me.</div></blockquote> - Start here, the 1/2 will not work. You will need 1 what diodes. Fuses are good, and code looks ok.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Tue Jun 09, 2009 3:53 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[goeck]]></name></author>
		<updated>2009-06-08T15:56:47+02:00</updated>

		<published>2009-06-08T15:56:47+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9704#p9704</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9704#p9704"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9704#p9704"><![CDATA[
Oh hey, someone there <img class="smilies" src="./../../../images/smilies/icon_smile.gif" alt=":-)" title="Smile" /><br /><br />Ok, there u go, here is my code:<br /><div class="codebox"><p>Code: </p><pre><code>/* Name: main.c<br /> * Project: HID-Test<br /> * Author: Christian Starkjohann<br /> * Creation Date: 2006-02-02<br /> * Tabsize: 4<br /> * Copyright: (c) 2006 by OBJECTIVE DEVELOPMENT Software GmbH<br /> * License: GNU GPL v2 (see License.txt) or proprietary (CommercialLicense.txt)<br /> * This Revision: $Id: main.c 299 2007-03-29 17:07:19Z cs $<br /> */<br /><br />#define F_CPU   12000000L    /* evaluation board runs on 4MHz */<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt; <br />#include &lt;avr/wdt.h&gt;<br /><br />#include &quot;usbdrv.h&quot;<br />#include &quot;oddebug.h&quot;<br /><br />/* ----------------------- hardware I/O abstraction ------------------------ */<br /><br />/* pin assignments:<br />PB0   Key 1<br />PB1   Key 2<br />PB2   Key 3<br />PB3   Key 4<br />PB4   Key 5<br />PB5 Key 6<br /><br />PC0   Key 7<br />PC1   Key 8<br />PC2   Key 9<br />PC3   Key 10<br />PC4   Key 11<br />PC5   Key 12<br /><br />PD0   USB-<br />PD1   debug tx<br />PD2   USB+ (int0)<br />PD3   Key 13<br />PD4   Key 14<br />PD5   Key 15<br />PD6   Key 16<br />PD7   Key 17<br />*/<br /><br />static void hardwareInit(void)<br />{<br />uchar   i, j;<br /><br />    PORTB = 0xff;   /* activate all pull-ups */<br />    DDRB = 0xff;       /* all pins input */<br />    PORTC = 0xff;   /* activate all pull-ups */<br />    DDRC = 0;       /* all pins input */<br />    PORTD = 0xfa;   /* 1111 1010 bin: activate pull-ups except on USB lines */<br />    DDRD = 0x07;    /* 0000 0111 bin: all pins input except USB (-&gt; USB reset) */<br />   j = 0;<br />   while(--j){     /* USB Reset by device only required on Watchdog Reset */<br />      i = 0;<br />      while(--i); /* delay &gt;10ms for USB reset */<br />   }<br />    DDRD = 0x02;    /* 0000 0010 bin: remove USB reset condition */<br />    /* configure timer 0 for a rate of 12M/(1024 * 256) = 45.78 Hz (~22ms) */<br />    TCCR0B = 5;      /* timer 0 prescaler: 1024 */<br />}<br /><br /><br />/* ------------------------------------------------------------------------- */<br /><br />#define NUM_KEYS    17<br /><br />/* The following function returns an index for the first key pressed. It<br /> * returns 0 if no key is pressed.<br /> */<br />static uchar    keyPressed(void)<br />{<br />uchar   i, mask, x;<br /><br />    x = PINB;<br />    mask = 1;<br />    for(i=0;i&lt;6;i++){<br />        if((x &amp; mask) == 0)<br />            return i + 1;<br />        mask &lt;&lt;= 1;<br />    }<br />    x = PINC;<br />    mask = 1;<br />    for(i=0;i&lt;6;i++){<br />        if((x &amp; mask) == 0)<br />            return i + 7;<br />        mask &lt;&lt;= 1;<br />    }<br />    x = PIND;<br />    mask = 1 &lt;&lt; 3;<br />    for(i=0;i&lt;5;i++){<br />        if((x &amp; mask) == 0)<br />            return i + 13;<br />        mask &lt;&lt;= 1;<br />    }<br />    return 0;<br />}<br /><br />/* ------------------------------------------------------------------------- */<br />/* ----------------------------- USB interface ----------------------------- */<br />/* ------------------------------------------------------------------------- */<br /><br />static uchar    reportBuffer&#91;2&#93;;    /* buffer for HID reports */<br />static uchar    idleRate;           /* in 4 ms units */<br /><br />PROGMEM char usbHidReportDescriptor&#91;35&#93; = { /* USB report descriptor */<br />    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)<br />    0x09, 0x06,                    // USAGE (Keyboard)<br />    0xa1, 0x01,                    // COLLECTION (Application)<br />    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)<br />    0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)<br />    0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)<br />    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)<br />    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)<br />    0x75, 0x01,                    //   REPORT_SIZE (1)<br />    0x95, 0x08,                    //   REPORT_COUNT (8)<br />    0x81, 0x02,                    //   INPUT (Data,Var,Abs)<br />    0x95, 0x01,                    //   REPORT_COUNT (1)<br />    0x75, 0x08,                    //   REPORT_SIZE (8)<br />    0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)<br />    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))<br />    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)<br />    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)<br />    0xc0                           // END_COLLECTION<br />};<br />/* We use a simplifed keyboard report descriptor which does not support the<br /> * boot protocol. We don't allow setting status LEDs and we only allow one<br /> * simultaneous key press (except modifiers). We can therefore use short<br /> * 2 byte input reports.<br /> * The report descriptor has been created with usb.org's &quot;HID Descriptor Tool&quot;<br /> * which can be downloaded from http://www.usb.org/developers/hidpage/.<br /> * Redundant entries (such as LOGICAL_MINIMUM and USAGE_PAGE) have been omitted<br /> * for the second INPUT item.<br /> */<br /><br />/* Keyboard usage values, see usb.org's HID-usage-tables document, chapter<br /> * 10 Keyboard/Keypad Page for more codes.<br /> */<br />#define MOD_CONTROL_LEFT    (1&lt;&lt;0)<br />#define MOD_SHIFT_LEFT      (1&lt;&lt;1)<br />#define MOD_ALT_LEFT        (1&lt;&lt;2)<br />#define MOD_GUI_LEFT        (1&lt;&lt;3)<br />#define MOD_CONTROL_RIGHT   (1&lt;&lt;4)<br />#define MOD_SHIFT_RIGHT     (1&lt;&lt;5)<br />#define MOD_ALT_RIGHT       (1&lt;&lt;6)<br />#define MOD_GUI_RIGHT       (1&lt;&lt;7)<br /><br />#define KEY_A       4<br />#define KEY_B       5<br />#define KEY_C       6<br />#define KEY_D       7<br />#define KEY_E       8<br />#define KEY_F       9<br />#define KEY_G       10<br />#define KEY_H       11<br />#define KEY_I       12<br />#define KEY_J       13<br />#define KEY_K       14<br />#define KEY_L       15<br />#define KEY_M       16<br />#define KEY_N       17<br />#define KEY_O       18<br />#define KEY_P       19<br />#define KEY_Q       20<br />#define KEY_R       21<br />#define KEY_S       22<br />#define KEY_T       23<br />#define KEY_U       24<br />#define KEY_V       25<br />#define KEY_W       26<br />#define KEY_X       27<br />#define KEY_Y       28<br />#define KEY_Z       29<br />#define KEY_1       30<br />#define KEY_2       31<br />#define KEY_3       32<br />#define KEY_4       33<br />#define KEY_5       34<br />#define KEY_6       35<br />#define KEY_7       36<br />#define KEY_8       37<br />#define KEY_9       38<br />#define KEY_0       39<br /><br />#define KEY_F1      58<br />#define KEY_F2      59<br />#define KEY_F3      60<br />#define KEY_F4      61<br />#define KEY_F5      62<br />#define KEY_F6      63<br />#define KEY_F7      64<br />#define KEY_F8      65<br />#define KEY_F9      66<br />#define KEY_F10     67<br />#define KEY_F11     68<br />#define KEY_F12     69<br /><br />static const uchar  keyReport&#91;NUM_KEYS + 1&#93;&#91;2&#93; PROGMEM = {<br />/* none */  {0, 0},                     /* no key pressed */<br />/*  1 */    {MOD_SHIFT_LEFT, KEY_A},<br />/*  2 */    {MOD_SHIFT_LEFT, KEY_B},<br />/*  3 */    {MOD_SHIFT_LEFT, KEY_C},<br />/*  4 */    {MOD_SHIFT_LEFT, KEY_D},<br />/*  5 */    {MOD_SHIFT_LEFT, KEY_E},<br />/*  6 */    {MOD_SHIFT_LEFT, KEY_F},<br />/*  7 */    {MOD_SHIFT_LEFT, KEY_G},<br />/*  8 */    {MOD_SHIFT_LEFT, KEY_H},<br />/*  9 */    {MOD_SHIFT_LEFT, KEY_I},<br />/* 10 */    {MOD_SHIFT_LEFT, KEY_J},<br />/* 11 */    {MOD_SHIFT_LEFT, KEY_K},<br />/* 12 */    {MOD_SHIFT_LEFT, KEY_L},<br />/* 13 */    {MOD_SHIFT_LEFT, KEY_M},<br />/* 14 */    {MOD_SHIFT_LEFT, KEY_N},<br />/* 15 */    {MOD_SHIFT_LEFT, KEY_O},<br />/* 16 */    {MOD_SHIFT_LEFT, KEY_P},<br />/* 17 */    {MOD_SHIFT_LEFT, KEY_Q},<br />};<br /><br />static void buildReport(uchar key)<br />{<br />/* This (not so elegant) cast saves us 10 bytes of program memory */<br />    *(int *)reportBuffer = pgm_read_word(keyReport&#91;key&#93;);<br />}<br /><br />uchar   usbFunctionSetup(uchar data&#91;8&#93;)<br />{<br />usbRequest_t    *rq = (void *)data;<br /><br />    usbMsgPtr = reportBuffer;<br />    if((rq-&gt;bmRequestType &amp; USBRQ_TYPE_MASK) == USBRQ_TYPE_CLASS){    /* class request type */<br />        if(rq-&gt;bRequest == USBRQ_HID_GET_REPORT){  /* wValue: ReportType (highbyte), ReportID (lowbyte) */<br />            /* we only have one report type, so don't look at wValue */<br />            buildReport(keyPressed());<br />            return sizeof(reportBuffer);<br />        }else if(rq-&gt;bRequest == USBRQ_HID_GET_IDLE){<br />            usbMsgPtr = &amp;idleRate;<br />            return 1;<br />        }else if(rq-&gt;bRequest == USBRQ_HID_SET_IDLE){<br />            idleRate = rq-&gt;wValue.bytes&#91;1&#93;;<br />        }<br />    }else{<br />        /* no vendor specific requests implemented */<br />    }<br />   return 0;<br />}<br /><br />/* ------------------------------------------------------------------------- */<br /><br />int   main(void)<br />{<br />uchar   key, lastKey = 0, keyDidChange = 0;<br />uchar   idleCounter = 0;<br /><br />   wdt_enable(WDTO_2S);<br />    hardwareInit();<br />   odDebugInit();<br />   usbInit();<br />   sei();<br />    DBG1(0x00, 0, 0);<br />   for(;;){   /* main event loop */<br />      wdt_reset();<br />      usbPoll();<br />        key = keyPressed();<br />        if(lastKey != key){<br />            lastKey = key;<br />            keyDidChange = 1;<br />        }<br />        if(TIFR0 &amp; (1&lt;&lt;TOV0)){   /* 22 ms timer */<br />            TIFR0 = 1&lt;&lt;TOV0;<br /><br />            if(idleRate != 0){<br />                if(idleCounter &gt; 4){<br />                    idleCounter -= 5;   /* 22 ms in units of 4 ms */<br />                }else{<br />                    idleCounter = idleRate;<br />                    keyDidChange = 1;<br />                }<br />            }<br />        }<br />        if(keyDidChange &amp;&amp; usbInterruptIsReady()){<br />            keyDidChange = 0;<br />            /* use last key and not current key status in order to avoid lost<br />               changes in key status. */<br />            buildReport(lastKey);<br />            usbSetInterrupt(reportBuffer, sizeof(reportBuffer));<br />        }<br />   }<br />   return 0;<br />}<br /><br />/* ------------------------------------------------------------------------- */<br /></code></pre></div><br /><br />Here are my fuses (high/low):<br /><div class="codebox"><p>Code: </p><pre><code>0xDD 0xDF</code></pre></div><br /><br />As I previously wrote, I am using the latest driver (at least one of the latest): Nov2008.<br />My circuit is the original circuit from the HIDKeys project. I also tried the circuit used by the usbasp project (with 3v6 and 3v3 zehners). Both did'nt work for me.<br /><br />cheers guys<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=2337">goeck</a> — Mon Jun 08, 2009 3:56 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2009-06-08T01:20:55+02:00</updated>

		<published>2009-06-08T01:20:55+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9695#p9695</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9695#p9695"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9695#p9695"><![CDATA[
Should not be a problem, but to be honest there are so many thing to check. <br /><br />the driver<br />the fuses<br />the code changes<br />the diodes<br /><br />There is a bit more to each individual part above. If you know you have the latest driver, post your fuses, then post the code, or a bit of feed back so we can help.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Mon Jun 08, 2009 1:20 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2009-05-26T08:32:46+02:00</updated>

		<published>2009-05-26T08:32:46+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9491#p9491</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9491#p9491"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9491#p9491"><![CDATA[
Nobody's got any hint?<p>Statistics: Posted by Guest — Tue May 26, 2009 8:32 am</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Anonymous]]></name></author>
		<updated>2009-05-22T12:00:51+02:00</updated>

		<published>2009-05-22T12:00:51+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9422#p9422</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9422#p9422"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=9422#p9422"><![CDATA[
hEY<br /><br />having the same problem with porting from atmega8 to atmega48 I stumbled over your very interessant post. So you say, I just would have to use a newer version of usbdrv.h and change my registers that way: TCCR0=5 -&gt; TCCR0B=5; TIFR -&gt; TIFR0 and I am off for a basic working set of HIDKeys?<br />I can't gat it to work doing only what I mentioned above. I used the usbdrv version 20081126 right now.<br /><br />Please some help...<br />cheers<br />goeck<p>Statistics: Posted by Guest — Fri May 22, 2009 12:00 pm</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[ulao]]></name></author>
		<updated>2009-04-15T18:13:40+02:00</updated>

		<published>2009-04-15T18:13:40+02:00</published>
		<id>https://forums.obdev.at/viewtopic.php?t=2360&amp;p=8933#p8933</id>
		<link href="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=8933#p8933"/>
		<title type="html"><![CDATA[Re: swithcing from atmeg8 to atmega168]]></title>

		
		<content type="html" xml:base="https://forums.obdev.at/viewtopic.php?t=2360&amp;p=8933#p8933"><![CDATA[
turns out it was an old usbdrv, the actual file that was causing issues was usbdrvasm.o. I dont understand this level of the code but my guess is this fie was updated in 08. The bad usbdrvasm files show 12/12/07 the good show 3/12/08.<p>Statistics: Posted by <a href="https://forums.obdev.at/memberlist.php?mode=viewprofile&amp;u=1281">ulao</a> — Wed Apr 15, 2009 6:13 pm</p><hr />
]]></content>
	</entry>
	</feed>
