From: Matthias Fechner <idefix@fechner.net>
To: linuxppc-embedded@ozlabs.org
Subject: Re: Howto read I2C on MPC5200 Lite
Date: Sun, 11 Mar 2007 01:55:35 +0100 [thread overview]
Message-ID: <20070311005535.GA39488@server.idefix.lan> (raw)
In-Reply-To: <20070309234251.GA68997@server.idefix.lan>
[-- Attachment #1: Type: text/plain, Size: 636 bytes --]
Hi,
* Matthias Fechner <idefix@fechner.net> [10-03-07 00:42]:
> It seems now that everything works fine. I will check it for the next
> days. And will give some feedback.
ok, I checked now the driver some time at it failed. So it seems that
that the patch had not solved the problem.
I have attached the programm to check it.
I changed the time to 2 seconds but that didn't help.
Best regards,
Matthias
--
"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the universe is winning." --
Rich Cook
[-- Attachment #2: readMax6633.c --]
[-- Type: text/x-csrc, Size: 2176 bytes --]
/* read the data from max6633 */
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include "i2c-dev.h"
#include "version.h"
static __inline__ unsigned short swap_bytes(unsigned short val)
{
return(val >> 8) | (val << 8);
}
int main(void)
{
int res,address,file;
char filename[20];
unsigned short temp;
long funcs;
int i2cbus;
int errorCount,successfullCount;
errorCount=successfullCount=0;
i2cbus=1;
address=0x40;
sprintf(filename,"/dev/i2c-%d",i2cbus);
if((file=open(filename,O_RDWR))<0)
{
fprintf(stderr,"Error: could not open file %s: %s\n",filename,strerror(errno));
exit(1);
}
/* check adapter functionality */
if(ioctl(file,I2C_FUNCS,&funcs) < 0)
{
fprintf(stderr, "Error: could not get the adapter functionality matrix: %s\n",strerror(errno));
goto ERROR0;
}
if(!(funcs & I2C_FUNC_SMBUS_READ_BYTE_DATA))
{
fprintf(stderr,"Error: Adapter for i2cbus %d",i2cbus);
fprintf(stderr," does not have byte read capability\n");
goto ERROR0;
}
if(!(funcs & I2C_FUNC_SMBUS_READ_WORD_DATA))
{
fprintf(stderr,"Error: Adapter for i2cbus %d",i2cbus);
fprintf(stderr," does not have word read capability\n");
goto ERROR0;
}
/* use FORCE so that we can look at registers even when a driver
is also running */
if(ioctl(file,I2C_SLAVE,address) <0)
{
fprintf(stderr,"Error: Could not set address to %d: %s\n",address, strerror(errno));
goto ERROR0;
}
fprintf(stderr,"Read with word_data\n");
while(1)
{
temp=res=i2c_smbus_read_word_data(file,0);
if(res<0)
{
fprintf(stderr,"Error: Could not read the value from the i2c device\n");
errorCount++;
}else
{
successfullCount++;
}
temp=swap_bytes(temp);
temp=temp >> 3;
printf("Succes: %i, Errorcount: %i, Temp: %f\n",successfullCount,errorCount,(float)(temp*0.0625));
sleep(1);
}
printf("\nCalculate temp\n");
close(file);
exit(0);
ERROR0:
close(file);
exit(1);
}
next prev parent reply other threads:[~2007-03-11 0:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-07 12:24 Howto read I2C on MPC5200 Lite Matthias Fechner
2007-03-07 21:17 ` John Rigby
2007-03-09 11:35 ` Matthias Fechner
2007-03-09 17:11 ` John Rigby
2007-03-09 23:42 ` Matthias Fechner
2007-03-10 2:18 ` where and how to get the latest 2.6 kernel Nick Droogh
2007-03-11 1:01 ` Matthias Fechner
2007-03-11 0:55 ` Matthias Fechner [this message]
2007-03-15 9:57 ` Howto read I2C on MPC5200 Lite Domen Puncer
2007-03-16 4:33 ` Matthias Fechner
2007-03-17 8:57 ` Matthias Fechner
2007-03-18 19:06 ` Charles Krinke
2007-03-18 19:11 ` gdb question regarding step vs breakpoint Charles Krinke
2007-03-18 23:28 ` Matthias Fechner
2007-03-19 0:14 ` Howto read I2C on MPC5200 Lite Wolfgang Denk
2007-03-19 1:11 ` A question regarding step and breakpoints Charles Krinke
2007-03-21 8:34 ` Howto read I2C on MPC5200 Lite Matthias Fechner
2007-04-04 8:49 ` Domen Puncer
2007-04-25 18:48 ` Matthias Fechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070311005535.GA39488@server.idefix.lan \
--to=idefix@fechner.net \
--cc=linuxppc-embedded@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.