[PD] Sensors GPIO Raspberry Pi Pd

Julian Brooks jbeezez at gmail.com
Fri Apr 19 22:51:00 CEST 2013


Ok -found I had to remove 'libi2c-dev'.

Then builds.

More soon...


On 19 April 2013 21:28, Julian Brooks <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> 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> 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>> 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>> 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>>
>>>>         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@**sympatico.ca <martin.peach at sympatico.ca>
>>>> >>
>>>>         Cc: PD List <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 mailing list
>>>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/**
>>>> listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130419/1f9831e5/attachment.htm>


More information about the Pd-list mailing list