Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
Diff: I2C.h
- Revision:
- 20:029aa53d7323
- Parent:
- 12:f63353af7be8
- Child:
- 21:3944f1e2fa4f
--- a/I2C.h Tue May 18 16:04:21 2010 +0000
+++ b/I2C.h Thu Jun 03 11:17:50 2010 +0000
@@ -17,7 +17,7 @@
* An I2C Master, used for communicating with I2C slave devices
*
* Example:
- * > // Read from I2C slave at address 0x1234
+ * > // Read from I2C slave at address 0x62
* >
* > #include "mbed.h"
* >
@@ -33,6 +33,13 @@
public:
+ enum RxStatus {
+ NoData
+ , MasterGeneralCall
+ , MasterWrite
+ , MasterRead
+ };
+
/* Constructor: I2C
* Create an I2C Master interface, connected to the specified pins
*
@@ -60,9 +67,10 @@
* address - 8-bit I2C slave address [ addr | 1 ]
* data - Pointer to the byte-array to read data in to
* length - Number of bytes to read
+ * repeated - Repeated start, true - don't send stop at end
* returns - 0 on success (ack), or non-0 on failure (nack)
*/
- int read(int address, char *data, int length);
+ int read(int address, char *data, int length, bool repeated = false);
/* Function: write
* Write to an I2C slave
@@ -74,17 +82,18 @@
* address - 8-bit I2C slave address [ addr | 0 ]
* data - Pointer to the byte-array data to send
* length - Number of bytes to send
+ * repeated - Repeated start, true - do not send stop at end
* returns - 0 on success (ack), or non-0 on failure (nack)
*/
- int write(int address, const char *data, int length);
+ int write(int address, const char *data, int length, bool repeated = false);
protected:
- I2CName _i2c;
-
void aquire();
- static I2C *_owner;
- int _hz;
+
+ I2CName _i2c;
+ static I2C *_owner;
+ int _hz;
};
