Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: OLED160G1 mbed uOLED
Fork of DS18B20 by
Revision 1:b2ea1e9d90df, committed 2012-10-31
- Comitter:
- Renato
- Date:
- Wed Oct 31 12:26:00 2012 +0000
- Parent:
- 0:03ec282c2908
- Child:
- 2:fe0f893513d4
- Commit message:
- Test v1
Changed in this revision
--- a/DS18B20.cpp Fri Jan 29 19:01:56 2010 +0000
+++ b/DS18B20.cpp Wed Oct 31 12:26:00 2012 +0000
@@ -6,6 +6,7 @@
// Device byte commands over 1-wire serial
enum COMMANDS { READ_ROM = 0x33, CONVERT = 0x44, READ_SCRATCHPAD = 0xBE, SKIP_ROM = 0xCC };
+
// device onboard register layout
typedef struct {
uint8_t LSB;
@@ -76,11 +77,12 @@
}
// temperature is store as 7.4 fixed point format (assuming 12 bit conversion)
-void displayTemperature(Serial& s) {
+void showTemperature(float *f) {
DoConversion();
uint32_t temp = GetTemperature();
- float f = (temp & 0x0F) * 0.0625; // calculate .4 part
- f += (temp >> 4); // add 7.0 part to it
- s.printf("Temp is %2.1fC\n\r", f); // display in 2.1 format
+ *f = (temp & 0x0F) * 0.0625; // calculate .4 part
+ *f += (temp >> 4); // add 7.0 part to it
+ //return(f);
+ //s.printf("Temp is %2.1fC\n\r", f); // display in 2.1 format
}
--- a/DS18B20.h Fri Jan 29 19:01:56 2010 +0000
+++ b/DS18B20.h Wed Oct 31 12:26:00 2012 +0000
@@ -1,22 +1,23 @@
-#ifndef _DS18B20_
-#define _DS18B20_
-
-#include <stdint.h>
-#include "mbed.h"
-
-// Device Faimly ID and Setial number information
-typedef union {
- uint8_t rom[8];
- struct {
- uint8_t familyCode;
- uint8_t serialNo[6];
- uint8_t CRC;
- } BYTES;
-} ROM_Code_t;
-
-ROM_Code_t ReadROM() ;
-
-// temperature is store as 7.4 fixed point format (assuming 12 bit conversion)
-void displayTemperature(Serial& s) ;
-
+#ifndef _DS18B20_
+#define _DS18B20_
+
+#include <stdint.h>
+#include "mbed.h"
+
+// Device Faimly ID and Setial number information
+typedef union {
+ uint8_t rom[8];
+ struct {
+ uint8_t familyCode;
+ uint8_t serialNo[6];
+ uint8_t CRC;
+ } BYTES;
+} ROM_Code_t;
+
+ROM_Code_t ReadROM() ;
+
+// temperature is store as 7.4 fixed point format (assuming 12 bit conversion)
+void displayTemperature(Serial& s) ;
+void showTemperature(float *f);
+
#endif
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/OLED160G1.lib Wed Oct 31 12:26:00 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/Renato/code/OLED160G1/#c22a582f62c0
--- a/main.cpp Fri Jan 29 19:01:56 2010 +0000
+++ b/main.cpp Wed Oct 31 12:26:00 2012 +0000
@@ -1,28 +1,51 @@
#include "mbed.h"
-#include <stdint.h>
+#include "stdint.h"
#include "DS18B20.h"
+#include "OLED160G1.h"
+#include "uOLED.h"
-DigitalInOut sensor(p5); // sensor connected to pin 5
+
+DigitalInOut sensor(p23); // sensor connected to pin 23
+
+OLED160G1 oled(p9, p10, p8);
+uOLED uoled(p9, p10, p8);
Ticker timer; // used for our microsec timing
Serial pc(USBTX, USBRX); // serial comms over usb back to console
+float temp=0;
+
+
int main() {
- pc.printf("\n\r=====================================================\n\r");
- pc.printf("DS18B20 Configuration\n\r");
+
+ /*oled.init();
+ oled.eraseScreen();
+ oled.setTextBackgroundType(OLED_SET_TEXT_OPAQUE);
+ oled.setFontSize(0);
+ */ //uOLED initialization...
+ uoled.init();
+
+
+ //oled.printf("===========\n");
+ //oled.printf("DS18B20 Config\n");
sensor.mode(PullUp);
ROM_Code_t ROM_Code = ReadROM();
- pc.printf("Family code: 0x%X\n\r", ROM_Code.BYTES.familyCode);
- pc.printf("Serial Number: ");
+ /*oled.printf("Family code: 0x%X\n", ROM_Code.BYTES.familyCode);
+ oled.printf("Serial Number: \n");
for (uint32_t i = 6; i != 0; --i) {
- pc.printf("%02X%s", ROM_Code.BYTES.serialNo[i-1], (i != 1)?":":"\r\n");
+ oled.printf("%02X%s", ROM_Code.BYTES.serialNo[i-1], (i != 1)?":":"\n");
}
- pc.printf("CRC: 0x%X\r\n", ROM_Code.BYTES.CRC);
-
- pc.printf("\n\rRunning temperature conversion...\n\r");
+ oled.printf("CRC: 0x%X\n", ROM_Code.BYTES.CRC);
+ */
+ oled.locate(0,1);
+ uoled.printf("Convertendo...\n");
+ //uoled.drawText(1, 3, 3, 200, 100, 40, "Convertendo...\n");
while (1) {
- displayTemperature(pc);
+ showTemperature(&temp);
+ oled.locate(2,3);
+ oled.setFontSize(2);
+ oled.printf("%.2f C",temp);
wait(10);
}
}
--- a/mbed.bld Fri Jan 29 19:01:56 2010 +0000 +++ b/mbed.bld Wed Oct 31 12:26:00 2012 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/49a220cc26e0 +http://mbed.org/users/mbed_official/code/mbed/builds/e2ed12d17f06 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uOLED.lib Wed Oct 31 12:26:00 2012 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/Nakor/code/uOLED/#7ad5bf258a1e
