public inbox for linux-i2c@vger.kernel.org
 help / color / mirror / Atom feed
* i2c_smbus_write_block_data does not send all bytes?!
@ 2008-07-15  7:29 Nick Teen
       [not found] ` <180252.53613.qm-WQsacCdWWGLGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Nick Teen @ 2008-07-15  7:29 UTC (permalink / raw)
  To: i2c-GZX6beZjE8VD60Wz+7aTrA

Hi Jean,

> You probably want to use i2c_smbus_write_i2c_block_data instead. With
> i2c_smbus_write_block_data, the first data byte isn't real data,
> instead in indicates how many bytes follow until the end of the block.
> It should result in "5D W 11 33 44" in your case though, not sure why
> you get "5D W 11 03 33" instead.

i'm aware of the length field and i2c_smbus_write_i2c_block_data doesn't work, too. Now i get: 5D W 11 44

unsigned char values[3];
int reg = 0x11;
values[0] = 0x33;
values[1] = 0x44;
i2c_smbus_write_i2c_block_data(fd, reg, 2, values);

If i change the third parameter (length) to 1 I get the 0x33.

I've no idea! :-(

Regards,

Nick


      __________________________________________________________
Gesendet von Yahoo! Mail.
Dem pfiffigeren Posteingang.
http://de.overview.mail.yahoo.com

_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

^ permalink raw reply	[flat|nested] 13+ messages in thread
* i2c_smbus_write_block_data does not send all bytes?!
@ 2008-07-15  8:29 Nick Teen
       [not found] ` <884255.29098.qm-WOTGQye7mknGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Nick Teen @ 2008-07-15  8:29 UTC (permalink / raw)
  To: i2c-GZX6beZjE8VD60Wz+7aTrA

> I don't remember any similar problem, so no idea either. I can only
> suspect that your bus driver is doing something wrong. So please give
> us the detail of your setup:
> 
> * Which version of i2c-dev.h are you using?

libi2c-dev, 3.0.0-1 (debian)

> * What architecture are you working on?

i386

> * Which kernel version are you using?

2.6.24.2

> * What i2c bus driver are you using?

i2c_i801                9008  0
i2c_dev                 8164  0
smsc47m1                9700  0
smsc47m192             14656  0

> * How do you know for sure what actually goes on the bus?

Milksop GPL Reflasher - 0.20 - (c)2002 andy-/Zus8d0mwwtBDgjK7y7TUQ@public.gmane.org
with CheapI2C


I hope this helps... writing words & bytes works fine.

Regards,

Nick


      __________________________________________________________
Gesendet von Yahoo! Mail.
Dem pfiffigeren Posteingang.
http://de.overview.mail.yahoo.com

_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

^ permalink raw reply	[flat|nested] 13+ messages in thread
* i2c_smbus_write_block_data does not send all bytes?!
@ 2008-07-14 20:32 Nick Teen
       [not found] ` <247321.99325.qm-SFSZVIN0dfnGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
  0 siblings, 1 reply; 13+ messages in thread
From: Nick Teen @ 2008-07-14 20:32 UTC (permalink / raw)
  To: i2c-GZX6beZjE8VD60Wz+7aTrA

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

Hello folks,

i despair of i2c_smbus_write_block_data. I try to send this few bytes:

 5D W 11 02 33 44

but my attached example code sends always:

 5D W 11 03 33

I'm perfectly happy if somebody can help me! :-)

King Regards,

Nick


      __________________________________________________________
Gesendet von Yahoo! Mail.
Dem pfiffigeren Posteingang.
http://de.overview.mail.yahoo.com

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: write-values.c --]
[-- Type: text/x-csrc; name="write-values.c", Size: 895 bytes --]

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <linux/i2c-dev.h>

int main()
{
        int fd;
        int adapter_nr = 3; /* probably dynamically determined */
        unsigned long addr = 0x5d; /* The I2C address */
        char filename[20] = {0};
        unsigned int size;
        char buf[5] = {0};
        int res;
        int reg;
        unsigned char values[3];
	
        sprintf(filename,"/dev/i2c-%d",adapter_nr);
        printf("device file: %s\n",filename);
        printf("i2c device Address: 0x%x\n",addr);

        fd = open(filename,O_RDWR);
        res = ioctl(fd,I2C_SLAVE,addr);

	reg = 0x11;
	values[0] = 0x33;
	values[1] = 0x44;

        if ( i2c_smbus_write_block_data(fd, reg, 2, values) < 0) {
                perror("Error: ");
        }

        close(filename);
        return 0;
}

[-- Attachment #3: Type: text/plain, Size: 157 bytes --]

_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-07-15 17:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-15  7:29 i2c_smbus_write_block_data does not send all bytes?! Nick Teen
     [not found] ` <180252.53613.qm-WQsacCdWWGLGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-15  7:47   ` Jean Delvare
  -- strict thread matches above, loose matches on Subject: below --
2008-07-15  8:29 Nick Teen
     [not found] ` <884255.29098.qm-WOTGQye7mknGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-15 10:57   ` Jean Delvare
     [not found]     ` <20080715125702.48c9569b-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-07-15 12:22       ` Nick Teen
     [not found]         ` <952972.59634.qm-WQsacCdWWGLGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-15 12:32           ` Jean Delvare
     [not found]             ` <20080715143258.2bef9c1e-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-07-15 13:02               ` Nick Teen
     [not found]                 ` <732644.12112.qm-qWTMlLQujKzGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-15 13:13                   ` Jean Delvare
     [not found]                     ` <785052.52325.qm@web27604.mail.ukl.yahoo.com>
     [not found]                       ` <785052.52325.qm-qWTMlLQujKzGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-15 16:52                         ` Jean Delvare
     [not found]                           ` <20080715185223.7f2f39aa-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-07-15 17:28                             ` Nick Teen
     [not found]                               ` <968764.38783.qm-fkCdBXra523GRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-15 17:52                                 ` Jean Delvare
2008-07-14 20:32 Nick Teen
     [not found] ` <247321.99325.qm-SFSZVIN0dfnGRxTy+Q50vsz6deESKz/lQQ4Iyu8u01E@public.gmane.org>
2008-07-14 20:54   ` Jean Delvare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox