Creates DAC interface

Fork of DevInterfaces by wimbeaumont Project

Committer:
katrijnverhasselt
Date:
Fri Apr 01 08:39:23 2016 +0000
Revision:
3:b818d68937de
Parent:
0:da1fb7dd363f
I2C test which is not working as it should.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wbeaumont 0:da1fb7dd363f 1 #ifndef __I2CINTERFACE__
wbeaumont 0:da1fb7dd363f 2 #define __I2CINTERFACE__
wbeaumont 0:da1fb7dd363f 3
wbeaumont 0:da1fb7dd363f 4 #include "getVersion.h"
wbeaumont 0:da1fb7dd363f 5
wbeaumont 0:da1fb7dd363f 6 #define I2CINTERFACE_HDR_VER "0.33"
wbeaumont 0:da1fb7dd363f 7
wbeaumont 0:da1fb7dd363f 8 class I2CInterface : public virtual getVersion{
wbeaumont 0:da1fb7dd363f 9 private:
wbeaumont 0:da1fb7dd363f 10 protected :
wbeaumont 0:da1fb7dd363f 11 void* callback();
wbeaumont 0:da1fb7dd363f 12
wbeaumont 0:da1fb7dd363f 13 public :
wbeaumont 0:da1fb7dd363f 14 I2CInterface():getVersion( I2CINTERFACE_HDR_VER ,I2CINTERFACE_HDR_VER , __TIME__, __DATE__){}; //Create an I2C Master interface
wbeaumont 0:da1fb7dd363f 15 virtual void frequency (int hz){};// Set the frequency of the I2C interface.
wbeaumont 0:da1fb7dd363f 16 virtual int read (int address, char *data, int length, bool repeated=false){
wbeaumont 0:da1fb7dd363f 17 return 0;};//Read from an I2C slave.
wbeaumont 0:da1fb7dd363f 18 virtual int read (int ack){return 0;};// Read a single byte from the I2C bus.
wbeaumont 0:da1fb7dd363f 19 virtual int write (int address, const char *data, int length, bool repeated=false){
wbeaumont 0:da1fb7dd363f 20 return 0;
wbeaumont 0:da1fb7dd363f 21 };// Write to an I2C slave.
wbeaumont 0:da1fb7dd363f 22 virtual int write (int data){return 0;};// Write single byte out on the I2C bus.
wbeaumont 0:da1fb7dd363f 23 virtual void start (void){};// Creates a start condition on the I2C bus.
wbeaumont 0:da1fb7dd363f 24 virtual void stop (void){};// Creates a stop condition on the I2C bus.
wbeaumont 0:da1fb7dd363f 25 virtual int transfer (int address, const char *tx_buffer, int tx_length, char *rx_buffer, int rx_length, void* callbackptr, bool repeated=false){
wbeaumont 0:da1fb7dd363f 26 return 0;
wbeaumont 0:da1fb7dd363f 27 }; // Start non-blocking I2C transfer. not yet clear how to deal with the callback
wbeaumont 0:da1fb7dd363f 28 // proposol here is for the implementation a spefic call back function ,that includes the event type
wbeaumont 0:da1fb7dd363f 29
wbeaumont 0:da1fb7dd363f 30 };
wbeaumont 0:da1fb7dd363f 31
wbeaumont 0:da1fb7dd363f 32 #endif