MSPM0_ValvanoWare  1.0
ECE445L starter code
I2C.h
Go to the documentation of this file.
1 
47 #ifndef __I2C_H__
48 #define __I2C_H__
49 
50 
60 void I2C_Init(void);
61 
62 
72 uint8_t I2C_Recv1(int8_t slave);
73 
74 
84 uint16_t I2C_Recv2(int8_t slave);
85 
95 int I2C_Send(uint8_t slave, uint8_t *pData, uint32_t count);
96 
106 int I2C_SendData(uint8_t slave, uint8_t *pData, uint32_t count);
107 
118 int I2C_Send1(int8_t slave, uint8_t data);
119 
120 
132 int I2C_Send2(int8_t slave, uint8_t data1, uint8_t data2);
133 
134 // sends two bytes to specified slave
135 // Returns 0 if successful, nonzero if error
148 int I2C_Send3(int8_t slave, uint8_t data1, uint8_t data2, uint8_t data3);
149 
150 
164 
165 
166 
176 uint32_t I2C_LightSensor_Input(void);
177 
178 
190 
191 
206 int I2C_LightSensor_End(uint32_t *light);
207 
208 
222 
223 
224 
234 void I2C_TempSensor_Input(int32_t *sensorV, int32_t *localT);
235 
236 
248 
249 // ------------I2C_TempSensor_End------------
250 // Query the TMP006 temperature sensor for a
251 // measurement. If no measurement is currently in
252 // progress, start one and return zero immediately.
253 // If the measurement is not yet complete, return
254 // zero immediately. If the measurement is complete,
255 // store the result in the pointers provided and
256 // return one.
257 // Input: sensorV is signed pointer to store sensor voltage (units 100*nV)
258 // localT is signed pointer to store local temperature (units 100,000*C)
259 // Output: one if measurement is ready and pointers are valid
260 // zero if measurement is not ready and pointers unchanged
261 // Assumes: I2C_TempSensor_Init() has been called
277 int I2C_TempSensor_End(int32_t *sensorV, int32_t *localT);
278 
279 #endif // __I2C_H__
int I2C_TempSensor_End(int32_t *sensorV, int32_t *localT)
Finish TMP006.
uint16_t I2C_Recv2(int8_t slave)
Receive two bytes.
void I2C_TempSensor_Start(void)
Start TMP006.
int I2C_LightSensor_End(uint32_t *light)
Finish OPT3001.
int I2C_Send(uint8_t slave, uint8_t *pData, uint32_t count)
write 1 to 8 bytes to I2C.
int I2C_Send1(int8_t slave, uint8_t data)
Send one byte.
void I2C_LightSensor_Start(void)
Start OPT3001.
int I2C_Send3(int8_t slave, uint8_t data1, uint8_t data2, uint8_t data3)
Send three bytes.
uint32_t I2C_LightSensor_Input(void)
Input from OPT3001.
void I2C_TempSensor_Input(int32_t *sensorV, int32_t *localT)
Input from TMP006.
void I2C_TempSensor_Init(void)
Initialize TMP006.
void I2C_Init(void)
Initialize I2C.
int I2C_Send2(int8_t slave, uint8_t data1, uint8_t data2)
Send two bytes.
uint8_t I2C_Recv1(int8_t slave)
Receive one byte.
void I2C_LightSensor_Init(void)
Initialize OPT3001.
int I2C_SendData(uint8_t slave, uint8_t *pData, uint32_t count)
send large buffer to I2C.