Framework of classes and program to measure tilt angles using accelerometers
Fork of tilt_angles by
ENGO333_I2C.h
00001 /** 00002 * File : ENGO333_I2C.h 00003 * Created by : Chandra Tjhai 00004 * Created on : September 10, 2016 00005 * 00006 * Description : 00007 * This file contains a class to handle I2C bus operation for ENGO 333. 00008 */ 00009 00010 #ifndef ENGO333_I2C_H 00011 #define ENGO333_I2C_H 00012 00013 #include "mbed.h" 00014 00015 /** 00016 * Class 00017 * A class to handle I2C read/write operation 00018 */ 00019 class ENGO333_I2C 00020 { 00021 private: 00022 I2C i2c; // Object for handling I2C bus operations 00023 00024 public: 00025 /** 00026 * Constructor 00027 * 00028 * Input 00029 * sda = SDA or I2C serial data pin 00030 * scl = SCL or I2C serial clock pin 00031 */ 00032 ENGO333_I2C(PinName sda, PinName scl); 00033 00034 /** 00035 * Destructor 00036 */ 00037 ~ENGO333_I2C(); 00038 00039 /** 00040 * Function : 00041 * Set I2C bus frequency 00042 * 00043 * Input : 00044 * freq = desired frequency in Hz 00045 */ 00046 void setSpeed(int freq); 00047 00048 /** 00049 * Function : 00050 * Write one byte data into device's register 00051 * 00052 * Input : 00053 * deviceAddress = Device's I2C address 00054 * registerAddress = Device's register address to be written on 00055 * value = Value to be written on device's register address 00056 */ 00057 void writeOneByte(char deviceAddress, char registerAddress, char value); 00058 00059 /** 00060 * Function : 00061 * Read one byte from device's register address 00062 * 00063 * Input : 00064 * deviceAddress = Device's I2C address 00065 * registerAddress = Device's register address to be read 00066 * 00067 * Return : 00068 * One byte data read from device's register 00069 */ 00070 char readOneByte(char deviceAddress, char registerAddress); 00071 00072 /** 00073 * Function : 00074 * Read multiple bytes from device's register address 00075 * 00076 * Input : 00077 * deviceAddress = Device's I2C address 00078 * registerAddress = Device's register address to be read 00079 * value = Array of data to store values read from device's register 00080 */ 00081 void readBytes(char deviceAddress, char registerAddress, char* value, int length); 00082 }; 00083 00084 #endif
Generated on Sat Jul 16 2022 15:16:04 by
1.7.2
