<?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=2809" />

<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>2008-10-23T20:41:19+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=5&amp;t=2809</id>
<entry>
<author><name><![CDATA[Doms]]></name></author>
<updated>2008-10-23T20:41:19+01:00</updated>
<published>2008-10-23T20:41:19+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=18006#p18006</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=18006#p18006"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=18006#p18006"><![CDATA[
So after a few hours of trying this and that and actually installing the AVR toolchain and compiling a simple &quot;hello led&quot;-program, I'll just answer my own questions <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";-)" title="Wink" /><br /><br /><blockquote><div><cite>Doms wrote:</cite><br /><blockquote><div><cite>StuartL wrote:</cite>As soon as the CM5 gets a response from the servo bootloader at 57600 it sends the load command and transmits the servo ROM from its own flash to the servo.<br /></div></blockquote><br />In which format do I transmit the new firmware? Just straight binary I guess. But after reading the piece of code you had to use to decode the ROM file...<br /></div></blockquote><br />Yeah, it is actually straight binary data. The type you get when objcopying your elf-file to binary target:<br />avr-objcopy -O binary fw.elf fw.bin<br /><br /><blockquote><div><cite>Doms wrote:</cite><br /><blockquote><div><cite>StuartL wrote:</cite>It confirms the checksum is ok and if so reboots the servo, which then comes up at 1Mbit.<br /></div></blockquote><br />Do I have to confirm the checksum to the servo, or just make sure the transmission worked correctly and send the servo a GO?<br /></div></blockquote><br />Yeah, i had to calc the 8-bit checksum and send it directly after the binary data.<br />It's simply calculated by summing up all the binary's bytes into one byte...<br /><br />The code got a little to big to inline it here, so you can get it at:<br /><a href="http://robosavvy.com/Builders/Doms/flash.py" class="postlink">http://robosavvy.com/Builders/Doms/flash.py</a><br /><br /><blockquote><div><cite>Doms wrote:</cite><br />By the way, are you going to open source your new firmware for the AX-12?<br />Since I am about to write a new firmware for the DX/RX series, I was wondering, whether we could join our efforts. Maybe we could make this a sourceforge project or something like that...<br /></div></blockquote><br />Still hoping for a positive reply <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";-)" title="Wink" /><br /><br />cheers<br />Dorian<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=1203">Doms</a> — Thu Oct 23, 2008 8:41 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Doms]]></name></author>
<updated>2008-10-23T17:25:03+01:00</updated>
<published>2008-10-23T17:25:03+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=18003#p18003</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=18003#p18003"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=18003#p18003"><![CDATA[
Thanks a lot!<br />It worked!<br />I managed to get an DX-117 into boot loader mode and play around with the few commands it has...<br />I used my Laptop with a USB2RS485 converter and a small Python script&#058;<br /><dl class="codebox"><dt>Code: </dt><dd><code>#! /usr/bin/python<br />import serial<br /><br /># change these settings to fit your setup<br />serialPortName = '//./COM9'<br />standardBaudrate = 57600 # 57600 for DX and RX series, 1000000 for AX series<br />bootloaderBaudrate = 57600 # 57600 for all series<br />serialTimeout = 0.02 # &#91;sec&#93; 0.01s to 1s seems to work, depending on how long the serial port take to switch to the new baudrate after the reset<br />firmwareBinaryFilename = 'c:\\myNewRx28Firmware.bin'<br /><br />resetPacketString = '\xff\xff\x01\x02\x06\xf6' # servo id 1, instruction 6 &#40;reset&#41;<br /><br /># open serial port<br />serialPort = serial.Serial&#40;port = serialPortName, baudrate = standardBaudrate, timeout = serialTimeout&#41;<br />print 'serial connection: %s' % serialPort<br /><br /># send reset packet<br />print 'sending: ' + repr&#40;resetPacketString&#41;<br />serialPort.write&#40;resetPacketString&#41;<br /><br /># switch to the bootloaders baudrate<br />serialPort.baudrate = bootloaderBaudrate<br />print 'serial connection: %s' % serialPort<br /><br />print 'sending: ',<br /><br />response = ''<br />while response != '\x20':<br />  print '#',<br />  serialPort.write&#40;'#'&#41;<br />  response = serialPort.read&#40;1&#41;<br /><br />print '\nservo is now in boot loader:'<br /><br /># read boot loader message<br />serialPort.timeout = 1.0<br />print serialPort.read&#40;1000&#41;<br /><br /># here we can download a custom firmware to the servo<br />#serialPort.write&#40;'l'&#41;<br /><br /># now send the data<br /># should this be send direcly in binary or in hex format or whatever?<br />#serialPort.write&#40;open&#40;firmwareBinaryFilename, 'rb'&#41;.read&#40;&#41;&#41;<br /><br /># do we need to confirm the checksum here?<br /><br /># execute new firmware<br />serialPort.write&#40;'g'&#41;<br /></code></dd></dl><br /><br />The resulting output is this:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>serial connection: Serial&lt;id&gt;&#40;port='//./COM9', baudrate=57600, bytesize=8, parity='N', stopbits=1, timeout=0.02, xonxoff=0, rtscts=0, dsrdtr=0&#41;<br />sending: '\xff\xff\x01\x02\x06\xf6'<br />serial connection: Serial&lt;id&gt;&#40;port='//./COM9', baudrate=57600, bytesize=8, parity='N', stopbits=1, timeout=0.02, xonxoff=0, rtscts=0, dsrdtr=0&#41;<br />sending:  # # # # # # # # # # # # # # # # # # # # # # # # <br />servo is now in boot loader:<br />SYSTEM O.K.<br /> * <br /> * <br /> * <br /> *°Command : L&#40;oad&#41;,G&#40;o&#41;,S&#40;ystem&#41;,A&#40;pplication&#41;,R&#40;eset&#41;,D&#40;ump&#41;,C&#40;lear&#41;<br /> *<br /></code></dd></dl><br /><br />But as you can see in the last lines of code, there are a few more question marks...<br /><br /><blockquote><div><cite>StuartL wrote:</cite><br />As soon as the CM5 gets a response from the servo bootloader at 57600 it sends the load command and transmits the servo ROM from its own flash to the servo.<br /></div></blockquote><br />In which format do I transmit the new firmware? Just straight binary I guess. But after reading the piece of code you had to use to decode the ROM file...<br /><br /><blockquote><div><cite>StuartL wrote:</cite><br />It confirms the checksum is ok and if so reboots the servo, which then comes up at 1Mbit.<br /></div></blockquote><br />Do I have to confirm the checksum to the servo, or just make sure the transmission worked correctly and send the servo a GO?<br /><br />By the way, are you going to open source your new firmware for the AX-12?<br />Since I am about to write a new firmware for the DX/RX series, I was wondering, whether we could join our efforts. Maybe we could make this a sourceforge project or something like that...<br /><br />cheers<br />Dorian<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=1203">Doms</a> — Thu Oct 23, 2008 5:25 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StuartL]]></name></author>
<updated>2008-10-17T21:32:48+01:00</updated>
<published>2008-10-17T21:32:48+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17924#p17924</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17924#p17924"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17924#p17924"><![CDATA[
<blockquote><div><cite>Doms wrote:</cite><br /><blockquote><div><cite>StuartL wrote:</cite>When ready to flash the CM5 sends a digital reset packet to the desired servo and switches the bus into 57600.<br /></div></blockquote><br />I assume the 'digital reset packet' is a packet with instruction code 6 and no data.</div></blockquote><br /><br />I think it's instruction seven rather than six but yes, that packet.<br /><br /><blockquote><div><cite>Doms wrote:</cite><br /><blockquote><div><cite>StuartL wrote:</cite>It then sends several '#' characters which is enough to put the servo into a MUCH reduced CM5-a-like bootloader over the half duplex bus.<br /></div></blockquote><br />How much are several? And how do I know when to stop?<br />I tried sending 10, 100 or 1000 '#'-characters...</div></blockquote><br /><br />Matt ended up sending one, waiting for a character back, after a few ms sending another one, rinse and repeat until you get a '#' back.<br /><br /><blockquote><div><cite>Doms wrote:</cite><br /><blockquote><div><cite>StuartL wrote:</cite>As soon as the CM5 gets a response from the servo bootloader at 57600 it sends the load command and transmits the servo ROM from its own flash to the servo.<br /></div></blockquote><br />What does the response look like? Is it the 'System O.K...' plain text message that is shown in the CM5 documentation and that can also be seen in the bootloader bin file you posted in some other thread?</div></blockquote><br /><br />It's a '#' prompt, I think.  If you've a way of sniffing the bus you should see the prompt arrive.<br /><br /><blockquote><div><cite>Doms wrote:</cite><br />Thanks for your time!<br /></div></blockquote><br /><br />Any time <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" />  I have boundless patience for those who help themselves.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=645">StuartL</a> — Fri Oct 17, 2008 9:32 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Doms]]></name></author>
<updated>2008-10-15T15:03:14+01:00</updated>
<published>2008-10-15T15:03:14+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17903#p17903</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17903#p17903"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17903#p17903"><![CDATA[
Hi Stuart!<br /><br />Thanks for sharing your experiences with us!<br /><br />I am interested in flashing some of the RX series servos (RX-28 and RX-64) using your method.<br />So I first tried to reproduce your results using an AX-12+, but without success.<br />I don't have a CM5 so I use a PC with a USB2TTL converter and a simple Python script to do the communication with the servos. This usually works very well to setup the servo parameters before using them in a robot.<br /><br />I was hoping you could give me some more detailed information about the steps:<br /><br /><blockquote><div><cite>StuartL wrote:</cite><br />When ready to flash the CM5 sends a digital reset packet to the desired servo and switches the bus into 57600.<br /></div></blockquote><br />I assume the 'digital reset packet' is a packet with instruction code 6 and no data.<br /><br /><blockquote><div><cite>StuartL wrote:</cite><br />It then sends several '#' characters which is enough to put the servo into a MUCH reduced CM5-a-like bootloader over the half duplex bus.<br /></div></blockquote><br />How much are several? And how do I know when to stop?<br />I tried sending 10, 100 or 1000 '#'-characters...<br /><br /><blockquote><div><cite>StuartL wrote:</cite><br />As soon as the CM5 gets a response from the servo bootloader at 57600 it sends the load command and transmits the servo ROM from its own flash to the servo.<br /></div></blockquote><br />What does the response look like? Is it the 'System O.K...' plain text message that is shown in the CM5 documentation and that can also be seen in the bootloader bin file you posted in some other thread?<br /><br />Thanks for your time!<br />Dorian<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=1203">Doms</a> — Wed Oct 15, 2008 3:03 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[billyzelsnack]]></name></author>
<updated>2008-10-11T04:11:26+01:00</updated>
<published>2008-10-11T04:11:26+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17857#p17857</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17857#p17857"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17857#p17857"><![CDATA[
I went to my LHS and they had the case for $8 and some gears marked 5995 for $7.<br /><br />It looked like this pack..<br /><br /><!-- m --><a class="postlink" href="http://www3.towerhobbies.com/cgi-bin/wti0001p?&amp;I=LXPVU3&amp;P=WR">http://www3.towerhobbies.com/cgi-bin/wt ... XPVU3&amp;P=WR</a><!-- m --><br /><br />Which looked like just karbonite gears.<br /><br />55014 which is the same that's listed on the servocity page.. So I don't think these'll work.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=459">billyzelsnack</a> — Sat Oct 11, 2008 4:11 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[billyzelsnack]]></name></author>
<updated>2008-10-10T23:44:34+01:00</updated>
<published>2008-10-10T23:44:34+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17855#p17855</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17855#p17855"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17855#p17855"><![CDATA[
VERY interesting idea bootstrap. To make it even cheaper Trossen sells the servo case for $5 minus the middle section. That at least gives you the parts that hold the gears.<br /><br />I guess the big question is if the gear set comes with the motor pinion too.<br /><br />My LHS ( local hobby shop ) is a big hitec distributor and they just might have these in stock. Maybe I'll go have a looksy tonight.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=459">billyzelsnack</a> — Fri Oct 10, 2008 11:44 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StuartL]]></name></author>
<updated>2008-10-10T09:56:57+01:00</updated>
<published>2008-10-10T09:56:57+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17847#p17847</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17847#p17847"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17847#p17847"><![CDATA[
<blockquote><div><cite>bootstrap wrote:</cite><br />Also if any one is looking to create a better servo than the AX-12 or the open servo with Full 360 degree control,and a resolution of 0.35 deg take a look at the following non-contact magnetic encoder (which is also shipped as a free sample)<br /><!-- m --><a class="postlink" href="http://www.austriamicrosystems.com/eng/Products/Magnetic-Encoders/Rotary-Encoders/AS5035">http://www.austriamicrosystems.com/eng/ ... ers/AS5035</a><!-- m --><br /></div></blockquote><br /><br />It's 1.4 degrees resolution as it's an 8-bit encoder.  The analogue encoder in the AX-12 is 10-bit, although only 330 degree coverage.  It's horses for courses, if you want full coverage you normally end up putting two 330 degree potentiometers 180 degrees apart.  This is approach that all big name servo manufacturers use because you can get much better accuracy than the current range of digital solutions. <br /><br /><blockquote class="uncited"><div><br />Hope one creates an entire servo of better quality,better features and at a lesser price than the Bioloid<br /></div></blockquote><br /><br />That's just the thing.  THe AX12 may have its limitations (relatively heavy, 330 deg coverage) but it's also one of the best servos on the market for the price.  It's got the wonderful 1Mbit bus and relatively high torque and lends it self well to Robotics.  There's definitely better out there, and there's definitely ways to improve it, but few solutions for a comparable price.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=645">StuartL</a> — Fri Oct 10, 2008 9:56 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[bootstrap]]></name></author>
<updated>2008-10-09T09:10:22+01:00</updated>
<published>2008-10-09T09:10:22+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17833#p17833</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17833#p17833"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17833#p17833"><![CDATA[
Also if any one is looking to create a better servo than the AX-12 or the open servo with Full 360 degree control,and a resolution of 0.35 deg take a look at the following non-contact magnetic encoder (which is also shipped as a free sample)<br /><!-- m --><a class="postlink" href="http://www.austriamicrosystems.com/eng/Products/Magnetic-Encoders/Rotary-Encoders/AS5035">http://www.austriamicrosystems.com/eng/ ... ers/AS5035</a><!-- m --><br /><br />People from Carnegie Mellon Univ have modified the Hitech 5595 (30kg-cm) torque servos on the lines of Open Servo and Dynamixels.(It is a project in collaboration with NASA).<br /><br />Also if one is also looking to bring the cost down.Look at the metal gear train and the servo casing for cheap here (exact gears of Hitec)<br /><!-- m --><a class="postlink" href="http://servocity.com/html/hitec_metal_gearsets.html">http://servocity.com/html/hitec_metal_gearsets.html</a><!-- m --><br /><br />and servo casing:<br /><!-- m --><a class="postlink" href="http://servocity.com/html/hitec_servo_case_sets.html">http://servocity.com/html/hitec_servo_case_sets.html</a><!-- m --><br /><br />All you need is a control circuit (with Atmega8 ,bootloader ...which you already have or can be built on the lines of Open servo's PCB) <br /><br />Hope one creates an entire servo of better quality,better features and at a lesser price than the Bioloid<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=1153">bootstrap</a> — Thu Oct 09, 2008 9:10 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[billyzelsnack]]></name></author>
<updated>2008-09-06T08:19:19+01:00</updated>
<published>2008-09-06T08:19:19+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17434#p17434</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17434#p17434"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17434#p17434"><![CDATA[
Maybe not. I tried offsets from 0 to 22 with hex2bin and it just generates all 0 size files. Oh well.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=459">billyzelsnack</a> — Sat Sep 06, 2008 8:19 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[billyzelsnack]]></name></author>
<updated>2008-09-06T08:03:44+01:00</updated>
<published>2008-09-06T08:03:44+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17433#p17433</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17433#p17433"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17433#p17433"><![CDATA[
I see. I was thinking you ran your code after you removed the header.<br /><br />So running your code on a rom will generate a file 17,245 bytes. The three files you have are..<br /><br />bootloader 2048<br />flash 8192<br />firmware 6143  ( why not 6144 to make all three an even 16k? )<br /><br />Which is 16383.<br /><br />17,245 - 16383 = 862<br /><br />So I don't know how you ended up with the header size you mentioned. Also looking at the decrypted rom I generated with your code I don't see it matching your 3 files. Do I need to run hex2bin or something on it? I tried running it, but I don't get an output file. I guess maybe I need to skip in however far the header is.<br /><br />btw. How many releases of the rom file have there been? I've only seen the one REV0x16.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=459">billyzelsnack</a> — Sat Sep 06, 2008 8:03 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StuartL]]></name></author>
<updated>2008-09-06T07:24:40+01:00</updated>
<published>2008-09-06T07:24:40+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17432#p17432</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17432#p17432"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17432#p17432"><![CDATA[
Sneak a look at my code <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />Each byte is encoded as a word xored with an incrementing word.  It's obsfucation rather than encryption <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=645">StuartL</a> — Sat Sep 06, 2008 7:24 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[billyzelsnack]]></name></author>
<updated>2008-09-06T04:03:34+01:00</updated>
<published>2008-09-06T04:03:34+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17431#p17431</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17431#p17431"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17431#p17431"><![CDATA[
ok. I guess it's not so obvious. I download the ax12 rom from tribotix and it is..<br /><br />34,490 bytes! How does that work?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=459">billyzelsnack</a> — Sat Sep 06, 2008 4:03 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[billyzelsnack]]></name></author>
<updated>2008-09-05T03:03:37+01:00</updated>
<published>2008-09-05T03:03:37+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17417#p17417</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17417#p17417"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17417#p17417"><![CDATA[
haha. I guess it's pretty obvious how big the header is if the file is so close to 8k. Maybe I'll give a go at haxoring the header.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=459">billyzelsnack</a> — Fri Sep 05, 2008 3:03 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[StuartL]]></name></author>
<updated>2008-09-04T23:08:13+01:00</updated>
<published>2008-09-04T23:08:13+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17416#p17416</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17416#p17416"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17416#p17416"><![CDATA[
We didn't try redoing a ROM file with our own data, we didn't need to because we found a better way of flashing the servos over the 1Mbit bus than using the BCP.  This uses the servo digital reset and built in bootloader.  If you were to write a CM-5 bridging function you could even put all of the logic in a controlling PC <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />The header, from memory, was 14 bytes.  But then you already know this because you've looked, haven't you? <img src="http://forum.robosavvy.com/images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" /><br /><br />I've put a zip file containing the full 8kb servo image, the 6kb application and the 2kb bootloader on <!-- m --><a class="postlink" href="http://www.braincell.cx/~stuart/ax12-rev16-binaryfiles.zip">http://www.braincell.cx/~stuart/ax12-re ... yfiles.zip</a><!-- m -->  Note that this isn't the ROM file but the extracted binary images.<br /><br />We aren't using robot terminal any more.  We now have our own bootloader on the CM-5 which can flash the servos in-band and it talks to our own Linux/Windows application to avoid dependencies on the inflexible Robotis bootloaders and applications.<br /><br />For now the robots are on the shelf while we prototype some new hardware based upon the ATmega164p.  We've got a lot working but just managed to brick an MCU, so we're currently developing a board to unbrick MCUs.  This seems harder than we expected...<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=645">StuartL</a> — Thu Sep 04, 2008 11:08 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[limor]]></name></author>
<updated>2008-09-03T15:59:54+01:00</updated>
<published>2008-09-03T15:59:54+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17406#p17406</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17406#p17406"/>
<title type="html"><![CDATA[How can we read a number of dynamixels in a single go?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=2809&amp;p=17406#p17406"><![CDATA[
Hi StuartL,<br /><br />thats an impressive decryption of the ROM file. how did you come up with this<br /><br />while (fread(&amp;word, sizeof(word), 1, input) &gt;= 1) {<br />        c = word ^ (xor++); <br /><br />have you managed then to use the robot terminal to upload a clean HEX into that flash area and then invoke the upload of that hex file into the servo ? if so how?<br /><br />thanks<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2">limor</a> — Wed Sep 03, 2008 3:59 pm</p><hr />
]]></content>
</entry>
</feed>