[PD] Sensors GPIO Raspberry Pi Pd
Julian Brooks
jbeezez at gmail.com
Sun Apr 21 03:09:56 CEST 2013
Oh and btw
Still don't know why I can't compile the .c files on the pi with libi2c-dev
installed but I can't. Presuming the compiling is working for you Martin?
Found the hints (same errors) here:
http://ubuntuforums.org/archive/index.php/t-1833646.html
and more pertinently here:
https://github.com/symptog/rpi_lcd/issues/1
Both pages say the fix is to remove the lib.
On 21 April 2013 01:43, Julian Brooks <jbeezez at gmail.com> wrote:
> Hey Martin,
>
> Yes indeed! Blimey.
>
> So I added the localhost ip and changed the i2c port from 1 (rev2 boards)
> to 0 (rev1) on this line:
> sprintf(filename, "/dev/i2c-0");
> Reinstalled libi2c-dev and boom - off it went. Wow.
>
> Still getting some errors though wondering if these are the same ones you
> previously mentioned with the crc (PEC) checks not working correctly? :
>
> Read failed (5)
> >> Input/output error <<
> D6T_checkPEC says 0x8F
> D6T_checkPEC says 0x52
> 182 140 148 154 156 160 160 162 162 159 166 173 170 172 176 173 172 <0x52>
> d6t44l 182 140 148 154 156 160 160 162 162 159 166 173 170 172 176 173 172
>
>
> Data turning up in Pd and I'm quite happy (i.e. a bit delirious:)
>
> Been quite an adventure with all this the last few weeks/month - soldering
> those tiny pins was well tricky, as was finding some housings!! Also built
> a couple of custom RPi images as minimal as poss and got quite a lot more
> oomph out of the cpu. Dipped my toes into C too which is cool - you know I
> had to search around how to run a C program - './' dur.
>
> Would've been screwed without that C file of yours so thank you Martin.
>
> Julian
>
>
> On 20 April 2013 22:59, Martin Peach <martin.peach at sympatico.ca> wrote:
>
>> So I tested the 4X4 sensor and it actually works!
>> Here is the code for a reader that sends to [netreceive 33333], and a
>> receiver patch.
>> You need to set the IP to that of the machine running Pd, and maybe other
>> settings before compiling, as with the previous version.
>>
>> Martin
>>
>>
>> On 2013-04-20 17:17, Martin Peach wrote:
>>
>>> Oh sorry, it segfaults if you don't pass an argument at startup. (1 if
>>> it's already initialized, 0 if not)
>>> The line begining "if (argc > 0)" should say "if (argc > 1)".
>>>
>>> Martin
>>>
>>>
>>> On 2013-04-20 13:30, Martin Peach wrote:
>>>
>>>> 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 <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/<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@**sympatico.ca<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@**sympatico.ca<martin.peach at sympatico.ca>
>>>>> >
>>>>> <mailto:martin.peach at __sympati**
>>>>> co.ca <http://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>
>>>>> <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>
>>>>>
>>>>> <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>
>>>>> <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>
>>>>> <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<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<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<http://lists.puredata.info/listinfo/pd-list>
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130421/a42f94a9/attachment-0001.htm>
More information about the Pd-list
mailing list