[PD] Sensors GPIO Raspberry Pi Pd

Martin Peach martin.peach at sympatico.ca
Sat Apr 20 19:30:45 CEST 2013


Well that looks a total mess...

I did "sudo apt-get install i2c-dev" before all this, as well as all the 
things in http://www.instructables.com/id/Raspberry-Pi-I2C-Python/#step1 
except I didn't use any python.
The segfaults might be because you are asking for more than 32 bytes in 
a read, or something wrong in the code, the listing below looks like it 
goes wrong right at the beginning.


Martin

On 2013-04-19 17:37, Julian Brooks wrote:
> As I'm new to all this C stuff I just had a look inside the 'hello' file
> and there's a few bits in there which may be of interest:
> ^@D6T_checkPEC says 0x%02X
> (which I think is ok from looking at the code?)
> then it all goes wrong
> ^@^@^@Unable to create socket (%d)
> ^@^@^@>> %s <<
> ^@^@^@127.0.0.1 <http://127.0.0.1>^@^@^@Unable to make address from %s
> ^@%s: initialized:%d
> ^@/dev/i2c-0^@^@Failed to open the bus. (%d)
> ^@^@^@Failed to acquire bus access and/or talk to slave. (%d)
> ^@^@^@^@Write failed (%d)
> ^@^@Read failed (%d)
> ^@^@^@%d ^@<0x%02X>
> ^@^@^@d6t8l^@^@^@ %d^@
> ^@^@^@sendto error (%d)
>
> BTW - I've removed libi2c-dev again and will leave it that way for now.
>
> Going to stop now but will be back tomorrow.
>
> Cheers,
>
> Julian
>
>
>
>
>
> On 19 April 2013 22:07, Julian Brooks <jbeezez at gmail.com
> <mailto:jbeezez at gmail.com>> wrote:
>
>     Edited your original file and all I changed was the ip address to
>     127.0.0.1 and still seg fault (double checked /etc/hosts too).
>
>     Also tried reinstalling libi2c-dev and then running 'hello' - same.
>
>
>     On 19 April 2013 21:54, Julian Brooks <jbeezez at gmail.com
>     <mailto:jbeezez at gmail.com>> wrote:
>
>         hmmm - both files:
>         ./hello-2
>         Segmentation fault
>
>         Try again...
>
>
>
>         On 19 April 2013 21:51, Julian Brooks <jbeezez at gmail.com
>         <mailto:jbeezez at gmail.com>> wrote:
>
>             Ok -found I had to remove 'libi2c-dev'.
>
>             Then builds.
>
>             More soon...
>
>
>             On 19 April 2013 21:28, Julian Brooks <jbeezez at gmail.com
>             <mailto:jbeezez at gmail.com>> wrote:
>
>                 Hey Martin,
>
>                 When I try to compile hello.c I get:
>                 gcc -o hello hello.c
>                 In file included from hello.c:8:0:
>                 /usr/include/linux/i2c-dev.h:38:8: error: redefinition
>                 of 'struct i2c_msg'
>                 /usr/include/linux/i2c.h:67:8: note: originally defined here
>                 /usr/include/linux/i2c-dev.h:90:7: error: redefinition
>                 of 'union i2c_smbus_data'
>                 /usr/include/linux/i2c.h:125:7: note: originally defined
>                 here
>
>                 Dunno if this is at all relevant but maybe this is a
>                 good time to say I have a rev1 RPi so I'm on i2c 0 not 1.
>                 The Pi install is very up to date though, including
>                 recent runs of hexxeh's 'rpi-update' tool so all the
>                 system's fresh.
>
>                 I did attempt to change the number of bytes to be read
>                 which perhaps would explain why the .h file's are
>                 complaining but I don't understand it for your version
>                 which is 'as-is'?
>
>                 In fact why don't I attach the notes I've made of the
>                 changes to the c file you sent.  Was vaguely hoping I
>                 might be able to say 'ta da' but have fallen at the 1st
>                 fence:( bugger.
>
>                 Julian
>
>
>
>
>
>                 On 19 April 2013 19:51, Julian Brooks <jbeezez at gmail.com
>                 <mailto:jbeezez at gmail.com>> wrote:
>
>                     Hi Martin,
>
>                     Meant to add re setting baud rate:
>                     I've been making use of the gpio utility that comes
>                     with wiringPi
>                     https://projects.drogon.net/raspberry-pi/wiringpi/the-gpio-utility/
>                     Very handy for getting a quick visualisation of the
>                     current state of all the pins and also easy-access
>                     to setting the baud rate too (amongst other stuff).
>
>                     Julian
>
>
>                     On 19 April 2013 14:36, Martin Peach
>                     <martin.peach at sympatico.ca
>                     <mailto:martin.peach at sympatico.ca>> wrote:
>
>                         Hi Julian,
>                         Yes I've been messing with coding it in c on the
>                         pi and sending the data to a [netreceive] in a
>                         Pd patch on another machine. I'm attaching the
>                         source code for the pi part and the Pd patch.
>                         The code can be compiled on the pi with
>                         gcc -o hello hello.c
>                         You need to set the IP address of the receiving
>                         machine in the code (I have 192.168.2.15, it
>                         could be 127.0.0.1 for the same machine).
>                         I tried changing the baud rate with
>                         sudo modprobe -r i2c_bcm2708
>                         sudo modprobe i2c)bcn2708 baudrate=90000
>                         but it works fine at the default 100000.
>                         It seems that you only need to write the command
>                         once, after that simply reading gets you another
>                         packet. Using a combined write/read operation
>                         only works half the time, as I also found on the
>                         Arduino. All you need to do is write the 0x4C
>                         command once, wait a millisecond or so and then
>                         read it.
>                         Another issue is that I tried this with the 8X1
>                         sensor, not the 4X4 one, so the code reads 19
>                         bytes (need to change the expected read size in
>                         the code). The 4X4 sensor sends 35 bytes which
>                         is 3 more than the i2c driver maximum, so you
>                         may not get the last part of a packet.
>                         I'll try it later with a 4X4 sensor to see what
>                         happens.
>
>                         Martin
>
>
>                         On 2013-04-19 07:01, Julian Brooks wrote:
>
>                             Hi Martin,
>
>                             Did you manage to make any progress with the
>                             sensor on the Pi?
>                             I also wanted to ask whether the output
>                             we're receiving from i2cdump
>                             makes any sense to you as it doesn't to us
>                             currently?  Tried searching
>                             around for possible info on the 'XX' & 'ff'
>                             but drawing a blank here.
>
>                             Cheers,
>
>                             Julian
>
>
>                             On 13 April 2013 01:11, Julian Brooks
>                             <jbeezez at gmail.com <mailto:jbeezez at gmail.com>
>                             <mailto:jbeezez at gmail.com
>                             <mailto:jbeezez at gmail.com>>> wrote:
>
>                                  Hey all,
>
>                                  Some success finally:
>
>                                  Hurrah!!
>
>                                  The scl breakout pin on the pi proto
>                             plate wasn't working properly.
>
>                                  When unscrewed halfway it works, when
>                             fully screwed in it doesn't.
>
>                                  So - now got this:
>
>                                  i2cdetect -y 0
>
>                                  0 1 2 3 4 5 6 7 8 9 a b c d e f
>
>                                  00: -- -- -- -- -- -- -- 0a -- -- -- -- --
>
>                                  10: -- -- -- -- -- -- -- -- -- -- -- --
>                             -- -- -- --
>
>                                  20: -- -- -- -- -- -- -- -- -- -- -- --
>                             -- -- -- --
>
>                                  30: -- -- -- -- -- -- -- -- -- -- -- --
>                             -- -- -- --
>
>                                  40: -- -- -- -- -- -- -- -- -- -- -- --
>                             -- -- -- --
>
>                                  50: -- -- -- -- -- -- -- -- -- -- -- --
>                             -- -- -- --
>
>                                  60: -- -- -- -- -- -- -- -- -- -- -- --
>                             -- -- -- --
>
>                                  70: -- -- -- -- -- -- -- --
>
>                                  and
>
>                                  i2cdump -y 0 0xa
>                                  No size specified (using byte-data access)
>
>                                  Gives a whole host of stuff I don't yet
>                             understand but I don't care
>                                  currently as something is actually
>                             happening.
>
>                                  Will figure out a way of saving the
>                             console info (any hints
>                                  anyone?)  as it gets badly mangled when
>                             cutting and pasting  but
>                                  basically something like this:
>
>                                  i2cdump -y 0 0xa
>                                  No size specified (using byte-data access)
>                                        0  1  2  3  4  5  6  7  8  9  a
>                               b  c  d  e
>                                  f                      0123456789abcdef
>                                  00: ff XX XX XX XX XX XX ff XX XX XX XX
>                             ff ff ff XX    .XXXXXX.XXXX...X
>                                  10: XX ff XX XX XX XX XX ff XX ff XX ff
>                             XX XX ff XX    X.XXXXX.X.X.XX.X
>                                  20: ff XX XX ff XX XX ff XX XX XX XX ff
>                             XX XX XX ff    .XX.XX.XXXX.XXX.
>                                  30: XX ff XX ff XX XX XX XX ff ff ff XX
>                             XX XX XX XX    X.X.XXXX...XXXXX
>                                  40: XX XX XX ff XX ff XX XX XX 64 XX XX
>                             d5 XX XX ff    XXX.X.XXXdXX?XX.
>                                  50: XX ff XX XX XX XX XX XX XX ff XX XX
>                             ff XX XX XX    X.XXXXXXX.XX.XXX
>                                  60: ff XX XX XX ff XX XX XX XX XX XX XX
>                             XX ff XX XX    .XXX.XXXXXXXX.XX
>                                  70: XX XX XX XX XX XX XX ff XX XX XX XX
>                             XX XX XX XX    XXXXXXX.XXXXXXXX
>                                  80: XX ff XX XX ff ff XX XX XX ff XX XX
>                             XX XX XX XX    X.XX..XXX.XXXXXX
>                                  90: XX XX ff XX XX ff XX ff XX ff ff XX
>                             XX ff ff XX    XX.XX.X.X..XX..X
>                                  a0: XX ff XX XX ff XX XX XX XX XX XX XX
>                             XX XX ff XX    X.XX.XXXXXXXXX.X
>                                  b0: XX XX ff XX XX XX ff XX XX ff XX XX
>                             XX XX XX XX    XX.XXX.XX.XXXXXX
>                                  c0: XX XX XX XX ff XX XX ff ff XX XX ff
>                             ff XX XX XX    XXXX.XX..XX..XXX
>                                  d0: XX XX XX XX XX ff XX ff XX XX XX XX
>                             XX ff XX ff    XXXXX.X.XXXXX.X.
>                                  e0: XX XX XX ff XX ff XX XX XX XX XX XX
>                             XX XX ff XX    XXX.X.XXXXXXXX.X
>                                  f0: ff XX ff ff XX XX XX XX XX XX XX XX
>                             XX XX ff XX    .X..XXXXXXXXXX.X
>
>
>                                  Progress at least.
>
>                                  Cheers,
>
>                                  Julian
>
>
>
>
>
>
>
>                                  On 12 April 2013 11:27, Julian Brooks
>                             <jbeezez at gmail.com <mailto:jbeezez at gmail.com>
>                                  <mailto:jbeezez at gmail.com
>                             <mailto:jbeezez at gmail.com>>> wrote:
>
>                                      Message resent for thread archives
>                             with smaller picture size.
>
>                                      Julian
>
>                                      ---------- Forwarded message ----------
>                                      From: *Julian Brooks*
>                             <jbeezez at gmail.com
>                             <mailto:jbeezez at gmail.com>
>                             <mailto:jbeezez at gmail.com
>                             <mailto:jbeezez at gmail.com>>>
>                                      Date: 11 April 2013 19:24
>                                      Subject: Re: [PD] Sensors GPIO
>                             Raspberry Pi Pd
>                                      To: Martin Peach
>                             <martin.peach at sympatico.ca
>                             <mailto:martin.peach at sympatico.ca>
>                                      <mailto:martin.peach at __sympatico.ca
>                             <mailto:martin.peach at sympatico.ca>>>
>                                      Cc: PD List <pd-list at iem.at
>                             <mailto:pd-list at iem.at>
>                             <mailto:pd-list at iem.at <mailto:pd-list at iem.at>>>
>
>
>                                      Hey Martin / list,
>
>                                      Finally got all the stuff and ...
>
>                                      It’s not working!
>
>                                      We spent the day soldering cables
>                             and connecting stuff up as per
>                                      the Omron ‘App Note 01’ spec sheet.
>
>                                      Started off super-conservative
>                             using the  I2C level converter
>                                      (case 3 page 4)
>                             http://www.adafruit.com/__products/757#Blog/Flickr
>                             <http://www.adafruit.com/products/757#Blog/Flickr>
>
>                                      We tried resistors on both sides
>                             (being super paranoid!) and
>                                      then we took  the low (Pi) side
>                             ones off.
>
>                                      We then moved on to case 2 page 3
>                             of this same document…
>
>                                      At each stage we checked with
>                             “I2Cdetect –Y 1” and nothing was
>                                      visible.
>
>                                      The grid shows no attached devices
>                             every time we run it.
>
>                                      We re-booted at every stage
>                             following the various online
>                                      tutorials/methods of setting up I2C
>                             GPIO on the Pi (checked &
>                                      double checked).
>
>
>                                      As you can see we’re using a pi
>                             protoplate:
>
>                             https://www.adafruit.com/__products/801
>                             <https://www.adafruit.com/products/801>
>
>                                      In the photo I’ve attached the
>                             cables are coded as follows:
>
>                                      Orange           GND
>
>                                      Yellow            5v
>
>                                      Blue                SCL
>
>                                      Green             SDA
>
>                                      The white is also 5v for the pull
>                             up resistors.
>
>                                      The resistor values are 4.7k btw.
>
>                                      We have tested the cable that
>                             terminates at the sensor and all
>                                      that is OK.
>
>                                      I put a multimeter on the GND and
>                             SDA solder points on the
>                                      sensor itself and got 3.7v…
>
>                                      I put a multimeter on the GND and
>                             SCL solder points on the
>                                      sensor itself and got 0.0v…
>
>                                      Don’t know if this means anything
>                             or could be useful to know!
>
>                                      Stuck and frustrated now but hey, 3
>                             weeks ago I knew absolutely
>                                      bugger all about any of this and
>                             now I do (sort of).
>
>                                      I'm thinking we could do with the
>                             most basic i2c sensor we can
>                                      find as we have nothing to compare.
>
>                                      Tonight I'm going to d/l a fresh
>                             raspbian and start from scratch
>                                      to check that end.
>
>                                      Feel like if we can't get past the
>                             'i2c-tools' tests we're
>                                      screwed - never mind getting it in
>                             and out of Pd.
>
>                                      Any thoughts/pointers/options from
>                             anyone will be really
>                                      appreciated?
>
>
>                                      Cheers,
>
>
>                                      Julian
>
>
>
>
>
>
>
>
>
>                             _________________________________________________
>                             Pd-list at iem.at <mailto:Pd-list at iem.at>
>                             mailing list
>                             UNSUBSCRIBE and account-management ->
>                             http://lists.puredata.info/__listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
>




More information about the Pd-list mailing list