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

<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>2013-05-02T17:57:13+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=5&amp;t=7539</id>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-05-02T17:57:13+01:00</updated>
<published>2013-05-02T17:57:13+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37706#p37706</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37706#p37706"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37706#p37706"><![CDATA[
sorry for not replying, was kinda busy ... So I tried resetting the code as described in the documentation, with no success. In the end I decided to go on and do something else, which included disassembly of the robot and building a more simple version. I now built the probing robot and wrote the firmware there myself, imitating the behavior of the taskfile for the original firmware. Reading the BioloidCControl code helped a lot with that <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br /><br />There is a video of a short demonstration:<br /><!-- m --><a class="postlink" href="https://www.youtube.com/watch?v=INeR8YlJ7vA">https://www.youtube.com/watch?v=INeR8YlJ7vA</a><!-- m --><br /><br />And yes - it's basically just a compilation of code samples form the documentation <img src="http://forum.robosavvy.com/images/smilies/icon_wink.gif" alt=";)" title="Wink" /><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Thu May 02, 2013 5:57 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[planius]]></name></author>
<updated>2013-03-29T23:00:14+01:00</updated>
<published>2013-03-29T23:00:14+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37459#p37459</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37459#p37459"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37459#p37459"><![CDATA[
Sounds like the problem is connected to the joint offsets, that should be easy to fix/test. Joint Offsets are not stored in the motion file, they live in a separate memory area and (if I recall correctly) that area gets overwritten by BioloidCControl.<br /><br />So simply add code right at the beginning of the task file where you set all joint offsets to 0 and see if that fixes it. If you are unsure how to do that, please see here:<br /><a href="http://support.robotis.com/en/software/roboplus/roboplus_task/programming/parameter/motion/roboplus_task_jointoffset.htm" class="postlink">http://support.robotis.com/en/software/roboplus/roboplus_task/programming/parameter/motion/roboplus_task_jointoffset.htm</a><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2823">planius</a> — Fri Mar 29, 2013 11:00 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-29T20:31:02+01:00</updated>
<published>2013-03-29T20:31:02+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37458#p37458</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37458#p37458"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37458#p37458"><![CDATA[
Thanks for all the help and the attempt to reproduce the problem. I now have completely disassembled and reassembled, still the same - works fine with BioloidCControl, but not with the Robotis firmware/taskfile/motionfile<br /><br /><br /><blockquote><div><cite>planius wrote:</cite><br />OK, have now re-flashed the original firmware and it all works fine (using default Task and Motion files and RC-100).<br /><br />Make sure that:<br />1. Dynamixels are recognised correctly after you flash the Robotis firmware<br /><br />all were correctly recognised and moved to the correct default positions.<br /><br />2. In RoboPlus Motion you upload the default Motion file, not the one it reads back from the controller. After you connect to the robot (F5), it will read the current 'motion' file from the CM-510 (which is partially garbage) and open a CM-510 tab to show this. Then open the default motion file and download it to the robot. If you open the default motion file first, it will switch to the CM-510 tab after connecting.<br /><br />I did it exactly that way and checked if on the robot side the same values were displayed as from the motion file.<br /><br />3. Download the Task file last.<br /><br />Worked fine as well. <br /><br />Everything then works exactly as it should with my Type A robot.<br /></div></blockquote><br /><br />I have tried that now several times, always the same disappointing result <img src="http://forum.robosavvy.com/images/smilies/icon_sad.gif" alt=":(" title="Sad" /><br />As the default pose after turning it on and selecting 'play' does work I assume that the task file is not the problem and was playing around with robomotion some more. And I found that when starting the tool to set the dynamixel offsets I get a 'critical error' from the robomotion software, asking me to restart the robomotion application. It however does not crash and shows a popup window with offset values for the servos. And it contains very weird values, up to -6000 for some servos. I can not change those values however, and wonder if those offset values are the reason for the completely wrong poses of the robot. I'll have to search some more on that, but beside that I have no clue what could cause the issue.<br /><br />Anyway, I'll tonight will install zigbee to the remote controller and then play some more with BioloidCControl <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /> Thanks again for that and for all the help and replies.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Fri Mar 29, 2013 8:31 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[planius]]></name></author>
<updated>2013-03-26T08:40:57+01:00</updated>
<published>2013-03-26T08:40:57+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37426#p37426</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37426#p37426"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37426#p37426"><![CDATA[
OK, have now re-flashed the original firmware and it all works fine (using default Task and Motion files and RC-100).<br /><br />Make sure that:<br />1. Dynamixels are recognised correctly after you flash the Robotis firmware<br /><br />2. In RoboPlus Motion you upload the default Motion file, not the one it reads back from the controller. After you connect to the robot (F5), it will read the current 'motion' file from the CM-510 (which is partially garbage) and open a CM-510 tab to show this. Then open the default motion file and download it to the robot. If you open the default motion file first, it will switch to the CM-510 tab after connecting.<br /><br />3. Download the Task file last.<br /><br />Everything then works exactly as it should with my Type A robot.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2823">planius</a> — Tue Mar 26, 2013 8:40 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[planius]]></name></author>
<updated>2013-03-26T09:33:43+01:00</updated>
<published>2013-03-26T05:25:04+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37425#p37425</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37425#p37425"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37425#p37425"><![CDATA[
I will try and go through your issues in order. <br /><br />1. The error you get in linking '__do_copy_data'. If you need the fix with your toolchain you will notice as the robot will just become unresponsive to commands after a while or not even start. In essence the fix allows access to the part of the code/PROGMEM that extends beyond 64KB.<br /><br />2. The RC-100 mode with BioloidCControl only works via ZigBee (not IR). If you are using the ZigBee module in the RC-100 and the matching one on the robot, it should work. You should still get output on the serial console if you keep the cable connected to the serial port. <br /><br />3. The accelerometer I am using (ADXL203) is no longer available. You need a 5V analog accelerometer or a 3.3V analog output accelerometer and a voltage divider (5V -&gt; 3.3V) as the CM-510 supplies 5V. Both can be found at <!-- w --><a class="postlink" href="http://www.sparkfun.com">www.sparkfun.com</a><!-- w --><br /><br />4. I will try to restore the Robotis firmware on my CM-510 and let you know how it goes. I have done it many times before without any issues, but not since going from version 0.5 to 0.7.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2823">planius</a> — Tue Mar 26, 2013 5:25 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-25T18:45:14+01:00</updated>
<published>2013-03-25T18:45:14+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37424#p37424</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37424#p37424"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37424#p37424"><![CDATA[
I have not tried with only one dynamixel connected, will do that tonight. Everything with the stock firmware worked exactly as documented before I flashed BioloidCControl and did repeatedly show the wrong behavior after reflashing the originalfirmware. Also with BioloidCControl all movements are absolutely fine and as expected, which led me to assume that there is no hardware/connection problem but i definatley will check once more. What I did check was with Robomanager, I e.g zeroed all servos in the manager and the real servos moved to the correct position. Also, in managed mode, all servos move to the correct 0 position and it does go in the correct default standing position with the default firmware. But I'll recheck everything later tonight to make sure that there is not a problem on the robot side.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Mon Mar 25, 2013 6:45 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[siempre.aprendiendo]]></name></author>
<updated>2013-03-25T16:57:45+01:00</updated>
<published>2013-03-25T16:57:45+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37421#p37421</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37421#p37421"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37421#p37421"><![CDATA[
Sometimes very strange things ocur, due a a bad cable connection (check ALL of them), low level battery, wrong switch position (USB2Dynamixel), serial connection and Zig or IR connected, two usb2dynamixel connected, ... but IMHO is very very unlikely that the cause could be the previous downloaded firmware.<br /><br />Have you tried with only one AX-12 connected? serial and usb2dynamixel connection?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=698">siempre.aprendiendo</a> — Mon Mar 25, 2013 4:57 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-25T16:27:27+01:00</updated>
<published>2013-03-25T16:27:27+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37420#p37420</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37420#p37420"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37420#p37420"><![CDATA[
Jfyi, restored firmware again without errors, uploaded the Bioloid premium model A task file (with Robotask) and uploaded the corresponding motion file (using Robomotion), both according to the instructions in the e-manual. No luck - once selecting Remote mode, it tried to move again into a totally impossible pose. <br />Interestingly, when selecting the graphical pose editor in Robomotion, in the &quot;step&quot; view all looks right, but when selecting &quot;robot&quot; it showed the wrong pose the robot wanted to move into. As I'm not yet familiar with the Robo* tools from Robotis itself I expect doing something wrong, however - all I did was following the instructions. I'm aware this is not the right thread for it, I just mention it as it occurred after flashing BioloidCCdontrol and there might be a connection.<br />In case it has something to do with the size of the BioloidCControl firmware, mine have these sizes:<br /><br />  80K BioloidCControl.bin<br />228K BioloidCControl.hex<br /><br />Anyway, with BioloidCControl via serial cable connection all works as expected so I wanted to try out using the RC-110 remote control. I therefor edited serial.h and changed it to this: <br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>// #define SERIAL_CABLE<br />// #define ZIG_2_SERIAL<br />#define RC100<br /></code></dd></dl><br /><br />I compiled and flashed the new BioloidCControl.bin. After turning it on, the firmware started as expected, I could not enter commands and thus tried using the remote control. This however did not produce any output on the serial console nor any movement of the robot.<br />Do I have to configure something else in the code - I saw no ir device configured under<br />ADC Channel settings in global.h?<br /><br />Last but not least I have another completely  unrelated question - the mentioned accelerometer which is used for balance - where would I get that? I googled and found several ones but it seems there is none specific Bioloid version, or did I just not find it.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Mon Mar 25, 2013 4:27 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-25T13:07:14+01:00</updated>
<published>2013-03-25T13:07:14+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37418#p37418</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37418#p37418"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37418#p37418"><![CDATA[
thanks a lot for the hint about uploading as bin file. Works like a charm now <img src="http://forum.robosavvy.com/images/smilies/icon_smile.gif" alt=":)" title="Smile" /><br />I'll included the bin generation in the Makefile:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>PROJECT=BioloidCControl<br /><br />CC=avr-gcc<br />OBJCOPY=avr-objcopy<br /><br />MMCU=atmega2561<br /><br />SOURCES=adc.c balance.c BioloidCControl.c button.c buzzer.c clock.c dxl_hal.c dynamixel.c led.c motion.c pid.c pose.c serial.c walk.c<br />OBJS=$&#40;SOURCES:.c=.o&#41;<br /><br />CFLAGS=-Wall -g -std=gnu99 -lm -Os -DF_CPU=16000000UL -mmcu=$&#40;MMCU&#41; -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums<br /><br /><br />all: $&#40;PROJECT&#41;.hex $&#40;PROJECT&#41;.bin<br /><br /><br />$&#40;PROJECT&#41;.bin: $&#40;PROJECT&#41;.elf<br />        $&#40;OBJCOPY&#41; -R .eeprom -O binary $&#40;PROJECT&#41;.elf $&#40;PROJECT&#41;.bin<br /><br />$&#40;PROJECT&#41;.hex: $&#40;PROJECT&#41;.elf<br />        $&#40;OBJCOPY&#41; -O ihex -Wl,-Map=&quot;BioloidCControl.map&quot; -Wl,--start-group -Wl,-lm  -Wl,--end-group $&lt; $&#40;PROJECT&#41;.hex<br /><br />$&#40;PROJECT&#41;.elf: $&#40;OBJS&#41;<br />        $&#40;CC&#41; $&#40;CFLAGS&#41; -o $@ $^ <br /><br /><br />%.o: %.c<br />        $&#40;CC&#41; $&#40;CFLAGS&#41; -c $&lt; -o $@<br /><br />clean:<br />        rm -f $&#40;PROJECT&#41;.bin<br />        rm -f $&#40;PROJECT&#41;.hex<br />        rm -f $&#40;PROJECT&#41;.elf<br />        rm -f $&#40;OBJS&#41;<br /></code></dd></dl><br /><br />The .bin file was successfully flashed to cm-510 (error was still reported but after pushing start the BioloidCControl command prompt appeared on in the terminal and I was able to launch commands like sit and stnd).<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Mon Mar 25, 2013 1:07 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[siempre.aprendiendo]]></name></author>
<updated>2013-03-25T12:50:32+01:00</updated>
<published>2013-03-25T12:50:32+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37417#p37417</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37417#p37417"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37417#p37417"><![CDATA[
It seems that the problem flashing the controller with Linux (or other tools) is some HEX redundancy codes that should be added to the hex , but generating and uploading a bin file, the software is uploaded to the controller correctly altohough it still shows some errors<br /><br />With Eclipse, Settings, Post Build-steps, command:<br />avr-objcopy -R .eeprom -O binary ${BuildArtifactFileName}  ${BuildArtifactFileBaseName}.bin<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=698">siempre.aprendiendo</a> — Mon Mar 25, 2013 12:50 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-25T12:37:28+01:00</updated>
<published>2013-03-25T12:37:28+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37416#p37416</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37416#p37416"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37416#p37416"><![CDATA[
Seems the problem with BioloidCControl not working was the fact that I used gtkterm under linux to flash the controller. I tried with the roboplus terminal and all works as expected now. <br />I could have tried that initially, as the gtkterm flashing actually produced an error which I missed the first time:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code> SYSTEM O.K. &#40;CM510 Boot loader V1.51&#41;<br /> - ld                     <br /> Write Address : 00000000<br /> Ready..Error<br /> Rewriting:0X001C<br /> Size:0X0003821B  Checksum:58-0A<br /></code></dd></dl><br /><br />One thing I forgot to initially mentioning, when compiling the source I got this message:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>In file included from adc.c:39:<br />global.h:1: error: stray '\357' in program<br />global.h:1: error: stray '\273' in program<br />global.h:1: error: stray '\277' in program<br />In file included from clock.h:28,<br />                 from adc.c:41:<br />global.h:1: error: stray '\357' in program<br />global.h:1: error: stray '\273' in program<br />global.h:1: error: stray '\277' in program<br />make: *** &#91;adc.o&#93; Error 1<br /></code></dd></dl><br /><br />so I converted the file to ascii:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>iconv --from-code UTF-8 --to-code US-ASCII -c global.h &gt; global.h.ascii<br /></code></dd></dl><br /><br />then this error appeared:<br /><br /><dl class="codebox"><dt>Code: </dt><dd><code>BioloidCControl.o: In function `__do_copy_data':<br />/usr/src/crux/BioloidCControl/BioloidCControl.c:304: multiple definition of `__do_copy_data'<br />/opt/cross/avr/lib/gcc/avr/4.3.3/../../../../avr/lib/avr6/crtm2561.o:../../../../crt1/gcrt1.S:195: first defined here<br />make: *** &#91;BioloidCControl.elf&#93; Error 1<br /></code></dd></dl><br /><br />I read up on the bug description in the comment and the linked thread and wondered if the bug also exists in my toolchain. Before investigating further I did comment out the fix  and built without it. <br />How should the bug manifest in case I'd have it?<br /><br />Anyway all seems to work when the .hex file gets flashed with roboplus terminal, I'm now trying different options with gtkterm to see if I can get it working as well. Later I will reflash the default firmware as well as motion and task files - is there any way to do that without windows, I have it in a vm now but it is slow as hell due to the limited memory I can assign to it.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Mon Mar 25, 2013 12:37 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[planius]]></name></author>
<updated>2013-03-25T00:21:46+01:00</updated>
<published>2013-03-25T00:21:46+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37414#p37414</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37414#p37414"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37414#p37414"><![CDATA[
Yes, you have to re-flash the original task and motion files after you re-installed the Robotis firmware. BioloidCControl exceeds 64KB and partially overwrites the Task and Motion files.<br /><br />Did you follow the instructions in the User Guide regarding the installation and operation of BioloidCControl? What output did you see on the serial port?<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2823">planius</a> — Mon Mar 25, 2013 12:21 am</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-24T23:07:16+01:00</updated>
<published>2013-03-24T23:07:16+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37413#p37413</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37413#p37413"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37413#p37413"><![CDATA[
Thanks for the AVR Studio build output. I finally found time to flash the .hex file, however, after powering on it did not do anything, so maybe I need to add the remaining flags. I ran into some other problem: <br /><br />After nothing happened, I though I'd just reflash the original firmware, so in the end I installed Windows with RoboPlus in a virtual machine and used the Robo Manager to do so (using the included wizard). It did succeed but to my surprise the robot - once turned on and switched to demo, remote or autonomous walking mode - just moved to a completely scrambled position, then made a warning sound and released all servos, blinking their leds (the servos all move into colliding positions). The basic posture after turning it on and pushing start when the 'play' mode was selected was totally ok, just once I push 'l', 'r' or 'd' - all goes wrong.<br /><br />I went though the self checklist, all seems fine, I can connect to the controller, the servos center on the correct position and the check assembly mode also works as expected.<br /><br />Is there any further diagnostics guide / hints I could try in order to determine what might be wrong?<br />Do I have to upload the task and motions files again after a firmware reset (I built Robot model A and thought that for that the default firmware should be already configured) - I actually tried it already but am not sure if I did it right with the roboplus motion editor - afterwards the behavior was still exactly as wrong as before (it always moves to the same wrong pose).<br /><br />Any hint is appreciated. In the meantime I'll update the Makefile, rebuild and reflash with the custom firmware to see if the additional compiler flags might have an influence on that working.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Sun Mar 24, 2013 11:07 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[planius]]></name></author>
<updated>2013-03-21T23:20:06+01:00</updated>
<published>2013-03-21T23:20:06+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37402#p37402</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37402#p37402"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37402#p37402"><![CDATA[
I have never tried this under Linux, but the makefile looks about right to me. Just to let you know, AVR Studio uses gcc 4.6.2 and applies the following compiler and link options:<br /><dl class="codebox"><dt>Code: </dt><dd><code>------ Rebuild All started: Project: BioloidCControl, Configuration: Debug AVR ------<br />Build started.<br />Project &quot;BioloidCControl.cproj&quot; &#40;ReBuild target&#40;s&#41;&#41;:<br />Target &quot;PreBuildEvent&quot; skipped, due to false condition; &#40;'$&#40;PreBuildEvent&#41;'!=''&#41; was evaluated as &#40;''!=''&#41;.<br />Target &quot;CoreRebuild&quot; in file &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\Vs\Compiler.targets&quot; from project &quot;C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.cproj&quot; &#40;target &quot;ReBuild&quot; depends on it&#41;:<br />   Using &quot;RunCompilerTask&quot; task from assembly &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\Vs\Compiler.Task.dll&quot;.<br />   Task &quot;RunCompilerTask&quot;<br />      C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\make\make.exe clean all <br />      rm -rf  adc.o balance.o BioloidCControl.o button.o buzzer.o clock.o dxl_hal.o dynamixel.o led.o motion.o pid.o pose.o serial.o walk.o adc.d balance.d BioloidCControl.d button.d buzzer.d clock.d dxl_hal.d dynamixel.d led.d motion.d pid.d pose.d serial.d walk.d  <br />      rm -rf &quot;BioloidCControl.elf&quot; &quot;BioloidCControl.a&quot; &quot;BioloidCControl.hex&quot; &quot;BioloidCControl.lss&quot; &quot;BioloidCControl.eep&quot; &quot;BioloidCControl.map&quot; &quot;BioloidCControl.srec&quot;<br />      Building file: .././adc.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;adc.d&quot; -MT&quot;adc.d&quot; -MT&quot;adc.o&quot;  -mmcu=atmega2561   -o&quot;adc.o&quot; &quot;.././adc.c&quot; <br />      Finished building: .././adc.c<br />      Building file: .././balance.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;balance.d&quot; -MT&quot;balance.d&quot; -MT&quot;balance.o&quot;  -mmcu=atmega2561   -o&quot;balance.o&quot; &quot;.././balance.c&quot; <br />      Finished building: .././balance.c<br />      Building file: .././BioloidCControl.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;BioloidCControl.d&quot; -MT&quot;BioloidCControl.d&quot; -MT&quot;BioloidCControl.o&quot;  -mmcu=atmega2561   -o&quot;BioloidCControl.o&quot; &quot;.././BioloidCControl.c&quot; <br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c&#40;113,1&#41;: missing braces around initializer &#91;-Wmissing-braces&#93;<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c&#40;113,1&#41;: &#40;near initialization for 'command_sequence_buffer&#91;0&#93;'&#41; &#91;-Wmissing-braces&#93;<br />      .././BioloidCControl.c: In function 'main':<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c&#40;146,8&#41;: variable 'motion_flag' set but not used &#91;-Wunused-but-set-variable&#93;<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.c&#40;143,34&#41;: variable 'comm_status' set but not used &#91;-Wunused-but-set-variable&#93;<br />      Finished building: .././BioloidCControl.c<br />      Building file: .././button.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;button.d&quot; -MT&quot;button.d&quot; -MT&quot;button.o&quot;  -mmcu=atmega2561   -o&quot;button.o&quot; &quot;.././button.c&quot; <br />      Finished building: .././button.c<br />      Building file: .././buzzer.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;buzzer.d&quot; -MT&quot;buzzer.d&quot; -MT&quot;buzzer.o&quot;  -mmcu=atmega2561   -o&quot;buzzer.o&quot; &quot;.././buzzer.c&quot; <br />      Finished building: .././buzzer.c<br />      Building file: .././clock.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;clock.d&quot; -MT&quot;clock.d&quot; -MT&quot;clock.o&quot;  -mmcu=atmega2561   -o&quot;clock.o&quot; &quot;.././clock.c&quot; <br />      Finished building: .././clock.c<br />      Building file: .././dxl_hal.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;dxl_hal.d&quot; -MT&quot;dxl_hal.d&quot; -MT&quot;dxl_hal.o&quot;  -mmcu=atmega2561   -o&quot;dxl_hal.o&quot; &quot;.././dxl_hal.c&quot; <br />      Finished building: .././dxl_hal.c<br />      Building file: .././dynamixel.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;dynamixel.d&quot; -MT&quot;dynamixel.d&quot; -MT&quot;dynamixel.o&quot;  -mmcu=atmega2561   -o&quot;dynamixel.o&quot; &quot;.././dynamixel.c&quot; <br />      Finished building: .././dynamixel.c<br />      Building file: .././led.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;led.d&quot; -MT&quot;led.d&quot; -MT&quot;led.o&quot;  -mmcu=atmega2561   -o&quot;led.o&quot; &quot;.././led.c&quot; <br />      Finished building: .././led.c<br />      Building file: .././motion.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;motion.d&quot; -MT&quot;motion.d&quot; -MT&quot;motion.o&quot;  -mmcu=atmega2561   -o&quot;motion.o&quot; &quot;.././motion.c&quot; <br />      .././motion.c: In function 'executeMotionSequence':<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c&#40;356,20&#41;: variable 'comm_status' set but not used &#91;-Wunused-but-set-variable&#93;<br />      .././motion.c: In function 'executeMotion':<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c&#40;803,16&#41;: variable 'step_times' set but not used &#91;-Wunused-but-set-variable&#93;<br />      .././motion.c: In function 'executeMotionSequence':<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\motion.c&#40;629,1&#41;: control reaches end of non-void function &#91;-Wreturn-type&#93;<br />      Finished building: .././motion.c<br />      Building file: .././pid.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;pid.d&quot; -MT&quot;pid.d&quot; -MT&quot;pid.o&quot;  -mmcu=atmega2561   -o&quot;pid.o&quot; &quot;.././pid.c&quot; <br />      Finished building: .././pid.c<br />      Building file: .././pose.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;pose.d&quot; -MT&quot;pose.d&quot; -MT&quot;pose.o&quot;  -mmcu=atmega2561   -o&quot;pose.o&quot; &quot;.././pose.c&quot; <br />      .././pose.c: In function 'moveToDefaultPose':<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\pose.c&#40;210,2&#41;: passing argument 2 of 'moveToGoalPose' discards 'const' qualifier from pointer target type &#91;enabled by default&#93;<br />C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\pose.c&#40;161,5&#41;: expected 'uint16 *' but argument is of type 'const uint16 *'<br />      Finished building: .././pose.c<br />      Building file: .././serial.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;serial.d&quot; -MT&quot;serial.d&quot; -MT&quot;serial.o&quot;  -mmcu=atmega2561   -o&quot;serial.o&quot; &quot;.././serial.c&quot; <br />      Finished building: .././serial.c<br />      Building file: .././walk.c<br />      Invoking: AVR/GNU C Compiler : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL  -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -MD -MP -MF &quot;walk.d&quot; -MT&quot;walk.d&quot; -MT&quot;walk.o&quot;  -mmcu=atmega2561   -o&quot;walk.o&quot; &quot;.././walk.c&quot; <br />      Finished building: .././walk.c<br />      Building target: BioloidCControl.elf<br />      Invoking: AVR/GNU Linker : &#40;AVR_8_bit_GNU_Toolchain_3.4.1_830&#41; 4.6.2<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-gcc.exe&quot; -o BioloidCControl.elf  adc.o balance.o BioloidCControl.o button.o buzzer.o clock.o dxl_hal.o dynamixel.o led.o motion.o pid.o pose.o serial.o walk.o   -Wl,-Map=&quot;BioloidCControl.map&quot; -Wl,--start-group -Wl,-lm  -Wl,--end-group  -mmcu=atmega2561  <br />      Finished building target: BioloidCControl.elf<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe&quot; -O ihex -R .eeprom -R .fuse -R .lock -R .signature  &quot;BioloidCControl.elf&quot; &quot;BioloidCControl.hex&quot;<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe&quot; -j .eeprom  --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0  --no-change-warnings -O ihex &quot;BioloidCControl.elf&quot; &quot;BioloidCControl.eep&quot; || exit 0<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objdump.exe&quot; -h -S &quot;BioloidCControl.elf&quot; &gt; &quot;BioloidCControl.lss&quot;<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-objcopy.exe&quot; -O srec -R .eeprom -R .fuse -R .lock -R .signature  &quot;BioloidCControl.elf&quot; &quot;BioloidCControl.srec&quot;<br />      &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.1.95\AVRToolchain\bin\avr-size.exe&quot; &quot;BioloidCControl.elf&quot;<br />         text      data       bss       dec       hex   filename<br />        75978      1690      2131     79799     137b7   BioloidCControl.elf<br />   Done executing task &quot;RunCompilerTask&quot;.<br />   Using &quot;RunOutputFileVerifyTask&quot; task from assembly &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\Vs\Compiler.Task.dll&quot;.<br />   Task &quot;RunOutputFileVerifyTask&quot;<br />            Program Memory Usage    :   77668 bytes   29.6 % Full<br />            Data Memory Usage       :   3821 bytes   5.9 % Full<br />   Done executing task &quot;RunOutputFileVerifyTask&quot;.<br />Done building target &quot;CoreRebuild&quot; in project &quot;BioloidCControl.cproj&quot;.<br />Target &quot;PostBuildEvent&quot; skipped, due to false condition; &#40;'$&#40;PostBuildEvent&#41;' != ''&#41; was evaluated as &#40;'' != ''&#41;.<br />Target &quot;ReBuild&quot; in file &quot;C:\Program Files &#40;x86&#41;\Atmel\Atmel Studio 6.0\Vs\Avr.common.targets&quot; from project &quot;C:\Users\Peter\Documents\Atmel Studio\BioloidCControl\BioloidCControl\BioloidCControl\BioloidCControl.cproj&quot; &#40;entry point&#41;:<br />Done building target &quot;ReBuild&quot; in project &quot;BioloidCControl.cproj&quot;.<br />Done building project &quot;BioloidCControl.cproj&quot;.<br /><br />Build succeeded.<br />========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========<br /></code></dd></dl><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=2823">planius</a> — Thu Mar 21, 2013 11:20 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tachikoma]]></name></author>
<updated>2013-03-21T17:51:09+01:00</updated>
<published>2013-03-21T17:51:09+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37398#p37398</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37398#p37398"/>
<title type="html"><![CDATA[BioloidCControl - Alternative firmware for CM-510]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=7539&amp;p=37398#p37398"><![CDATA[
Hi, I'm new to bioloid and this forum, just finished building it up and now was reading on all the projects that exist and decided this one would be a nice start.<br /><br />I have learned C programming about 15 years ago and never really used it (grew up with perl/ruby and so on), so I have to refresh quite some knowledge, so please forgive me in case I say/do something that sounds/looks stupid to a experienced C user. Feel free to correct me wherever you think it's necessary.<br /><br />Anyway, my major problem was that I do not have windows nor any access to a windows system that i could install avr studio on, so I need to compile this project under Linux. I created a Makefile for that which seems to do the job, but I have not yet flashed the code onto the CM-510 yet, so I don't know if the firmware actually works.<br /><br />Here the Makefile:<br /><br /> <dl class="codebox"><dt>Code: </dt><dd><code>PROJECT=BioloidCControl<br /><br />CC=avr-gcc<br />OBJCOPY=avr-objcopy<br /><br />MMCU=atmega2561<br /><br />SOURCES=adc.c balance.c BioloidCControl.c button.c buzzer.c clock.c dxl_hal.c dynamixel.c led.c motion.c pid.c pose.c serial.c walk.c<br />OBJS=$&#40;SOURCES:.c=.o&#41;<br /><br />CFLAGS=-Wall -g -std=gnu99 -lm -Os -DF_CPU=16000000UL -mmcu=$&#40;MMCU&#41; -I.<br /><br /><br />all: $&#40;PROJECT&#41;.hex<br /><br /><br />$&#40;PROJECT&#41;.hex: $&#40;PROJECT&#41;.elf<br />        $&#40;OBJCOPY&#41; -O ihex $&lt; $&#40;PROJECT&#41;.hex<br /><br />$&#40;PROJECT&#41;.elf: $&#40;OBJS&#41;<br />        $&#40;CC&#41; $&#40;CFLAGS&#41; -o $@ $^ <br /><br />%.o: %.c<br />        $&#40;CC&#41; $&#40;CFLAGS&#41; -c $&lt; -o $@<br /><br />clean:<br />        rm -f $&#40;PROJECT&#41;.hex<br />        rm -f $&#40;PROJECT&#41;.elf<br />        rm -f $&#40;OBJS&#41;<br /></code></dd></dl><br /><br />Please let me know if there is anything obviously wrong with it or what might be improved. Thanks a lot.<br /><br />The system i was able to compile on was an opensuse12.1, the avr-gcc version is version 4.3.3, just in case anyone wants to know.<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=4257">tachikoma</a> — Thu Mar 21, 2013 5:51 pm</p><hr />
]]></content>
</entry>
</feed>