[PD] Sensors GPIO Raspberry Pi Pd
Julian Brooks
jbeezez at gmail.com
Fri Apr 19 23:37:04 CEST 2013
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^@^@^@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> 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> wrote:
>
>> hmmm - both files:
>> ./hello-2
>> Segmentation fault
>>
>> Try again...
>>
>>
>>
>> On 19 April 2013 21:51, Julian Brooks <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> 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/31ecea29/attachment-0001.htm>
More information about the Pd-list
mailing list