• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

include/roc/I2cDevice.h (r4864/r4162)

Go to the documentation of this file.
00001 //============================================================================
00005 //============================================================================
00006 
00007 #ifndef ROC_I2CDEVICE_H
00008 #define ROC_I2CDEVICE_H
00009 
00010 #include "base/Peripheral.h"
00011 
00012 namespace roc {
00013 
00014    class I2cDevice : public base::Peripheral {
00015       protected:
00016          int     fUseSPI;                   
00017          int     fPort;                     
00018          uint8_t fSlaveAddr;                
00019       public:
00020 
00021          I2cDevice();
00022          I2cDevice(base::Board* board, int port=0, uint8_t addr=0);
00023          virtual ~I2cDevice();
00024 
00025          bool isSPI() const { return fUseSPI; }
00026 
00028          void setPortNumber(int port)
00029             { fPort = port; }
00030 
00032          int getPortNumber() const
00033             { return fPort; }
00034 
00036          void setSlaveAddr(uint8_t addr)
00037             { fSlaveAddr = addr; }
00038 
00040          uint8_t getSlaveAddr() const
00041             { return fSlaveAddr; }
00042 
00043          int setRegister(uint8_t reg, uint8_t val, bool veri=false);
00044          int getRegister(uint8_t reg, uint8_t& val);
00045          int getRegister16(uint8_t reg, uint16_t& val);
00046          int setRegisterVerify(uint8_t reg, uint8_t valset, uint8_t& valget);
00047 
00048          int setRegisterArray(uint8_t reg, const uint8_t *val, int nreg,
00049                               bool veri=false);
00050          int getRegisterArray(uint8_t reg, uint8_t *val, int nreg);
00051 
00052          int setMailboxRegister(uint8_t reg, const uint8_t *val, int nval);
00053          int getMailboxRegister(uint8_t reg, uint8_t *val, int nval);
00054 
00055          static void addAddrMap(base::Board* board);
00056    };
00057 
00058 }
00059 
00060 #endif

Generated on Tue Dec 10 2013 04:52:22 for ROCsoft by  doxygen 1.7.1