Test code for LM75AIM

Dependencies:   LM75A mbed-src

Files at this revision

API Documentation at this revision

Comitter:
edodm85
Date:
Fri Aug 15 12:08:18 2014 +0000
Parent:
1:7d868212c8c1
Commit message:
Publish rev

Changed in this revision

LM75A.lib Show annotated file Show diff for this revision Revisions of this file
LM75A/.lib Show diff for this revision Revisions of this file
LM75A/LM75A.cpp Show diff for this revision Revisions of this file
LM75A/LM75A.h Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-src.lib Show annotated file Show diff for this revision Revisions of this file
mbed.lib Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LM75A.lib	Fri Aug 15 12:08:18 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/edodm85/code/LM75A/#19dc98c810a5
--- a/LM75A/.lib	Wed Jun 27 15:46:46 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
- 
\ No newline at end of file
--- a/LM75A/LM75A.cpp	Wed Jun 27 15:46:46 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/* Copyright (C) 2012 mbed.org, MIT License
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- * and associated documentation files (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge, publish, distribute,
- * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all copies or
- * substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include "LM75A.h"
-
-#define TEMP_REG_ADDR 0x00          // Temperature address
-#define CONFIG_REG_ADDR 0x01        // configuration register
-Serial pc2(USBTX, USBRX);
-
-// costructor
-LM75A::LM75A(PinName sda, PinName scl, int addr) : m_i2c(sda, scl), m_addr(addr){
-
-}
-
-
-// destructor
-LM75A::~LM75A(){
-
-}
-
-
-float LM75A::read(){
-
-  const char tempRegAddr = TEMP_REG_ADDR;
-
-  m_i2c.write(m_addr, &tempRegAddr, 1);      // Pointer to the temperature register
- 
-  char cmd[2] = {0,0};
-  m_i2c.read(m_addr, cmd, 2);        // read temperature register
-  
-  unsigned short val = ((cmd[0] << 8) + cmd[1]) >> 7;     //val = (cmd[ 1 ] << 1) | ( cmd[ 0 ] >> 7 ) ;
-  
-  pc2.printf("reg: ");
-  pc2.printf("%d - %d \n", cmd[1], cmd[0]);         // debug
-  
-  float temp = (float) ((float)val * 0.5);  
-  
-  return temp;
-}
-
-
-char LM75A::read_reg(char addr){
-
-
-    char data[1] = {0};
-    char ret = addr;
-    m_i2c.write(m_addr, &ret, 1);    
-    wait_us(10);         
-    m_i2c.read(m_addr, data, 1);              // Read register content
-    wait_us(20);
-    pc2.printf("reg: %#x \n\r", data[0]);         // debug
-    
-    return ret;
-
-}
-
-
-
-/** Write to specified MMA7660FC register
-*
-* @param char addr: the internal registeraddress of the MMA7660FC
-* @param char data: write data to selected Register
-*/
-void LM75A::write_reg(char addr, char data){
-
-    char data2[2] = {0, 0};
-    
-    data2[0] = addr;
-    data2[1] = data;
-    
-    m_i2c.write(m_addr, data2, 2);             
-    wait_us(50);
-}
-
--- a/LM75A/LM75A.h	Wed Jun 27 15:46:46 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/* Copyright (C) 2012 mbed.org, MIT License
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- * and associated documentation files (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge, publish, distribute,
- * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all copies or
- * substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
- * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-//#ifndef LM75A_H
-//#define LM75A_H
-#pragma once 
- 
-#include "mbed.h"
- 
- 
-/* Library for the LM75A temperature sensor.
-The TLM75A is an I2C digital temperature sensor in a small SOP-8 package, 
-with a 0.5C resolution and 2C accuracy.
-*/
- 
-class LM75A{        // Creates an instance of the class.
-    public:
-        
-          // Connect module at I2C address addr using I2C port pins sda and scl.
-      LM75A(PinName sda, PinName scl, int addr);
-    
-    
-          // Destroys instance.
-      ~LM75A();
-    
-          // Reads the current temperature.
-      float read();
-      
-      
-      char read_reg(char addr);
-      
-      
-      void write_reg(char addr, char data);
-      
-    
-    private:
-      I2C m_i2c;
-      int m_addr;   
-};
- 
-// #endif
\ No newline at end of file
--- a/main.cpp	Wed Jun 27 15:46:46 2012 +0000
+++ b/main.cpp	Fri Aug 15 12:08:18 2014 +0000
@@ -1,35 +1,42 @@
 /*
  * Author: Edoardo De Marchi
- * Date: 16-05-2011
- * Notes: Read temperature from LM75AIM
+ * Date: 15-08-2014
+ * Notes: Test code for LM75AIM
 */
 
-
 #include "mbed.h"
 #include "LM75A.h"
 
 
 Serial pc(USBTX, USBRX);
-LM75A temp(p28, p27, 0x90);    //SDA, SCL, ADDRESS
+DigitalOut led1(LED1);
+
+#if   defined(TARGET_LPC1768)
+LM75A Temp(p28, p27, 0x90);    //SDA, SCL, ADDRESS
+#elif defined(TARGET_LPC4330_M4)
+LM75A Temp(I2C1_SDA, I2C1_SCL, 0x90);      //sda, scl, Addr
+#endif
+
+
 
 
-int main(){
-int n = 0;
-
-  while(1){
-    float var = temp.read();
-    pc.printf("The temp is: %4.2f degree Celsius\n\r", var);
-    temp.read_reg(0x01);
-    if(n == 3){
-        temp.write_reg(0x01, 0x03);
-        n = 0;
-    }else{
-         temp.write_reg(0x01, 0x00);
-    }
-    n++;
-    wait(2);
-  }    
+int main()
+{ 
+    #if   defined(TARGET_LPC1768)
+    char* board = "LPC1768";
+    #elif defined(TARGET_LPC4330_M4)
+    char* board = "LPC4330";
+    #endif
+    
+    pc.baud(115200);
+    pc.printf("BOARD %s\r\n", board);
+    
+    Temp.write_reg(0x01, 0x00);
   
-
-
+    while(1)
+    {
+        pc.printf("The temp is: %4.2f degree Celsius\n\r", Temp.read_T());
+        led1 = !led1;       
+        wait(2);
+    }         
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-src.lib	Fri Aug 15 12:08:18 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-src/#859ffaa7c331
--- a/mbed.lib	Wed Jun 27 15:46:46 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://mbed.org/projects/libraries/svn/mbed/trunk@43
\ No newline at end of file