Hi MS.
Thanks for answer...
The T2 impl is not like the T1 version, more explicitly... I want to use the
Msp430I2CC.nc configuration that provide the I2CPacket.nc, this interface
use the header file I2C.h where there are defined this flags:
#ifndef _I2C_H
#define _I2C_H
typedef struct { } TI2CExtdAddr;
typedef struct { } TI2CBasicAddr;
typedef uint8_t i2c_flags_t;
enum {
I2C_START = 0x01,
I2C_STOP = 0x02,
I2C_ACK_END = 0x04,
};
#endif /* _I2C_H */
Now I have doubts about how to put address slave and how to use this flags
for write/read operations, and the slave address is 8 bits (included the lsb
w/r).
Also I need impl "multiple repeated STARTs and multiple reads/writes within
the same START transaction".
I hope do you understand my problem, thaks...
2010/5/18 Michael Schippling <[email protected]>
> If the T2 impl is like the T1 version there are four bits
> you can send to I2C read/write, which are conveniently
> not defined or described anywhere:
>
> /*
> ** I2CPacket read/write command flags,
> ** defined in I2CPacketM.nc but not in a header file...
> */
> #define STOP_FLAG 0x01 //send stop/end command at the
> // end of the packet
> #define ACK_FLAG 0x02 //ack every byte except for the
> // last received
> #define ACK_END_FLAG 0x04 //acks after the last byte read
> #define ADDR_8BITS_FLAG 0x80 //slave address is a full eight
> // bits as sent. w/this bit user
> // must set read flag explicitly
>
> Through exhaustive testing and spec reading I found that these
> two needed to be set for my external device. I believe they
> are both the default expected I2C behavior so why they are
> non-default options is left as an exercise for the reader:
>
> // works...no END ACK...dunno?
> #define I2CP_I2CFLAGS (STOP_FLAG | ACK_FLAG)
>
> Also watch out for "wait-state" handshakes between bytes on
> the I2C bus. The T1 code doesn't detect them and can over run.
> If you read one byte correctly then part of another and
> nothing more you may need to extend the timeout between
> bytes in I2CM.nc
>
> MS
>
>
>
>
> Ronald Eliseo Reyes López wrote:
>
>>
>> ---------- Forwarded message ----------
>> From: *Philip Levis* <[email protected] <mailto:[email protected]>>
>> Date: 2010/5/17
>> Subject: Re: Help with I2CPacket.nc
>> To: Ronald Eliseo Reyes López <[email protected] <mailto:
>> [email protected]>>
>> Cc: [email protected] <mailto:[email protected]>,
>> [email protected] <mailto:[email protected]>
>>
>>
>> Please send questions to tinyos-help. Thanks!
>>
>> Phil
>>
>> On May 16, 2010, at 5:21 PM, Ronald Eliseo Reyes López wrote:
>>
>> > Hi.
>> >
>> > I'm a student and I need to control an pressure sensor, exactly BMP085
>> from Bosch Sensortec, for my tesis degree.
>> > This sensor use I2C protocol to communicate with master, which will be
>> a Telosb mote.
>> >
>> > The problem is I don't understand how to use the i2c_flags with the
>> I2CPAcket's command read. The explanation is not enouhg seem me, please
>> anybody can help me?
>> >
>> > I have the new version of tinyos-2.x from cvs repository.
>> >
>> > thanks in advance, and i hope your answer.
>> >
>> > Ronald Reyes
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help