i2cmaster class without interrupt process

i2cmaster.h

Committer:
sgrsn
Date:
2017-02-26
Revision:
0:a7ab96dc6a35

File content as of revision 0:a7ab96dc6a35:

#ifndef MBED_I2CMASTER_H
#define MBED_I2CMASTER_H

#include "mbed.h"

#define SendData        0
#define RequestData     1

class i2c : public I2C
{
    public:
    i2c(PinName sda, PinName scl);
    /*{
        frequency(400000);
    }*/
    
    void sendi2c(char addr, char registar, int data, int size = 0);
    /*{
        if(size > 0)             size = size;
        else if(data > 0xFFFFFF) size = 4;
        else if(data > 0xFFFF)   size = 3;
        else if(data > 0xFF)     size = 2;
        else                     size = 1;
        char DATA[4] = {data & 0xFF, (data>>8) & 0xFF, (data>>16) & 0xFF, (data>>24) & 0xFF};
        char i2cData[3] = {size, registar, SendData};
        write(addr, i2cData, 3);
        write(addr, DATA, size);
    }*/
    
    int getSlaveData(char addr, char registar, int size = 1);
    /*{
        char i2cData[3] = {size, registar, RequestData};
        char getData[12] = {};
        write(addr, i2cData, 3);
        read(addr, getData, size);
        return getData[0] | (getData[1] << 8) | (getData[2] << 16) | (getData[3] << 24);
    }*/
};
 
#endif