Revision 2:4dc9d2360484, committed 2014-08-15
- Comitter:
- edodm85
- Date:
- Fri Aug 15 12:08:18 2014 +0000
- Parent:
- 1:7d868212c8c1
- Commit message:
- Publish rev
Changed in this revision
diff -r 7d868212c8c1 -r 4dc9d2360484 LM75A.lib
--- /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
diff -r 7d868212c8c1 -r 4dc9d2360484 LM75A/.lib
--- 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
diff -r 7d868212c8c1 -r 4dc9d2360484 LM75A/LM75A.cpp
--- 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);
-}
-
diff -r 7d868212c8c1 -r 4dc9d2360484 LM75A/LM75A.h
--- 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
diff -r 7d868212c8c1 -r 4dc9d2360484 main.cpp
--- 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);
+ }
}
diff -r 7d868212c8c1 -r 4dc9d2360484 mbed-src.lib
--- /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
diff -r 7d868212c8c1 -r 4dc9d2360484 mbed.lib
--- 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