C++ file for display control

Dependencies:   4DGL mbed ConfigFile

Fork of 4DGLtest by Stephane ROCHON

Committer:
WillemBraat
Date:
Wed Jul 16 19:15:40 2014 +0000
Revision:
11:a5b0d98794c0
Parent:
9:311b6676272d
Rewritten function CDU_DSP_CSS()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WillemBraat 6:904d00252480 1 #include "mbed.h"
WillemBraat 9:311b6676272d 2 #include "temperature.h"
WillemBraat 6:904d00252480 3
WillemBraat 6:904d00252480 4 // Read temperature from LM75BD
WillemBraat 6:904d00252480 5
WillemBraat 9:311b6676272d 6 extern I2C CDU_I2C; //I2C bus on i2c(p28, p27) for keyboard/temp chip. Defined in keyboard.cpp
WillemBraat 9:311b6676272d 7 const int CDU_TMP_ADRS = 0x90; //Default hardware address of LM75B chip
WillemBraat 6:904d00252480 8
WillemBraat 6:904d00252480 9 float CDU_GetTemp() {
WillemBraat 6:904d00252480 10 char cmd[2];
WillemBraat 6:904d00252480 11
WillemBraat 6:904d00252480 12 //Init LM75B
WillemBraat 9:311b6676272d 13 cmd[0] = REG_CONFIG; //Pointer byte (0x01=configuration register)
WillemBraat 9:311b6676272d 14 cmd[1] = CONFIG_NORMAL; //Configuration byte (0x00=normal configuration)
WillemBraat 9:311b6676272d 15 CDU_I2C.write(CDU_TMP_ADRS, cmd, 2); //Write bytes to bus
WillemBraat 6:904d00252480 16
WillemBraat 6:904d00252480 17 //Read temperature
WillemBraat 9:311b6676272d 18 cmd[0] = REG_TEMP; //Pointer byte (0x00=temperature register)
WillemBraat 9:311b6676272d 19 CDU_I2C.write(CDU_TMP_ADRS, cmd, 1); //write to device
WillemBraat 9:311b6676272d 20 CDU_I2C.read(CDU_TMP_ADRS, cmd, 2); //read temperature 2 data bytes
WillemBraat 6:904d00252480 21
WillemBraat 6:904d00252480 22 /*
WillemBraat 6:904d00252480 23 Convert from 2's complement to Degrees Celsius
WillemBraat 6:904d00252480 24 1. If the Temp data MSByte bit D10 = 0, then the temperature is positive and Temp value (C) = +(Temp data) x 0.125 C.
WillemBraat 6:904d00252480 25 2. If the Temp data MSByte bit D10 = 1, then the temperature is negative and Temp value (C) = (two’s complement of Temp data) x 0.125 C.
WillemBraat 6:904d00252480 26 */
WillemBraat 6:904d00252480 27 float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0);
WillemBraat 6:904d00252480 28 return ( tmp );
WillemBraat 6:904d00252480 29 }
WillemBraat 9:311b6676272d 30