PDA

View Full Version : [Question(s)] setup arduino ide for arbotix board



gorhgorh
03-20-2015, 05:07 PM
Hello,
I'm trying to use my phantomX turret on my mac and I'm running into some troubles.

I am on a macbook pro, running osx 10.10.2
Arduino Ide 1.5.6-r2 is installed

I copied the latest version of the arbotix in the ~/documents/arduino folder.

so when i check what i have in the arduino ide

I have the arbotix sketches in the sketchbook
I have the bioloid / commander lib
I DON'T have the arbotix in the board list
I have the AVRISP mk2 in the programmer list

I see the board itself in the port list

In the board list if i select the "Arduino robot control" and upload a sketch it blink when i transmit, but the sketch does not execute, any other one does not work.

I guess i should have the right board option, but can't find how to do so, anyone experienced this ?

thanks in advance for your input

gorhgorh
03-25-2015, 06:56 AM
i found the reason ... i had to use the 1.06 version of the arduino ide 1.5.6-r2 did not see the hardware driver

KurtEck
03-25-2015, 08:59 AM
Yes - there are no official Arbotix setups for anything but 1.0.5 or 6... But I have my own version setup that runs on 1.5.x or 1.6.x.

My version does not duplicate the old Arduino code base, but instead simply references it and define the board (board.txt)...
With it, I have my own version of the bioloid library that simply uses SerialX objects instead of specialized Serial code. I did this as there were performance improvements that went into the Hardware serial classes in the later 1.5.x Arduino branch, which for me appeared to make it work well enough, that you no longer needed the stripped down many versions behind code base.

My stuff is up on github: https://github.com/KurtE/arbotix/tree/arduino-1-6 and https://github.com/KurtE/BioloidSerial

gorhgorh
03-25-2015, 04:22 PM
thanks that will allow me to kill one of the many arduino version we have to keep at hand for exotic hardware ... :)

Griffin2003
04-14-2015, 06:30 PM
Kurt,
I am just getting started with the arbotixM and made the mistake starting with the links on the Trossen site which send you to Google Code.
I then updated that stuff with the artobix-0015 from GitHub. I also had to downgrade my IDE from 1.6 to 1.0.6. I have successfully run the older version of NUKE to characterize a hexapod and have written my own control panel in python in anticipation of starting some code that will allow the hexapod to operate on it's own.

I would love to upgrade to Arduion 1.5 anything. Will Arduino read the zip file and put everything in place?

So far, neither the original or the -0015 software has just worked. I have had to make a few changes related to window sizes in the NUKE Editor. There were major issues with the commander code which I solved in my own version of the software at both ends.

KurtEck
04-15-2015, 09:50 AM
Hi Griffin,

With my stuff up at: https://github.com/KurtE/arbotix/tree/arduino-1-6

There is currently no complete setup program for this. Also I personally have not done much with things like NUKE, but instead run my own code so maybe not much help with this.

Currently the stuff up on github is a simple fork of the official Trossen github version, so the installation steps are the same as for their version. Move the Hardware branch to your Arduino Sketch folder, move the libraries to the Arduino sketch/libraries folder, ...

Also I have my own version of the Bioloid libraries which I call bioloidserial, which simply uses one of the Hardware serial ports.

I should also note: that most(all?) of my testing was doing using AVR programmer to download code.

Again this worked well for me. Note: on 1.6.3, there are some warnings that show up if you use the new boards manager, so I probably should make some minor mods to board definition.

If I were doing this as in some official capacity, some of things I would investigate and maybe change include making this more integrated with the new Arduino setup.

This includes:
a) clean up those warning(s) - although official Edison versions also have warnings. Check and make sure we are following the current board definitions; https://github.com/arduino/Arduino/wiki/Boards-Manager-FAQ
b) Cleanup the libraries to make sure they are following the current library stuff: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
c) If any libraries are hardware specific maybe add them as part of the hardware setup.
d) See about some form of installation app. could be like Teensy or maybe see if can be added by boards manager.

Again sorry if I did not directly answer your question

Griffin2003
04-16-2015, 03:43 AM
Thanks Kurt,
I think that I will eventually have to do that. Going from the tried and true 1.0.6 to the newer versions of the IDE is more than I would like to do at this point, given that, as you pointed out, I would have to learn all about setting up a board for the IDE. As it is, in 1.0.6, my current issue is that A0 through A7 are not working as pin addresses. They get accepted, but they do not work. I ended up using PA0... etc. The pins_arduino.h file looks correct, so I am going to learn something about board setup in the end.

Again, thanks for your help.

Griffin2003
04-16-2015, 03:46 PM
Kurt,

I have an additional question. I have gone through the original artobix code and discovered as you have that they replicated most of the serial stuff. I am assuming that this was done to run the second hardware port. When you mention SerialX, is that an improved
Serial and Stream library in IDE 1.5.... and 1.6... or it something else? Looking at where I am and where you have gone, there seem to be two or three major hurtles, first is the serial stuff, second is the better compiler that might and probably did catch some errors writing to Flash, and third, there is the board characterization ( I am having trouble with pins_arduino.h right now. Do your changes solve these? Did I miss something?

KurtEck
04-16-2015, 05:08 PM
Works for me.

Yes - The current released Arbotix code base was based more or less on Arduino 1.0.0 actually some may be from earlier builds 023...

They did this as the earlier Arduino hardware serial code base queue code was pretty slow and they had issues with it working at 1mbs, so they rolled their own.

Somewhere about build 1.5.3 (maybe 4), I was playing with using the straight Arduino hardware serial code and it was working better, but from time to time it would hang. I figured out where it was, plus while at it tried out a few more performance hacks (If you are trying to output a character and nothing on queue and hardware register empty, try to output directly to register, instead of old code that would put on queue, force interrupt and wait for interrupt handler... It worked well. I tried a Pull request, which is when I found out others were also working on it, and some of my stuff got rolled in (including the performance hacks). After that I found the normal Hardware Serial worked well for me. Also figured out that there were really no other changes in the Arbotix folder and as such could simply reference the main Arduino hardware implementation.

As for as board definition. I think my pin definitions are the same as the ones in the released board definition. I did find a few issues with Pin Change interrupts earlier but the fixes were rolled back into main code base.

Also the Analog pins changed at some point, I think they were reversed at some point, but later changed to better match Arduino? Been a long time.

I usually have my machine setup to build with both sets of compilers. 1.0.6 (default Arduino install) and 1.6.3 (Zip file install) (maybe a few others). But with Arbotix stuff I have to remember which one I am going to do stuff with and rename the <sketch folder>/Hardware to the right one (I have a Hardware.1.0 an an Hardware.1.6 or the like an I rename the appropriate one to Hardware.

That makes it easier to test using either IDE