README32.TXT Driver File Contents (WIN32.EXE)

Win32 application support for Windows 95 and Windows NT
For the DS1410D and Buttons

Ver 3.32
Dallas Semiconductor

This SNT95.OBJ supports 32 bit applications running on either Windwos95
or WIndows NT.  The SNT95.OBJ provides a single common interface for both 
operating systems.  Therefore the application will only needs to be linked with this
object file to gain communication to the DS1410D and buttons on either Windows 95 or 
Windows NT.  

The application will require the correct driver to be installed on the 
operating system. These drivers must be installed in order to establish
communication.  Windows NT requires the DS1410D.SYS driver, while Windows 95 
requires the VSUATHD.386 driver.  To install these please refer to the installation
instructions below.  

For documentation on the API Function Calls in the SNT95.OBJ 
please refer to the Function Calls section of this document.
 

Win95 Installation:

Run the setup.exe program to install the Vsauth95.386 dirver or the oemsetup.inf.
Both programs copy the vsauthd.386 driver to the \Windows\system directory and 
create the neccessary entries in the Registry.
Additional information is provided in the readme95.txt in the \win95drv directory.

WinNT Installation:

To install the DS1410D.SYS device driver on Windows NT operating systems
please perform the following steps:  


1.	Copy the file \WINNT\DRIVER\DS1410D.SYS to \winnt\system32\drivers

2.	Run dowinst.exe (from command line or desktop)

3.	On the menu select: Install driver

4.	Reboot "shutdown" Windows NT system 
	Note: You must reboot the system, just logging off will not install
		the driver, you must shutdown and bring the system back up. 

5.	Place the DS1410D and Button on the parallel port.

6.	Run DS1410D Demonstration \NT95demo\NTDEMO.EXE
		(from command line or desktop)


Application communication:

Link your Win32 application with the SAUTH95.obj to incorporate the
communication into the application.  The Sauth95.obj provides  
the communication link to the VSAUTHD.386 driver on the parallel port.

There are NT & 95 example applications programs located in the 
\nt95demo directory on this disk.
The ntdemo.c program will search all the parallel port addresses,
returning the serial number of all devices found on a port.  
The demo will read and program DS1427 time buttons.

Note: The application must make the following function calls on both WinNT & Win95:

DOWCHECK - Checks for the VSAUTHD.386 driver or DS1410D.sys driver 
KEYOPEN  - Locks communication access to the DS1410D
KEYCLOSE - Releases communication access to the DS1410D

These functions are required for all applications running on Windows 95
and Windwos NT operating systems.  For more details on the Function Calls 
in the SNT95.OBJ please refer to the Function Calls section of this document.

FUNCTION CALLS

Each Secure TMEXtm object library file contains a set of functions that 
perform the communication with the Button products.  These function calls 
allow developers to integrate the Buttons into an application.  
The function calls are defined in detail in this section.  It also may be 
beneficial to review the source code of the demonstration programs for 
actual implementations of the function calls.  The recommended demo program to 
view is the in the \NT95demo directory on this disk.

The Secure TMEXtm provides ten function calls, all of which are defined on the 
following pages.  Prototyping of the function calls for Win32 applications
is unified for both Windows 95 and Windows NT.  The TMEXtm library has a demonstration 
program (NT95DEMO.C) that contains the correct prototyping for the operating systems.

Function:
		Setup(PN: Byte): Boolean; External;

Sets the parallel address for Button Holder communication.

The setup function must be called before any of the other functions, 
except for keyopen and dowcheck functions, to establish the printer port address 
to be utilized.  The function returns True if 1 <= PN <= 3; otherwise it returns False.  
The function will always return true if PN is a number between 1 and 3, regardless of 
whether or not the parallel port is physically present on a PC system.  This function 
can be called at any time  to switch to a different printer port.  Calling Setup with 
the port number sets the communication to a particular port address.  
Your application's parallel port initialization routine must call the SETUP 
function with a (1) , (2) and (3) while looking for the Buttons to ensure that 
all port addresses were searched for the DS1410D and Buttons.  

The following port addressing is always true when using setup function.

Setup (1)  =  378 H
Setup (2)  =  278 H
Setup (3)  =  3BC H

 
Function
		DowCheck: Boolean;  External;

Determine if a DS1410D device driver is installed on a system.

This function returns true if the Dow Device Driver has been installed and false 
if no driver was found.  This function is used on advanced operating systems 
such as Windows NT and UNIX systems that require device drivers.  
The function serves no purpose in DOS, Windows 3.1 and OS/2, and therefore always
 returns true.  The DowCheck function can be called in all Secure TMEXtm libraries, 
providing portable Button communication code between operating systems.


Function
		GndTest: Boolean;  External;

Determine if a grounded SELECT line (pin 13) or BUSY line (Pin 11) is 
effecting operation.  Developers need to call this function even though 
printer incompatibilities are rare.  Today there are a wide range of 
parallel port peripherals such as CD-players, Pocket Network adapters, 
and parallel port hard drives that can effect DS1410D operation.  
It is possible that one of these devices could cause a conflict on the 
parallel port as some of these peripherals consume the port.  
This check is similar to a modem loop back test and consequently 
requires a DS1410D to be attached to provide accurate results.  
This is due to the lack of consistency in the way that parallel port 
designers use unconnected control lines.


Function
		First: Boolean; External;

--> Locate the first Button or Button holder on the parallel port

This function returns False if Setup has not yet been called successfully. 
If Setup was successful, it issues a reset signal.  It returns False if no 
presence pulse was detected meaning no parts were found.  If a presence pulse 
was detected, it performs the ROM Search algorithm to find the first ROM data 
pattern (serial number) on the parallel port.  It returns True if the search 
succeeds and False otherwise.  The serial number that was found is stored in an
 internal 8-byte buffer.

 
Function
		Next:  Boolean; External;

Locate the next Button or Button holder on the parallel port

This function returns False if Setup has not yet been called successfully. If Setup 
was successful, it issues a Reset signal and returns False if no presence pulse 
was detected.  If a presence pulse was detected, it performs the ROM search 
algorithm to find the next serial number on the parallel port.  It returns True 
if the search succeeds and False otherwise.  
The serial number that was found is stored in an internal 8-byte buffer.  
The first time Next is called in a program, it is equivalent to the First function.
Before returning a False value, the code resets its internal pointers so that 
the following call to Next is equivalent to a call to First.


Function
		Access: Boolean; External;
	
Select a DS1400 series Button for communication

This function returns False if Setup has not yet been called successfully.  
If Setup was successful, it issues a reset signal and returns False if no presence pulse
 was detected.  If a presence pulse was detected, it transmits the ROM Match 
command followed by the specific 8-byte buffer and returns True.  

The Access function must be called before sending a command word to the Button.  
The Access function must be called before changing any command word to the Button. 
 For example you want to write to then read from the scratchpad in a DS1425 Button. 
First, call Access, then send a write scratchpad command (Databyte 96), 
finally send the data to the scratchpad.  Before you can read the scratchpad 
back you must call the Access function.  Then you can send the read scratchpad
 command (DataByte 69).

 
Function
		DataByte(X: Byte): Byte; External;

Full duplex, one byte communication with a DS1400 series Button

This function returns the value X if the function Access has never been called, 
or if the most recent call to the Secure TMEXtm returned a False value.  Otherwise,
 it transmits the byte X to the one-wire bus and returns the byte received 
concurrently from the one-wire bus.  Use this function to pass command words 
and data to and from a Button located in a DS1410D.  After the command word has been
 sent to the device, it is either set in a read or awrite state.  When operating 
in a write state, call DataByte X where X is the byte to be written.  When operating 
in a read state, call DataByte FF, this will return the desired data located in 
the Button.

The user sends specific command words to the Buttons with the DataByte function 
to perform operations that are featured with each Button type.  Therefore each 
Button type has a set of command words that can be sent to perform the desired 
operations.  It is useful to review the demo programs to understand how command 
words are built.  The following defines the first byte of the command words for a 
DS1425 Buttons and the DS1427 Buttons.  It is also highly recommended that you 
also read the sections on the DS1425 and DS1427 Buttons in the Developers Guide 
to gain full understanding of command word formation for Buttons.

DS1425 Button Commands:

	Databyte ( 96H )	Write Scratch Pad 
	Databyte ( 69H )	Read Scratch Pad 
	Databyte ( 3CH )	Copy Scratch Pad 
	Databyte ( 66H )	Read SubKey 
	Databyte ( 99H )	Write SubKey 
	Databyte ( 5AH )	Reprogram Password 


DS1427 Button Commands:

	Databyte( 0FH )	Write Scratch Pad 
	Databyte( AAH )	Read Scratch Pad 
	Databyte( 55H )	Copy Scratch Pad 
	Databyte( F0H )	Read Memory 


 
Function 
		RomData: Pointer;

Pointer to the serial number of the DS1410D Button Holder or Button currently 
selected by calls to First and or Next.  Note that each DS1410D Button Holder 
contains serial number that will appear when calling the RomData function.  
In order to communicate with the Button in the Holder, the application must 
be pointing to the serial number of the Button and not the Button Holder.  
This may be a achieved by calling functions First and Next, selecting the 
Button ROM serial number.  

Performing a check on the family code of the serial number found will determine 
whether the serial number belongs to a Button or the DS1410D Button Holder.  
Note that the family code is part of the 8 byte serial number itself.  
The DS1410D Button Holder serial numbers have a family code of  81 hex, 
DS1425 Multi Buttons have a family code of 82H, and DS1427 Time Buttons have
family code 84H.

The RomData function returns a far pointer to the internal 8-byte buffer.  
The 8-byte buffer contains the serial number of the currently selected Button.


Function
		Keyopen:  Boolean; External;

This function locks the communication link to a Button to avoid conflicts with
 other tasks communicating with Buttons. 

The function should be used for applications designed to run on multi-tasking
 platforms such as  OS/2, UNIX, Windows NT and Windows 95.  The function is called
 to lock the communication for your task.  After communication is complete it is
 necessary to call keyclose function to release the lock.  Using the lock avoids
 other tasks or applications from interrupting the communication link to the Buttons.  
All of the object libraries support the Keyopen and Keyclose functions.  
For operating systems such as DOS and Windows 3.1 the functions are stub functions
 that perform no real communication locking.


Function
		Keyclose:  Boolean; External;

This function releases control of the communication link to the buttons.

This functions needs to be called at the end of each communication session 
with the Button.  For each Keyopen call, a Keyclose call exists at the end 
of the communication routine.  The Keyclose function releases control 
of the communication link for buttons.  If the function does not follow the
Keyopen call, other tasks will not be able to communicate with the Button on a system.

Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: ftp, load: 1.47