We now have a working Arduino library for controlling Diablo using the two-wire connections (I2C)
The library is attached to this post, it comes complete with an example program. Please be aware that the wiring instructions included with the example are out of date - corrections and diagram below.
The data power connection which is labelled V-Logic must be connected to either a 2.5V, 3.3V, or 5V source. This should match the voltages used by the I2C lines.
The 5V pins are outputs and available to power other electronics from the on board DC/DC up to a shared maximum of 1.5A.
Edit: Corrections for the updated version of Diablo (rounded corners).
DiabloArduino\Diablo.cpp.o: In function `ReadInReply()':
C:\*********\Documents\Arduino\libraries\DiabloArduino/Diablo.cpp:17: multiple definition of `ReadInReply()'
PicoBorgRevArduino\PicoBorgRev.cpp.o:C:\********\Documents\Arduino\libraries\PicoBorgRevArduino/PicoBorgRev.cpp:17: first defined here
DiabloArduino\Diablo.cpp.o: In function `DiabloMotorsOff()':
C:\**********\Documents\Arduino\libraries\DiabloArduino/Diablo.cpp:114: multiple definition of `rdBuffer'
PicoBorgRevArduino\PicoBorgRev.cpp.o:C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:73: first defined here
collect2.exe: error: ld returned 1 exit status
Error compiling.
The Arduino compiler wants all of the functions from each file to have a unique name.
Because the Diablo and PicoBorg Reverse libraries use some common functionality they are listed in both files.
The easiest thing to do is comment out the copies of rdBuffer and ReadInReply in one of the two libraries so they share the same copy.
Your alternative of renaming the function and variable is a little more effort, but means the libraries will work both independently and as a pair.
piborg
Fri, 08/15/2014 - 12:45
Permalink
Arduino library for Diablo
We now have a working Arduino library for controlling Diablo using the two-wire connections (I2C)
The library is attached to this post, it comes complete with an example program. Please be aware that the wiring instructions included with the example are out of date - corrections and diagram below.
The data power connection which is labelled V-Logic must be connected to either a 2.5V, 3.3V, or 5V source. This should match the voltages used by the I2C lines.
The 5V pins are outputs and available to power other electronics from the on board DC/DC up to a shared maximum of 1.5A.
Edit: Corrections for the updated version of Diablo (rounded corners).
steelsquid
Sun, 03/01/2015 - 10:32
Permalink
Size of the board
Hi.
I can not find any specifiication on the size of the board and where the holes is?
Do you have a drawing of that?
/Andreas
piborg
Sun, 03/01/2015 - 19:12
Permalink
Diablo sizes
The Diablo is 65 x 110 mm in size, the height is 18 mm from the top of the connectors to the bottom of the PCB.
There are mounting holes in each of the four corners, they are 7 mm in from each side.
medic689
Sun, 08/16/2015 - 02:12
Permalink
using two libraries
I'm currently using the PBR and Diablo libraries for an arduino project, but i keep getting this error of multiple definitions.
Arduino: 1.6.5 (Windows 8.1), Board: "Arduino Uno"
DiabloArduino\Diablo.cpp.o: In function `ReadInReply()':
C:\*********\Documents\Arduino\libraries\DiabloArduino/Diablo.cpp:17: multiple definition of `ReadInReply()'
PicoBorgRevArduino\PicoBorgRev.cpp.o:C:\********\Documents\Arduino\libraries\PicoBorgRevArduino/PicoBorgRev.cpp:17: first defined here
DiabloArduino\Diablo.cpp.o: In function `DiabloMotorsOff()':
C:\**********\Documents\Arduino\libraries\DiabloArduino/Diablo.cpp:114: multiple definition of `rdBuffer'
PicoBorgRevArduino\PicoBorgRev.cpp.o:C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire/Wire.h:73: first defined here
collect2.exe: error: ld returned 1 exit status
Error compiling.
what can i do to fix this?
Thanks!
medic689
Sun, 08/16/2015 - 14:46
Permalink
I over came this by renaming
I over came this by renaming a few of the functions and the rdBuffer to unique names. mostly by adding a 'p' or 'd' to the end of the name.
piborg
Mon, 08/17/2015 - 10:44
Permalink
Renaming functions
Glad to hear you got the problem sorted.
The Arduino compiler wants all of the functions from each file to have a unique name.
Because the Diablo and PicoBorg Reverse libraries use some common functionality they are listed in both files.
The easiest thing to do is comment out the copies of
rdBuffer
andReadInReply
in one of the two libraries so they share the same copy.Your alternative of renaming the function and variable is a little more effort, but means the libraries will work both independently and as a pair.