<?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="http://forum.robosavvy.com/feed.php?f=5&amp;t=853" />

<title>RoboSavvy Forum</title>
<subtitle>Robosavvy Forum: The largest online community of Humanoid Robot Builders</subtitle>
<link href="http://forum.robosavvy.com/index.php" />
<updated>2006-12-20T15:27:45+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=5&amp;t=853</id>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-20T15:27:45+01:00</updated>
<published>2006-12-20T15:27:45+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5393#p5393</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5393#p5393"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5393#p5393"><![CDATA[
I suspect it might be an electrical problem, as the AX-12 would be trying to drive that line while the gumstix still has it asserted as an output.<br /><br />I have no idea if that would cause a problem.<br /><br />For what I'm trying to build, fast response time and low latency is a must, so increasing that value too much would be a bad thing.<br /><br />In any case, for me its a moot point, as I'm not going to be using the gumstix for this project.<br /><br />- Jon<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Wed Dec 20, 2006 3:27 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juha]]></name></author>
<updated>2006-12-20T14:04:47+01:00</updated>
<published>2006-12-20T14:04:47+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5391#p5391</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5391#p5391"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5391#p5391"><![CDATA[
<blockquote><div><cite>JonHylands wrote:</cite><br />and its great if you've got a CM-5 to change it<br /></div></blockquote><br /><br />But... do you need cm-5 for that? You could use broadcast to change the value. Or actually, you don't even have to use broadcast.. it doesn't mather if you read the reply or not.<br /><br />Or was the default baud rate giving you problems with this?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=284">Juha</a> — Wed Dec 20, 2006 2:04 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-20T13:26:37+01:00</updated>
<published>2006-12-20T13:26:37+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5389#p5389</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5389#p5389"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5389#p5389"><![CDATA[
Yeah, we thought about that, and its great if you've got a CM-5 to change it, but (a) I don't have a CM-5, so it wasn't an option, and (b) we wanted a general solution that would work with any AX-12 without having to go and mess with it first.<br /><br />- Jon<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Wed Dec 20, 2006 1:26 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juha]]></name></author>
<updated>2006-12-20T10:02:56+01:00</updated>
<published>2006-12-20T10:02:56+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5387#p5387</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5387#p5387"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5387#p5387"><![CDATA[
<blockquote><div><cite>dhylands wrote:</cite><br />You need to wait until all of the bits have actually been shifted out of the Tx shift register, and then within 160 usec, you need to configure the Tx line as a GPIO input (so it's not driving the line anymore).<br /></div></blockquote><br /><br />Hi Dave,<br /><br />Just incase you missed it, address 5 in the ax-12 registry sets the return time delay.<br /><br />I had to use this myself (on a different platform). I haven't really done ant proper testing yet to see how low I could set this value.<br /><br />-- Juha<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=284">Juha</a> — Wed Dec 20, 2006 10:02 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[dhylands]]></name></author>
<updated>2006-12-19T22:56:33+01:00</updated>
<published>2006-12-19T22:56:33+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5378#p5378</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5378#p5378"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5378#p5378"><![CDATA[
There are a bunch of issues trying to get a device to talk to an AX-12 servo.<br /><br />The first is the fact that the AX-12 uses a half-duplex form of communication. The second is getting the baud rates to match.<br /><br />Lets talk about baud rates first. Many devices, like the gumstix, use crystals which are based around frequencies which are multiples of 1200. The gumstix happens to use a 3.6864 MHz crystal for its serial communications. This makes getting baud rates like 115,200 or 921,600 bang on.<br /><br />The AX-12 uses (I believe) an AVR based processor running at 16 MHz, which makes baud rates like 1000000 easy, but rates like 921600 not possible. With a 16 MHz crystal, you can get 117647 baud which is within about 2% or 115200, but the closest you can get to 921600 is 1Mbit which is 8.5% error, which is too big a difference to allow reliable communication (the datasheets recommends 2% as the max error for reliable communication)<br /><br />So the next issues is using the half-duplex protocol. With the code I was doing for Jon, I was trying to use an ATMega128 (the robostix) to talk to the AX-12 by using no additional hardware. Even then it was a bit tricky. You need to be careful about when you stop driving the Tx line. You need to wait until all of the bits have actually been shifted out of the Tx shift register, and then within 160 usec, you need to configure the Tx line as a GPIO input (so it's not driving the line anymore). <br /><br />I chose to receive my own input and when I start to send a character I put the Tx into output mode. After I've received the character being sent I turn the Tx back into an input (since I've received the character, by definition the last bit must have been shifted out).<br /><br />So, given the above, it didn't seem practical to use the gumstix to talk directly to the AX-12. The baud rates don't work out and linux can't guarantee that I can turn my Tx off within 160 usec of sending the last character.<br /><br />The initial version I did for Jon uses the gumstix talking at 115,200 to the robostix and the robostix talking at 1Mbit to the the AX-12. Eventually, I'd like to redo it so that the gumstix/robostix link is using SPI, which will allow going up to full 1Mbit transfer rates.<br /><br />-- <br />Dave Hylands<br />Vancouver, BC, Canada<br /><!-- m --><a class="postlink" href="http://www.DaveHylands.com/">http://www.DaveHylands.com/</a><!-- m --><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=441">dhylands</a> — Tue Dec 19, 2006 10:56 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-18T20:20:57+01:00</updated>
<published>2006-12-18T20:20:57+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5357#p5357</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5357#p5357"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5357#p5357"><![CDATA[
My brother had this to say about it:<br /><br />"Realistically, going this route would require a driver change in the<br />gumstix serial driver. Trying to manipulate the GPIOs from user space<br />won't work since the UART has a FIFO, and you need to assert the GPIO<br />line until the FIFO is actually empty, and then deassert before the<br />server responds. The default turnaround needs to be less than 160<br />usec."<br /><br />- Jon<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Mon Dec 18, 2006 8:20 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[savuporo]]></name></author>
<updated>2006-12-18T19:46:59+01:00</updated>
<published>2006-12-18T19:46:59+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5356#p5356</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5356#p5356"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5356#p5356"><![CDATA[
So i will base my code off the I2C/SPI drivers then and use the ATMega source as a reference <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> IMO, programming a 32-bit micro aint significantly more difficult than 8-bit, in most cases exactly the opposite.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=435">savuporo</a> — Mon Dec 18, 2006 7:46 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-18T18:15:57+01:00</updated>
<published>2006-12-18T18:15:57+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5353#p5353</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5353#p5353"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5353#p5353"><![CDATA[
Ahh, if that were true, it would be a piece of cake. The Bioloid kit comes with AX-12 servos, which use a half-duplex, single wire for both Tx and Rx, TTL serial bus that runs at 1 Mbps.<br /><br />The DX series of servos from Robotis use RS-485, and the CX-series use CAN.<br /><br />The trick with the AX-12 is that it is a one-wire bus, so you have to be able to transmit and receive on the same line. You can use a bus switcher to do that, but with the hardware UART on the gumstix, you would need to be down at the driver level to know exactly when the bytes are done being transmitted in order to switch to receive mode.<br /><br />On an ATMega128, however, its a piece of cake...<br /><br />- Jon<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Mon Dec 18, 2006 6:15 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[savuporo]]></name></author>
<updated>2006-12-18T16:17:58+01:00</updated>
<published>2006-12-18T16:17:58+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5351#p5351</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5351#p5351"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5351#p5351"><![CDATA[
<blockquote><div><cite>JonHylands wrote:</cite><br />According to some people who know, talking directly to the Bioloid bus from the gumstix is a non-trivial exercise (basically, you'd have to implement a kernel-level driver).<br /></div></blockquote><br /><br />From what i gathered at first glance, its a RS422/485-like bus configuration with pretty well documented command set. Having hacked around with kernel-level drivers before, i think i would take that challenge. There are similar sources available for modifyng or taking ideas from ( <!-- m --><a class="postlink" href="http://cmp.felk.cvut.cz/~pisa/ulan/ul_drv.html">http://cmp.felk.cvut.cz/~pisa/ulan/ul_drv.html</a><!-- m --> , libnodave ) <br /><br />BTW, to get things going there are ways to do development and testing in userspace on normal x86 linux<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=435">savuporo</a> — Mon Dec 18, 2006 4:17 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-18T15:46:45+01:00</updated>
<published>2006-12-18T15:46:45+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5350#p5350</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5350#p5350"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5350#p5350"><![CDATA[
According to some people who know, talking directly to the Bioloid bus from the gumstix is a non-trivial exercise (basically, you'd have to implement a kernel-level driver).<br /><br />Its much simpler to use an embedded 8-bit microcontroller to talk to the Bioloid bus, and if you're planning on using a gumstix, the robostix is probably the simplest way to go.<br /><br />The robostix connects to the smaller 60-pin hirose connector, so you can use that combined with the wifistix to have a decent system.<br /><br />- Jon<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Mon Dec 18, 2006 3:46 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[limor]]></name></author>
<updated>2006-12-18T14:58:44+01:00</updated>
<published>2006-12-18T14:58:44+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5349#p5349</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5349#p5349"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5349#p5349"><![CDATA[
I ordered a few months ago a "Basix" BlueTooth board at 400hz + Robostix + Serial board combo.<br /><br />A new daughter board option they have now is the WifiStix which connects to the Gumstix in the "Connex" configuration (vertical hirose connector).<br /><br />However, I haven't checked out on their wiki if WifiStix exposes any serial pins to enable communication with the Bioloid bus. The Gumstix itself doesnt expose anything except for the microscopic pins on the hirose connector.<br /><br />(I agree that the Gumstix web site is not very friendly and easy to navigate but the products work as advertised)<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2">limor</a> — Mon Dec 18, 2006 2:58 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-18T14:26:26+01:00</updated>
<published>2006-12-18T14:26:26+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5346#p5346</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5346#p5346"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5346#p5346"><![CDATA[
Yes, the gumstix has either a 200 MHz or 400 MHz XScale processor, running a full blown Linux build, with 64 MB of RAM. It has many connection options, including bluetooth, ethernet, dual ethernet, or Wifi, as well as more traditional options like RS-232 and USB (device only, not host).<br /><br />- Jon<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Mon Dec 18, 2006 2:26 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[savuporo]]></name></author>
<updated>2006-12-18T12:28:05+01:00</updated>
<published>2006-12-18T12:28:05+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5344#p5344</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5344#p5344"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5344#p5344"><![CDATA[
Oh, i didnt realize that Gumstix is actually XScale ( this info isnt easily found on gumstix.com ) . Thats definitely enough CPU power for serious tinkerers <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=435">savuporo</a> — Mon Dec 18, 2006 12:28 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[JonHylands]]></name></author>
<updated>2006-12-18T12:20:28+01:00</updated>
<published>2006-12-18T12:20:28+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5343#p5343</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5343#p5343"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5343#p5343"><![CDATA[
With my setup (which I have published on my  blog), the Robostix talks to the Bioloid bus at 1 Mbps. The gumstix talks to the Robostix at 115,200, over the standard serial port.<br /><br />The Robostix acts as a message forwarder in both directions. It takes whatever it gets from the gumstix, and puts those bytes on the bus, and the same for the other direction.<br /><br />The next setup I am doing will involve a different ATMega128 board, mainly because the Robostix can't do master SPI. I'll be connecting this new ATMega128 board to the Bioloid at the same 1 Mbps, and to a Wifi module (802.11g) over SPI also at 1 Mbps. So that will make the Bioloid bus basically adressable over a socket connection, with throughput of 1 Mbps, from any PC on the network.<br /><br />- Jon<br /><br /><!-- m --><a class="postlink" href="http://www.huv.com/blog">http://www.huv.com/blog</a><!-- m --><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=373">JonHylands</a> — Mon Dec 18, 2006 12:20 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Juha]]></name></author>
<updated>2006-12-18T10:41:39+01:00</updated>
<published>2006-12-18T10:41:39+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5340#p5340</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5340#p5340"/>
<title type="html"><![CDATA[idealab :)]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=853&amp;p=5340#p5340"><![CDATA[
Welcome to the forum, "smoked reindeer" <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><br /><br /><blockquote><div><cite>limor wrote:</cite><br />I've been working with gumstix and robostix and they provide a great environment for this kind of research. Can you provide more info about your experience with Blackfin<br /></div></blockquote><br /><br />I must say, that I've become a bit tempted on switching to gumstix <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> The system seems very cool. <br /><br />What kind of combo are you working with? Some gumstix motherboard + robostix?<br /><br />BTW, how fast are the serial connections on the system? I guess it depends on the expansion board you have?<br /><br />I only wish they had a java API allowing you to do gumstix specific functions (as far as I know, they don't?).<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=284">Juha</a> — Mon Dec 18, 2006 10:41 am</p><hr />
]]></content>
</entry>
</feed>