Steven Vlach / 1-WireLib

Files at this revision

API Documentation at this revision

Comitter:
svlach
Date:
Wed Dec 08 21:23:21 2010 +0000
Parent:
0:70c3bea805ee
Commit message:

Changed in this revision

1-wiretemp.cpp Show diff for this revision Revisions of this file
Headers/1-wiretemp.h Show diff for this revision Revisions of this file
Headers/owTemp.h Show annotated file Show diff for this revision Revisions of this file
Headers/ownet.h Show annotated file Show diff for this revision Revisions of this file
crcutil.cpp Show annotated file Show diff for this revision Revisions of this file
ds2480ut.cpp Show annotated file Show diff for this revision Revisions of this file
findtype.cpp Show annotated file Show diff for this revision Revisions of this file
mbedlnk.cpp Show annotated file Show diff for this revision Revisions of this file
owTemp.cpp Show annotated file Show diff for this revision Revisions of this file
owllu.cpp Show annotated file Show diff for this revision Revisions of this file
ownet.cpp Show annotated file Show diff for this revision Revisions of this file
owsesu.cpp Show annotated file Show diff for this revision Revisions of this file
owtrnu.cpp Show annotated file Show diff for this revision Revisions of this file
readDS1920.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/1-wiretemp.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-//---------------------------------------------------------------------------
-// Copyright (C) 2000 Dallas Semiconductor Corporation, All Rights Reserved.
-//
-//
-// 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 DALLAS SEMICONDUCTOR 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.
-//
-// Except as contained in this notice, the name of Dallas Semiconductor
-// shall not be used except as stated in the Dallas Semiconductor
-// Branding Policy.
-//---------------------------------------------------------------------------
-//
-//  temp.c -   Application to find and read the 1-Wire Net
-//             DS1920/DS1820/DS18S20 - temperature measurement.
-//
-//             This application uses the files from the 'Public Domain'
-//             1-Wire Net libraries ('general' and 'userial').
-//
-//
-//  Version: 2.00
-//
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "./Headers/ownet.h"
-#include "./Headers/readDS1920.h"
-#include "./Headers/findtype.h"
-
-// defines
-#define MAXDEVICES         20
-
-// global serial numbers
-uchar FamilySN[MAXDEVICES][8];
-
-// variables
-int family_code;
-
-
-void PrintSerialNum(uchar* buffer)
-{
-   int i;
-   for(i=7; i>=0; i--)
-   {
-      printf("%02X", buffer[i]);
-   }
-}
-
-
-//----------------------------------------------------------------------
-//  Main Test for DS1920/DS1820 temperature measurement
-//
-void Maingettemp( void )
-{
-   float current_temp;
-   int i = 0;
-   int NumDevices=0;
-   int portnum = 0;
-        
-   //----------------------------------------
-   // Introduction header
-   printf("\r\n/---------------------------------------------\r\n");
-   printf("  Temperature application DS1920/DS1820 - Version 1.00 \r\n"
-          "  The following is a test to exercise a DS1920/DS1820.\r\n"
-          "  Temperature Find and Read from a: \r\n"
-          "  DS1920/DS1820 (at least 1)\r\n\r\n");
-
-   printf("  Press any CTRL-C to stop this program.\r\n\r\n");
-   printf("  Output [Serial Number(s) ........ Temp1(F)] \r\n\r\n");
-
-    // attempt to acquire the 1-Wire Net
-   portnum = owAcquireEx("1");
-   
-   // success
-   printf("Port opened: %i\r\n", portnum);
-
-   // Find the device(s)
-   NumDevices = FindDevices(portnum, &FamilySN[0], 0x10, MAXDEVICES);
-      
-   if (NumDevices>0)
-   {
-      printf("\r\n");
-      printf("Device(s) Found: \r\n");
-      for (i = 0; i < NumDevices; i++)
-      {
-         PrintSerialNum(FamilySN[i]);
-         printf("\r\n");
-      }
-      printf("\r\n\r\n");
-
-        while (1)
-        {
-             // read the temperature and print serial number and temperature
-             for (i = 0; i < NumDevices; i++)
-             {
-                if (ReadTemperature(portnum, FamilySN[i],&current_temp))
-                {
-                    float far = current_temp * 9.0 / 5.0 + 32.0;
-                   PrintSerialNum(FamilySN[i]);
-                   printf("      %5.1f Degrees Farenheight\r\n", far);
-                  // converting temperature from Celsius to Fahrenheit
-                }
-                else
-                   printf("     Error reading temperature, verify device present:%d\r\n",
-                           (int)owVerify(portnum, FALSE));
-             }
-             printf("\r\n");
-        }
-
-   }
-   else
-      printf("\r\n\r\n\r\nERROR, device DS1920/DS1820 not found!\r\n");
-
-   // release the 1-Wire Net
-   owRelease(portnum);
-}
-
--- a/Headers/1-wiretemp.h	Tue Nov 30 22:11:18 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-void Maingettemp( void );
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Headers/owTemp.h	Wed Dec 08 21:23:21 2010 +0000
@@ -0,0 +1,43 @@
+
+
+
+#ifndef MBED_1WIRETEMP_H
+#define MBED_1WIRETEMP_H
+
+
+
+/** An interface for the Dallas 1-wire temperature buttons, the DS1920
+ *
+ * @code
+ * #include "mbed.h"
+ * #include "1-wiretemp.h"
+ *
+ * //  TODO  NokiaLCD lcd(p5, p7, p8, p9); // mosi, sclk, cs, rst
+ *
+ * int main() {
+ *     lcd.printf("Hello World!");
+ * }
+ * @endcode
+ */
+class owTemp {
+
+
+
+public:
+
+    owTemp ( );
+
+
+    void Maingettemp( void );
+
+   
+protected:
+
+private:
+
+ 
+};
+
+#endif
+
+
--- a/Headers/ownet.h	Tue Nov 30 22:11:18 2010 +0000
+++ b/Headers/ownet.h	Wed Dec 08 21:23:21 2010 +0000
@@ -45,6 +45,7 @@
 #ifndef OWNET_H
 #define OWNET_H
 
+
 //--------------------------------------------------------------//
 // Common Includes to ownet applications
 //--------------------------------------------------------------//
--- a/crcutil.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/crcutil.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -28,7 +28,7 @@
 //  version 2.00
 
 // Include files
-#include "./Headers/ownet.h"
+#include "ownet.h"
 
 // Local global variables
 unsigned short utilcrc16[MAX_PORTNUM];
--- a/ds2480ut.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/ds2480ut.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -42,7 +42,7 @@
 //                        Added file I/O operations
 //
 
-#include "./Headers/ownet.h"
+#include "ownet.h"
 #include "./Headers/ds2480.h"
 
 // global DS2480B state
--- a/findtype.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/findtype.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -31,7 +31,7 @@
 //----------------------------------------------------------------------
 //
 //
-#include "./Headers/ownet.h"
+#include "ownet.h"
 #include "./Headers/findtype.h"
 
 //----------------------------------------------------------------------
--- a/mbedlnk.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/mbedlnk.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -40,12 +40,15 @@
 //                         multiple ports.
 //
 
-#include "./Headers/ownet.h"
+#include "onewire_config.h"
+
+#include "ownet.h"
 #include "mbed.h"
 #include <string> 
 using namespace std;
 
-Serial comport(p9, p10);  // tx, rx
+
+Serial comport( ONEWIRE_TX , ONEWIRE_RX );  // tx, rx
 
 
 // exportable functions required
@@ -110,6 +113,16 @@
         {
             portnum = 1;
         }
+        
+     if ( port_zstr[0] == '2')
+    {
+        portnum = 2;
+    }
+
+    if ( port_zstr[0] == '3')
+        {
+            portnum = 3;
+        }    
 
    if(!OpenCOM(portnum, port_zstr))
    {
@@ -327,8 +340,8 @@
    // add adapter specific code here
    return TRUE;
 }
-*/
-/*
+
+
 //--------------------------------------------------------------------------
 // Send 8 bits of communication to the 1-Wire Net and verify that the
 // 8 bits read from the 1-Wire Net is the same (write operation).
@@ -345,7 +358,7 @@
 SMALLINT owWriteBytePower(int portnum, SMALLINT sendbyte)
 {
    // replace if platform has better implementation (faster response)
-   if (!hasPowerDelivery(portnum))
+   if (!owHasPowerDelivery(portnum))
       return FALSE;
 
    if(owTouchByte(portnum,sendbyte) != sendbyte)
@@ -356,8 +369,8 @@
 
    return TRUE;
 }
-*/
-/*
+
+
 //--------------------------------------------------------------------------
 // Send 1 bit of communication to the 1-Wire Net and verify that the
 // response matches the 'applyPowerResponse' bit and apply power delivery
@@ -375,7 +388,7 @@
 SMALLINT owReadBitPower(int portnum, SMALLINT applyPowerResponse)
 {
    // replace if platform has better implementation (faster response)
-   if (!hasPowerDelivery(portnum))
+   if (!owHasPowerDelivery(portnum))
       return FALSE;
 
    if(owTouchBit(portnum,0x01) != applyPowerResponse)
@@ -386,4 +399,5 @@
 
    return TRUE;
 }
-*/
+
+*/
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/owTemp.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -0,0 +1,141 @@
+//---------------------------------------------------------------------------
+// Copyright (C) 2000 Dallas Semiconductor Corporation, All Rights Reserved.
+//
+//
+// 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 DALLAS SEMICONDUCTOR 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.
+//
+// Except as contained in this notice, the name of Dallas Semiconductor
+// shall not be used except as stated in the Dallas Semiconductor
+// Branding Policy.
+//---------------------------------------------------------------------------
+//
+//  temp.c -   Application to find and read the 1-Wire Net
+//             DS1920/DS1820/DS18S20 - temperature measurement.
+//
+//             This application uses the files from the 'Public Domain'
+//             1-Wire Net libraries ('general' and 'userial').
+//
+//
+//  Version: 2.00
+//
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "owTemp.h"
+#include "ownet.h"
+#include "readDS1920.h"
+#include "findtype.h"
+
+// defines
+#define MAXDEVICES         20
+
+// global serial numbers
+uchar FamilySN[MAXDEVICES][8];
+
+// variables
+int family_code;
+
+
+
+owTemp::owTemp ()
+{
+
+
+}
+
+
+void PrintSerialNum(uchar* buffer)
+{
+   int i;
+   for(i=7; i>=0; i--)
+   {
+      printf("%02X", buffer[i]);
+   }
+}
+
+
+//----------------------------------------------------------------------
+//  Main Test for DS1920/DS1820 temperature measurement
+//
+void owTemp::Maingettemp( void )
+{
+   float current_temp;
+   int i = 0;
+   int NumDevices=0;
+   int portnum = 0;
+        
+   
+   //----------------------------------------
+   // Introduction header
+   printf("\r\n/---------------------------------------------\r\n");
+   printf("  Temperature application DS1920/DS1820 - Version 1.00 \r\n"
+          "  The following is a test to exercise a DS1920/DS1820.\r\n"
+          "  Temperature Find and Read from a: \r\n"
+          "  DS1920/DS1820 (at least 1)\r\n\r\n");
+
+   printf("  Press any CTRL-C to stop this program.\r\n\r\n");
+   printf("  Output [Serial Number(s) ........ Temp1(F)] \r\n\r\n");
+
+    // attempt to acquire the 1-Wire Net
+   portnum = owAcquireEx("1");
+   
+   // success
+   printf("Port opened: %i\r\n", portnum);
+
+   // Find the device(s)
+   NumDevices = FindDevices(portnum, &FamilySN[0], 0x10, MAXDEVICES);
+      
+   if (NumDevices>0)
+   {
+      printf("\r\n");
+      printf("Device(s) Found: \r\n");
+      for (i = 0; i < NumDevices; i++)
+      {
+         PrintSerialNum(FamilySN[i]);
+         printf("\r\n");
+      }
+      printf("\r\n\r\n");
+
+        while (1)
+        {
+             // read the temperature and print serial number and temperature
+             for (i = 0; i < NumDevices; i++)
+             {
+                if (ReadTemperature(portnum, FamilySN[i],&current_temp))
+                {
+                    float far = current_temp * 9.0 / 5.0 + 32.0;
+                   PrintSerialNum(FamilySN[i]);
+                   printf("      %5.1f Degrees Farenheight\r\n", far);
+                  // converting temperature from Celsius to Fahrenheit
+                }
+                else
+                   printf("     Error reading temperature, verify device present:%d\r\n",
+                           (int)owVerify(portnum, FALSE));
+             }
+             printf("\r\n");
+        }
+
+   }
+   else
+      printf("\r\n\r\n\r\nERROR, device DS1920/DS1820 not found!\r\n");
+
+   // release the 1-Wire Net
+   owRelease(portnum);
+}
+
--- a/owllu.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/owllu.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -45,8 +45,8 @@
 //                        Updated owLevel to match AN192
 //
 
-#include "./Headers/ownet.h"
-#include "./Headers/ds2480.h"
+#include "ownet.h"
+#include "ds2480.h"
 
 int dodebug=0;
 
--- a/ownet.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/ownet.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -39,7 +39,7 @@
 //
 
 #include <stdio.h>
-#include "./Headers/ownet.h"
+#include "ownet.h"
 
 // exportable functions defined in ownet.c
 SMALLINT bitacc(SMALLINT,SMALLINT,SMALLINT,uchar *);
--- a/owsesu.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/owsesu.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -37,7 +37,7 @@
 //
 
 #include "mbed.h"
-#include "./Headers/ownet.h"
+#include "ownet.h"
 #include "./Headers/ds2480.h"
 
 //---------------------------------------------------------------------------
--- a/owtrnu.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/owtrnu.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -39,7 +39,7 @@
 //                        Added file I/O operations
 //
 
-#include "./Headers/ownet.h"
+#include "ownet.h"
 #include "./Headers/ds2480.h"
 // external defined in ds2480ut.c
 extern SMALLINT UBaud[MAX_PORTNUM];
--- a/readDS1920.cpp	Tue Nov 30 22:11:18 2010 +0000
+++ b/readDS1920.cpp	Wed Dec 08 21:23:21 2010 +0000
@@ -31,7 +31,7 @@
 // ---------------------------------------------------------------------------
 //
 //
-#include "./Headers/ownet.h"
+#include "ownet.h"
 #include "./Headers/readDS1920.h"
 
 //----------------------------------------------------------------------