Public Domain 1-Wire Net Functions Version 3.00 Alpha 06/28/2001 Copyright (C) 2000 Dallas Semiconductor The 1-Wire Net functions provided are written in 'C' and are intended to be used on platforms not supported by the iButton-TMEX 1-Wire Net drivers. The '1-Wire Net' is a one wire and ground network with one master and one or more slave devices. This source code creates a 1-Wire Net master that can be used to identify and communicate with slave devices. It provides all of the 1- Wire Net, and some of the transport and file level services to communicate with all of Dallas Semiconductor's 1-Wire devices including iButtons. This source code is designed to be portable. There are provided 'TODO' templates to be completed for a specific platform. Several platform example implementations have been provided. There are also several example applications that use these platform implementations. There are two sets of portable source files. The first set is general purpose and is intended for platforms that already have the primitive linklevel 1-Wire Net communication functions. This is the lowest level that is hardware dependent. The other set of portable source files assumes that the user has a serial port (RS232) and wishes to utilize our 'Universal Serial 1-Wire Line Driver Master chip' called the DS2480B. This chip receives commands over the serial port, performs 1-Wire Net operations and then sends the results back to the serial port. The source code converts the intended 1-Wire operations into serial communications packets to the DS2480B. The only thing that needs to be provided for a platform are the serial port read/write primitives. These two sets of portable source code files implement the same 1-Wire Net functions and are interchangeable. The files in the sub-directory '\lib\MICRO\' are written for example programs using assembly language. It is best to use the files from one or the other, either general or userial, rather than a combination of the two groups of files for faster processing. CONTENTS: * lib (1-Wire Net library code sets) * userial - Code set based on Universial Serial chip (DS2480B) * general - Code set based on 1-Wire link-level functions * micro - Formerly in the TMEX kit, written for example programs using assembly language * apps (application examples) * atodtst - finds and display the value for channels A,B,C,D on the DS2450 Quad A/D Converter * counter - reads the DS2423 counter value of the associated memory page * coupler - tests the DS2409 commands and searches for the DS2409 and the devices on the branch of the DS2409 * fish - Read, write, format and display the file system on a 1-Wire memory device. * gethumd - Measures the humidity using the DS2438. * mweather - 1-Wire Weather Station example, supports versions of the Weather Station * memutil - Minimal 1-Wire application to list the devices present on the default 1-Wire Adapter/Port. * shaapp - 1-Wire application for using DS1961 functions. * shadebit - DS1963/DS1961 SHA iButton monetary demo. Initializes the the dedicated co-processor DS1963 and the user performs authenticated secure money debits using DS1963/DS1961. * swtloop - performs various operations on the Dual Addressable Switch * swtsngl - turns the DS2405 switch on & off and reads the on/off status * temp - finds and displays the temperature measurement for the DS1920/DS1820 * thermo - DS1921 Thermochron download and mission example application * tstfind - loop to find all 1-Wire devices on Net * examples (example implementations on platforms) * linux - Linux implementation using 'userial' code set * win32 - Windows 32-Bit implementation using 'userial' code set * tmex32 - Windows 32-bit implementation using 'general' code set iButton-TMEX 32-bit as the 1-Wire link-level functions. * macOS - MacOS implemenation using 'userial' code set(needs work) * beos - BeOS implementation using `userial' code set * Documentation * ReadMe.txt - this file (Version 3.00, application descriptions, platforms used, information, kit history) * license.txt - 'public domain' source code license (based Consortium's/MIT license http://www.opensource.org/mit-license.html * OWPD300.txt - Notes to the user, device listing, application interface code * \apps\(application-name)\ReadMe.txt - documentation throughout the One Wire Domain kit with code explanation and location of other files that may be required for usage INFORMATION: The best source of information about 1-Wire devices including iButtons is Dallas Semiconductor's iButton web site at: http://www.ibutton.com/ This file has the latest download listings: ftp://ftp.dalsemi.com/pub/auto_id/softdev/softdev.html Dallas Semiconductor/Maxim's main web site: http://www.maxim-ic.com/ Data sheets: http://dbserv.maxim-ic.com/pl_list.cfm?filter=1w KIT HISTORY: 1.01 -> 1.02 Support multiple DS1820 temperature devices in example. * Change MLANU(userial) section to implement opening and closing of communication port with generic functions. * Fix incorrect declarations of global variables in MLANU(userial). * Fix reading incorrect counter page in MWeather example. * Extended DSO of MLANU(userial) adapter. 1.02 -> 1.03 Reorganization of files/directories * Make applications not library dependent (userial/general) * Add Linux support 1.03 -> 2.00 Reorganization of files/directories * Addition of the Common directory * Additional support added to the Lib file for multiple ports * New applications and examples * New Weather Station example to both versions of the Weather Station * Change from MicroLAN (MLAN) to 1-Wire Net (OW) 2.00 -> 3.00 Reorganization of files/directories * Added error handling code * Added code for running applications on micros * Added modules to support memory IO for all current 1-Wire memory devices. * Expanded the 1-Wire file I/O to implement all functions similar to the TMEX API.