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 portsThese 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