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.
Revision 1:dcf2f8359398, committed 2010-12-08
- Comitter:
- svlach
- Date:
- Wed Dec 08 21:23:21 2010 +0000
- Parent:
- 0:70c3bea805ee
- Commit message:
Changed in this revision
--- 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],¤t_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],¤t_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" //----------------------------------------------------------------------