TMEX Windows Considerations Overview

The TMEX DLL drivers must be in a directory that can be found by the Microsoft Windows application. The 1-Wire Drivers installation program will automatically copy the drivers into the Windows\System sub-directory. It is recommended that the end user install the 1-Wire drivers and then install the target application. The DLL drivers are designed such that there is a main driver and then a series of Hardware Specific sub-drivers. For Windows the main driver is IBFS32.DLL for 32-bit Microsoft operating systems and IBFS64.DLL for 64-bit Microsoft operating systems. When requesting a 1-Wire network port, the port number and type are specified in the function TMExtendedStartSession. The main driver then calls one of the Hardware_Specific sub-drivers. Here is a list of the default port type drivers.

32-bit Drivers:

Type#    Port                Driver Name                Description

1            COM             IB97E32.DLL              uses the DS9097E (legacy serial port adapters) on COM ports

2            LPT               IB10E32.DLL               uses the DS1410E adapter on LPT ports

5            COM             IB97U32.DLL              uses the DS9097U or DS9480 (future USB device) adapter on COM ports

6            USB               IBUSB32.DLL             uses the DS9490R or DS9490B adapter on USB ports  (please note drivers prior to version 4.01 of the 1-Wire Drivers used IB90USB.DLL).


64-bit Drivers:

Type#    Port                Driver Name                Description

1            COM             IB97E64.DLL              uses the DS9097E (legacy serial port adapters) on COM ports

2            LPT               IB10E64.DLL               uses the DS1410E adapter on LPT ports

5            COM             IB97U64.DLL              uses the DS9097U or DS9480 (future USB device) adapter on COM ports

6            USB               IBUSB64.DLL             uses the DS9490R or DS9490B adapter on USB ports 

These defaults can be changed or new drivers can be registered by means of the system registry. The defaults are set automatically to the USB port when the 1-Wire Drivers setup program is run. The following is a list of registry keys added during installation.

 

32-bit Platforms

HKEY_CURRENT_USER\SOFTWARE\Maxim Integrated Products\1-Wire Drivers]
"MainDriver"="IBFS32.DLL"
"TYPE1"="IB97E32.DLL"
"TYPE2"="IB10E32.DLL"
"TYPE5"="IB97U32.DLL"
"TYPE6"="IBUSB32.DLL"
"DefaultPortNum"="1"
"DefaultPortType"="6"

64-bit Platforms
[HKEY_CURRENT_USER\SOFTWARE\Maxim Integrated Products\1-Wire Drivers\x64]
"MainDriver"="IBFS64.DLL"
"TYPE1"="IB97E64.DLL"
"TYPE2"="IB10E64.DLL"
"TYPE5"="IB97U64.DLL"
"TYPE6"="IBUSB64.DLL"
"DefaultPortNum"="1"
"DefaultPortType"="6"

 

DS1410E Device Driver Service Settings:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DS1410D]
"ErrorControl"=dword:00000001
"Group"="Extended Base"
"Start"=dword:00000001
"Tag"=dword:00000002
"Type"=dword:00000001
 
All Platforms:

Appropriate registry keys set through Windows plug-and-play installation of WinUSB through the *.inf file (either DS2490WinUSB_x86.inf or the DS2490WinUSB_amd64.inf).


WinUSB Installation Files:
WDFCoInstaller01007.dll (32-bit edition)
WinUSBCoInstaller.dll (32-bit edition)
DS2490WinUSB_x86.cat
DS2490WinUSB_x86.inf
or
WDFCoInstaller01007.dll (64-bit edition)
WinUSBCoInstaller.dll (64-bit edition)
DS2490WinUSB_amd64.cat
DS2490WinUSB_amd64.inf

TMEX Library Interface Files:
IBFS32.LIB (found in the example programs folders that require it)
IBFS64.LIB (found in the example programs folders that require it)

During the 1-Wire drivers installation the default port number and type are also set. This can be changed with the "Default 1-Wire Net.exe" program installed in the application directory in "Program Files".  It is recommended that before starting an example TMEX application for the first time, set the default port. Should the user then change the port, this information should remain with the setting information with the specific application.

An additional TMEX Hardware_Specific driver can be added by adding another string value to the key, for example: TYPE3 MYDRIVER.DLL This can be done with the registry editor that comes with Windows.

The TMEX DLLs have an extra API call 'Get_Version' to get the version number of the main TMEX DLL. There is also an API call to get the version of each of the registered Hardware_Specific types called TMGetTypeVersion. It is recommended that these API calls be used and their information provided somewhere in the application, perhaps in an 'about' box.

Since Microsoft Windows is multi-tasking, each application must provide a state buffer to the TMEX driver in each API call. To have the state preserved from session to session make this buffer global and do not alter its contents. The size of this buffer must be at least 5K (5120) bytes if no EPROM write operation is needed in the application or 15K (15360) bytes if EPROM write operations will be done. The size of this state buffer may increase with later versions of TMEX.

Calling implementations to TMEX from several Windows programming languages:

iBTMEXCW.H        C

iBTMEXPW.PAS    Delphi

iBTMEXBD.BAS    Visual Basic

See Also

TMEX API List