CALIBRE. I2C Communications Adapter Windows 95 / 98 Driver Manual ICADLL/95 Issue /07/1999

Similar documents
CALIBRE PICA93LV. Parallel I2C Communications Adapter User Manual. Issue /07/1999

CALIBRE. I2C for Windows USB Manual WINI2CUCA93 Issue /18/03

DCA - 10 / DCA TTS Systems

DRIVE Billing Relate Software DRIVE Billing

PVPro Firmware Update Guide Version 1.0

Pulsonix Design System. Node Locked & Network Installation Start-up Notes

KH523CAL Automatic Calibration and Testing Software for Model 523 DC Source/ Calibrator

This revision of the manual is dated July 9, All modifications from previous versions are listed in the appendix.

DT9000 Development Kit V1.1

R227. Terms Code Discount per Sales Code Qty Ordered AR-1227

MODBUS MANUAL For the AccUView UV Transmission Monitor

AT60142H/HT. Rad-Hard 512Kx8 Very Low Power CMOS SRAM ERRATA-SHEET. Active Errata List. Errata History. Abbreviations. 1.

PC-LC2/ QUICK INSTALL GUIDE. Installation Guide. Version 1.0. Technical Manuals Online! -

Automator (Standard)

PICkit Serial DLL (PICkitS.dll) Function Prototypes

Technical Manual Inepro EveryonePrint Gateway

AT03262: SAM D/R/L/C System Pin Multiplexer (SYSTEM PINMUX) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

Application Note: AZD025 IQ Switch - ProxSense TM Series I2C Example Code for the IQS222

ATAES132A Firmware Development Library. Introduction. Features. Atmel CryptoAuthentication USER GUIDE

DM6816 Driver for Windows 98/NT4/2000/XP

AT09381: SAM D - Debugging Watchdog Timer Reset. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

Data Acquisition ATDAQ DLL. Windows 3.11/95/98/NT/2000 Software Drivers for ATAO and ATDAQ Cards FUNCTION REFERENCE MANUAL

M3H Group(1) Application Note. I 2 C Interface (I2C-B) MASTER/SLAVE

Using LPC11Axx EEPROM (with IAP)

EDBG. Description. Programmers and Debuggers USER GUIDE

InLinK HM Setup Software Installation & Operation Manual

One Identity Manager Administration Guide for Connecting to SharePoint Online

APPLICATION NOTE. Atmel AT03304: SAM D20 I 2 C Slave Bootloader SAM D20. Description. Features

AT11512: SAM L Brown Out Detector (BOD) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

Windows to I 2 C Bus Host Adapter with iport Utility Pack Software

UM PR533 - PCSC Tool. User manual COMPANY PUBLIC. Rev November Document information

SIO-DLL. Serial I/O DLL. User Manual

1. License Grant; Related Provisions.

NCD ThinPATH PC Installation Guide and Release Notes

Made in U.S.A. 1

INTELLEX SOFTWARE VERSION 3.1 UPGRADE

Smart Ocean Smart Hockey Puck Padlock Data Sheet

Corporate Registry: Access Code Guide. Corporate Registry

Ludlum Lumic Data Logger Software Manual Version 1.1.xx

One Identity Manager Administration Guide for Connecting Oracle E-Business Suite

MultiCom/MV 1.0. Comtrol RocketPort Guide. Copyright , Viewpoint Systems, Inc. All Rights Reserved

Win-I2CNTDLL. I²C and SMBus Control DLL User s Manual. Version 4

PICkit Serial DLL (PICkitS.dll) Function Prototypes

Stonesoft User Agent. Release Notes for Version 1.1.3

APPLICATION NOTE. Atmel AT02260: Driving AT42QT1085. Atmel QTouch. Features. Description

ProxWriter. User s Manual. VT TECH Corp E. Industrial St., #1G Simi Valley, CA Phone: (805) Fax: (805) Web site:

XLUPLOAD. Document Upload Utility for TeamBinder USER GUIDE

AN NTAG I²C plus memory configuration options. Application note COMPANY PUBLIC. Rev June Document information

SFF Committee Specification for. Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.) SFF-8035i Revision 2.0

MICRO CRAFT CORPORATION

MAS 90 Enhancements. LMSQ SQL Mirroring. Version 4.30

NPCI-PMC Technical Reference Manual

SAM4 Reset Controller (RSTC)

QUICK START GUIDE.

Migration Guide. Wiztec Business Suite Server Wiztec Business Suite Client Update. Wiztec Business Solutions

Perfect Time Pro v User Manual

APPLICATION NOTE. Atmel AT03261: SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) SAM D20 System Interrupt Driver (SYSTEM INTERRUPT)

PSA200 User s Manual

Stellar WAB to PST Converter 1.0

KC Web API Programmer Reference

Intel Platform Innovation Framework for EFI SMBus Host Controller Protocol Specification. Version 0.9 April 1, 2004

ADN. System Installer. Instruction manual

PixController, Inc. Wireless Magnetic Switch Sensor For Doors, Windows, and Gates

APPLICATION NOTE. Atmel AVR3009: Driving QTouch Device with I 2 C Interface. Atmel QTouch. Introduction

Vibra LITE 7 Mini QUICK START GUIDE:

IPNexus Server Secure Instant Messaging & Integrated Collaboration

AN510 Using SPI protocol with pressure sensor modules

APPLICATION NOTE. AT6486: Using DIVAS on SAMC Microcontroller. SMART ARM-Based Microcontroller. Introduction. Features

S056. Segment Substitution On the Fly SO-1056

I2C and the TAS3001C. Introduction. The I2C Protocol. Digital Audio Group ABSTRACT

NetSupport Protect 2.00 Readme

M3H Group(1) Application Note I 2 C Interface (I2C-B)

UM PCAL6524 demonstration board OM Document information

MFL QUICK START MANUAL

USER GUIDE EDBG. Description

x10data Smart Client 6.5 for Windows Mobile Installation Guide

SAMA5D2 Quad SPI (QSPI) Performance. Introduction. SMART ARM-based Microprocessor APPLICATION NOTE

440GX Application Note

Getting Started Program Installation, Updating and General Information

USER GUIDE. Atmel QT1 Xplained Pro. Preface

NuXGate. Version 2.0. For WinNT/Win2000/Win XP/Win2003. Release Date 18 August User s Manual MobileXdge Inc

Section 5 SERCOM. Tasks SPI. In this section you will learn:

M3H Group(2) Application Note I 2 C Interface (I2C-B) arbitration

Ethernet1 Xplained Pro

APIX AUTOMOTIVE SHELL SW-EMULATION USE CASE

LogiCORE IP 3GPP LTE Turbo Encoder v1.0 Bit-Accurate C Model. 3GPP LTE Turbo. [optional] UG490 (v1.0) April 25, 2008 [optional]

OPL-DCL Standard Demo Manual With (Micro) PDF417 and RSS. User s Manual. Version LFBP0510

Customer Support: For more information or support, please visit or at Product Release Information...

Tisio CE Release Notes

TotalShredder USB. User s Guide

SNMPListener v2.0 User Guide

USER GUIDE. Atmel QT6 Xplained Pro. Preface

MULTIFUNCTIONAL DIGITAL SYSTEMS. Software Installation Guide

SIS1100/3100. Win Driver. Programmers Manual

Stellar Phoenix Password Recovery For Windows Server. Version 2.0. User Guide

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

NAPCO iseevideo Fixed IP Camera User Guide

QT2 Xplained Pro. Preface. Atmel QTouch USER GUIDE

Product Manual Select Code Comcode Issue 8 January EasyView Software for the Galaxy Controller

AT21CS Series Reset and Discovery. Introduction. Serial EEPROM APPLICATION NOTE

Transcription:

I2C Communications Adapter Windows 95 / 98 Driver Manual ICADLL/95 Issue 2.2 16/07/1999 Calibre UK Ltd 1999

Welcome to the Calibre I 2 C for Windows 95 / 98 driver. This driver is designed to users to run I 2 C Bus operations via the Calibre I 2 C adapter (ICA90 or ICA93). Please note that in this manual sometimes refers to the I 2 C Communications Adapter User Manual. It will prove helpful if you have this to hand. If you have any queries relating to this or any other I 2 C product supplied by Calibre please visit our web site www.calibreuk.com. For technical support please e-mail techsupport@calibreuk.com or send your queries by fax to (44) 1274 730960, for the attention of our I 2 C Technical Support Department. COPYRIGHT This document and the software described within it are copyrighted with all rights reserved. Under copyright laws, neither the documentation nor the software may be copied, photocopied, reproduced, translated, or reduced to electronic medium or machine readable form, in whole or in part, without prior written consent of Calibre UK Ltd ("Calibre"). Failure to comply with this condition may result in prosecution. Calibre does not warrant that this software package will function properly in every hardware/software environment. For example, the software may not work in combination with modified versions of the operating system or with certain network adapter drivers. Although Calibre has tested the software and reviewed the documentation, CALIBRE MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS SOFTWARE OR DOCUMENTATION, THEIR QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. THIS SOFTWARE AND DOCUMENTATION ARE LICENSED 'AS IS', AND YOU, THE LICENSEE, BY MAKING USE THEREOF, ARE ASSUMING THE ENTIRE RISK AS TO THEIR QUALITY AND PERFORMANCE. IN NO EVENT WILL CALIBRE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, even if advised of the possibility of such damages. In particular, and without prejudice to the generality of the foregoing, Calibre has no liability for any programs or data stored or used with Calibre software, including costs of recovering such programs or data. Copyright (c) 1999 Calibre UK Ltd Cornwall House, Cornwall Terrace Bradford, BD8 7JS. UK. E-mail: sales@calibreuk.com Web site www.calibreuk.com All World-wide Rights Reserved Issue 2.2 16/07/1999 All trade marks acknowledged Calibre operates a policy of continued product improvement, therefore specifications are subject to change without notice as products are updated or revised. E&OE. Issue 2.2 Page i

Contents INTRODUCTION 1 1.1. General Introduction 1 1.2. System Requirements 1 1.3.. Configuring the Adapter 1 1.4. Installing the Adapter 1 INSTALLING THE DRIVER INTO YOUR SYSTEM 2 2.1. File Location 2 2.2. Registering the Driver 2 LIBRARIES FOR PROGRAMMING IN MICROSOFT WINDOWS 95 ENVIRONMENTS 3 3.1. Windows LIB/DLL Functions 3 3.1.1. Files 3 3.2. Introduction 3 3.3. C++ functions - Function Prototypes 3 3.4. VB5.0 functions - Function Declarations 3 3.5. Function Description 4 3.5.1. setup 4 3.5.2. sendaddress 4 3.5.3. writebyte 5 3.5.4. readbyte 5 3.5.5. sendstop 6 3.5.6. restart 6 3.5.7. getstatus 7 3.5.8. recover 7 3.5.9. slavelastbyte 7 THE MOST COMMONLY ASKED I2C QUESTIONS 9 4.1. General Questions 9 4.2. DOS Software Questions 9 4.3. WINDOWS 95 and NT Questions 9 Issue 2.2 Page ii

INTRODUCTION 1.1. General Introduction This document details the installation and use of the I 2 C communications adapter (ICA) Windows 95 / 98 driver. This driver is suitable for both the ICA90 and the ICA93. 1.2. System Requirements This driver is suitable for Windows 95 and Windows 98 1.3.. Configuring the Adapter NOTE: MANY COMPONENTS ON THE ADAPTER CARD ARE STATIC SENSITIVE. OBSERVE NORMAL STATIC SENSITIVE PRECAUTIONS WHEN HANDLING THE CARD! See the manual supplied with the adapter for details on how to configure the adapter. 1.4. Installing the Adapter Install the adapter into the PC in accordance with the manual supplied with the adapter. Issue 2.2 Page 1

INSTALLING THE DRIVER INTO YOUR SYSTEM 2.1. File Location Unlock the files in accordance with the instructions provided with the license. Copy the files as follows:- 1)Copy the.vxd files to the C:\WINDOWS\SYSTEM\VMM32 2)Copy the.lib into your compilers \lib 3)Copy the.dll into \WINDOWS\SYSTEM 4)Copy the.h file into your project directory 2.2. Registering the Driver From the DOS prompt run the Reg95.exe program when prompted enter the offset of the adapter from 310H for example Hardware address = 310H enter 0 Hardware address = 312H enter 2 " " Hardware address = 31EH enter E Hardware address = 31FH enter F The address offset entered must match the base address link setting of the adapter. Then enter the IRQ required (ensure that this IRQ is not used by any other part of your system). Most applications use the adapter in a polled mode (i.e. interrupts are not used) in this case select 0 - IRQ disabled. Guidance relating to the registry can be found on www.calibreuk.com. Issue 2.2 Page 2

LIBRARIES FOR PROGRAMMING IN MICROSOFT WINDOWS 95 ENVIRONMENTS 3.1. Windows LIB/DLL Functions 3.1.1. Files Reg95.exe Driver registration application WRtDev0.VXD BlueWater Systems WinRT driver \cpp\cali2c32.h "C" function prototypes \cpp\i2c_95.lib I2C "C" library \cpp\i2c_95.dll I2C dynamic link library \vb5\cali2c.bas "Visual Basic 5.0 declarations" \vb\i2cvb_95.dll "Dynamic link library for Visual Basic 5.0" \vb\i2cvb_95.lib "Library for Visual Basic 5.0" 3.2. Introduction Each utility is documented in a standard format which lists its name, usage, function and effect on the adapter is given. The adapter should be setup prior to any data transfer. 3.3. C++ functions - Function Prototypes To ensure the prototypes are added correctly copy the file CALI2C32.H into the directory containing your project and add the line: #include "CALI2C32.H" The following functions are implemented in the windows libraries:- extern declspec(dllimport) int setup (int, int, int, int); extern declspec(dllimport) int sendaddress (int, int ); extern declspec(dllimport) int restart (int, int); extern declspec(dllimport) int getstatus (void); extern declspec(dllimport) int writebyte (int ); extern declspec(dllimport) int readbyte (int ); extern declspec(dllimport) int sendstop (void); extern declspec(dllimport) int recover (void); extern declspec(dllimport) int slavelastbyte (void); extern declspec(dllimport) int dllversion (void); 3.4. VB5.0 functions - Function Declarations To ensure the prototypes are added correctly copy the file CALI2C.BAS into the directory containing your project and add the file to your project line: The following functions are implemented in the windows libraries:- Public Declare Function setup Lib "i2cvb_95.dll" (ByVal baseaddress As Integer, ByVal ownaddress As Integer, ByVal sclk As Integer, ByVal statuswait As Integer) As Integer Public Declare Function sendaddress Lib "i2cvb_95.dll" (ByVal slaveaddress As Integer, ByVal setnack As Integer) As Integer Public Declare Function restart Lib "i2cvb_95.dll" (ByVal slaveaddress As Integer, ByVal setnack As Integer) As Integer Public Declare Function writebyte Lib "i2cvb_95" (ByVal wrdata As Integer) As Integer Public Declare Function readbyte Lib "i2cvb_95.dll" (ByVal setnack As Integer) As Integer Public Declare Function sendstop Lib "i2cvb_95.dll" () As Integer Public Declare Function getstatus Lib "i2cvb_95.dll" () As Integer Public Declare Function recover Lib "i2cvb_95.dll" () As Integer Public Declare Function slavelastbyte Lib "i2cvb_95.dll" () As Integer Public Declare Function dllversion Lib "i2cvb_95.dll" () As Integer Issue 2.2 Page 3

3.5. Function Description 3.5.1. setup Function specification int setup(int baseaddress, int ownaddress, int sclk, int statuswait) int baseaddress This has no function and any value may be passed to setup, The baseaddress has been retained to enable applications written for Windows 3.x to be ported with a minimum of changes. int ownaddress This is the I2C address to which the adapter is to respond in slave mode. This forms the upper 7 bits of the 8 bit address, the lowest bit being the read(1) or write(0) bit. This means that if ownaddress = 57H the card will respond to a write address of AEH and a read address of AFH. int sclk This is the clock rate (bit rate for the I2C serial bus) when operating as a master. Value of sclk Approximate SCL-kHz 0 90 1 45 2 11 3 1.5 int statuswait This is a period of time (in micro seconds) to wait for the required bus status. If this time-out expires the I2C functions will exit returning an error code. If the software fails to find the driver error code 9001H is returned otherwise the status is returned. None. Functional description This function characterises the PC and initialises adapter ready for I2C transfers. 3.5.2. sendaddress Function specification Int sendaddress(int slaveaddress, int setnack) int slaveaddress This is the address to be accessed via the I2C, e.g. A0H. int setnack This controls whether the adapter transmits an acknowledge down the I2C bus on reception of a byte. The last byte received during a transfer must not be acknowledged, in all other cases acknowledge must be enabled. If setnack = 0 then acknowledge is enabled, if setnack = 1 then acknowledge is disabled. Therefore, if a read (odd numbered) address is being sent AND only 1 Byte is to be read, setnack should be set to = 1; in all other cases it must be clear = 0. int ErrCode. If the software fails to open a handle to the driver 0x9000 is returned. If the transfer time out occurs error code 8001H is returned otherwise the status is returned. The adapter must be configured by running setup. Issue 2.2 Page 4

Functional description 3.5.3. writebyte Function specification The function waits for the bus to be free. Then sends the slave address with the appropriate acknowledge. The acknowledge is set ready for the data transfer after the address and hence in read mode (odd address being sent) if only one byte is to be read the setnack parameter must equal 1. If more than one byte is to be read or if in write mode (even address being sent) then setnack must equal 0. The function waits for the address to be sent. Should a time-out occur during the sending of an address then an error code 8001H is returned, otherwise the status is returned. Int writebyte(int wrdata) int wrdata This is the byte of data to be written. int ErrCode. If the software fails to open a handle to the driver 0x9000 is returned. If the transfer time out occurs error code 8004H is returned otherwise the status is returned. Adapter must be configured using setup, start and write address sent by sendaddress. Functional description The function writes the data to the adapter and then waits for it to be sent. Should a time-out occur during the sending of the data then error code 8004H is returned, otherwise the status is returned. Writebyte is compatible with both master write and slave write modes. 3.5.4. readbyte Function specification Int readbyte(int setnack) int setnack This controls whether the adapter transmits an acknowledge down the I2C bus on reception of a byte. The last byte received during a transfer must not be acknowledged, in all other cases acknowledge must be enabled. If setnack = 0 then acknowledge is enabled, if setnack = 1 then acknowledge is disabled. Therefore, if the LAST BUT ONE byte is to be read, setnack should be set to =1; in all other cases it is to be set = 0 (in the case of reading 1 byte only, the acknowledge will have been disabled by sendaddress and so should now be enabled again after reading the data, hence setnack = 0 for reading a single byte of data). The first read from the adapter following a write to it will result in the data that was written being returned. This data MUST be read and discarded before real data can be read, DO NOT count this extra read when considering whether or not to acknowledge. int I2CData If the software fails to open a handle to the driver 0x9000 is returned. If a time-out occurs the ErrCode 8005H is returned, otherwise the data is returned. Issue 2.2 Page 5

Adapter must be configured using setup, start and read address sent by sendaddress. Functional description If setnack is 1 the function writes 40H to the control register to establish the correct acknowledge procedure. The data is read from the adapter. Readbyte is compatible with both master read and slave read modes. 3.5.5. sendstop Function specification Int sendstop( ) Functional description 3.5.6. restart Function specification Functional description None. int ErrCode. If the software fails to open a handle to the driver 0x9000 is returned. If the transfer time out occurs error code 8002H is returned otherwise the status is returned. Adapter must be configured using setup. Should normally only be used at the end of a transmission. Correct acknowledge sequence must have been applied if the transmission was a read. Instructs the adapter to send a stop code and wait for it to be sent. Should a time-out occur during the sending of a stop then an error code 8002H is returned, otherwise the status is returned. Int restart(int slaveaddress, int setnack) int slaveaddress The address to be accessed via the I2C, e.g. A1H. int setnack This controls whether the adapter transmits an acknowledge down the I2C bus on reception of a byte. The last byte received during a transfer must not be acknowledged, in all other cases acknowledge must be enabled. If setnack = 0 then acknowledge is enabled, if setnack = 1 then acknowledge is disabled. Therefore, if a read (odd numbered) address is being sent AND only 1 Byte is to be read, setnack should be set to = 1; in all other cases it must be clear = 0. int ErrCode If the software fails to open a handle to the driver 0x9000 is returned. If the transfer time out occurs error code 8003H is returned otherwise the status is returned. Adapter must be configured using setup. A start and slave address must have previously been sent using sendaddress. Usually a data pointer would already have been written using writebyte. Sends a start code and the slave address specified and presets the acknowledge status depending on the value of setnack. Issue 2.2 Page 6

The acknowledge is set ready for the data transfer after the address and hence in read mode (odd address being sent) if only one byte is to be read the setnack parameter must equal 1. If more than one byte is to be read or if in write mode (even address being sent) then setnack must equal 0. The function waits for the address to be sent. Should a time-out occur during the sending of an address then an error code 8003H is returned, otherwise the status is returned. 3.5.7. getstatus Function specification: Functional description 3.5.8. recover Function specification Functional description Int getstatus(void) None. int I2Cstatus If the software fails to open a handle to the driver 0x9000 is returned otherwise the current value of the bus status is returned. Adapter must be configured using setup. The function reads status word from the adapter and returns it. Int recover(void) None. int ErrCode. If the software fails to open a handle to the driver 0x9000 is returned. If the bus recovery failed error code 8006H is returned otherwise the status is returned. Adapter must be configured using setup. This function issues two consecutive stop commands on the bus, with a delay in between. It then clears the adapter registers and reads the status. This should normally set the adapter into a known idle state when a bus error or other problem has occurred. If the status does not indicate bus free or the Bus Error bit is still set then 8006H is returned otherwise the status is returned. 3.5.9. slavelastbyte Function specification void slavelastbyte( ) If the software fails to open a handle to the driver 0x9000 is returned otherwise the function returns 0. Adapter must be configured using setup. This function would normally only be called following the end of a transmission in slave write mode - when the adapter is being read as a slave, by another master, not when writing to a slave using the adapter. Issue 2.2 Page 7

Functional description This function is used when the adapter is a slave being read by a master elsewhere on the bus - the adapter is in slave write mode. The function must be called immediately after the master indicates the last byte has been read (by not acknowledging that byte). This function is required to clear the I2C data lines so that the master can send a stop signal. Issue 2.2 Page 8

4.1. General Questions THE MOST COMMONLY ASKED I2C QUESTIONS Question Will my adapter work in a Pentium PC? Answer Yes and there is no need to alter LK 4 from the position in which your adapter was shipped. Question Will my adapter run I2C clock speeds greater than 90KHz? Answer At the moment your adapter is limited by the Bus Controller chip fitted, to a maximum of 90KHz as a master and 100KHz as a slave. Question Will my adapter work under Windows NT4* or Windows 95*? Answer The adapter will work under both these systems without problems, but the software supplied with the adapter is 16 bit only. Windows NT and Windows 95 DLLs are available please contact our sales team for further information. The bus monitors are best run from DOS (not Windows DOS Shell) as this minimises the risk of missing part of a transfer. * All trade marks acknowledged Question How can I find out if the adapter is clashing with another card in my PC? Answer If your adapter is located at a base address of 310H (as shipped) then run the bus monitor (REALTIM1) application supplied following the instructions in the adapter manual. With no activity on the bus the monitor should display a fix 'A', stop the monitor and edit the file produced if the file states that the bus was free and the status was 81H then your adapter is indeed located at 310H and there are no clashes within the PC. If your adapter is at 312H then repeat the above using the REALTIM2 bus monitor. Question I get corrupted transfers why is this? Answer The most likely reason for corrupted transfers is either incorrect bus termination or excessive capacitance - see the manual for details. Question Do you have software to talk to my...? Answer Unfortunately there are too many I2C devices for us to be able to offer complete solutions - although we can supply a windows based application called WINI2C which is designed for those just starting I2C or wishing to perform simple I2C tasks, please contact our sales team or look on our web site, www.calibreuk.com for further information. Question I am trying to read from a device, the first time my software works fine but when I try again I can't get anything what's wrong? Answer Please check that you are changing the value of Setnack in accordance with the manual, it is likely that you have not made Setnack 1 for the last AND last but one bytes being read. 4.2. DOS Software Questions Question My I2C adapter locks up with a constant status - why? Answer If you are using either the 'C' or Basic library functions supplied with the adapter on a fast PC it is possible that the PC is polling the status register too quickly, the simplest way to prevent this is to add a small delay prior to reading the status in the getstatus routine. Alternatively use the windows DLL supplied as these automatically allow for speed of the PC at run-time. 4.3. WINDOWS 95 and NT Questions Question My software cannot find the adapter. Your Windows software reports that it cannot configure the adapter. Why is this? Issue 2.2 Page 9

Answer Question Answer Have you registered the device driver as detailed in the software manual? If so check that the address links (see adapter manual for details) are correct for the location at which you registered the driver. I think I have registered the driver how can I find out if I have? You need to inspect the registry as follows Windows 95 START - Run regedit HKEY_LOCAL_MACHINE --SYSTEM --CurrentControlSet --Services --Class --WinRT --WinRTdev0 --Parameters --Section0 --Section1 Windows NT START - Run regedit HKEY_LOCAL_MACHINE --SYSTEM --CurrentControlSet --Services --WinRT --WinRTdev0 --Parameters --Section0 --Section1 Question Answer Question Answer I am using your Windows 95 / NT DLL and I am always getting a time out error code. Why? Check the Syntax of the setup function, this problem is most usually caused by swapping the Status Wait and Sclk parameters. The correct syntax is i2cstatus = setup (baseaddress, ownaddress, sclk, statuswait) I have read the manual and still cannot get the communications to run. What do I do next? Check that you have fully implemented the protocol between the adapter and the other I2C devices see the device manufacturers data sheet for details. Check that the software you have written is logically and syntactically correct - this is probably the most common cause of software faults we have to deal with. Issue 2.2 Page 10

Send us the following details:- 1)The link settings of the adapter. 2)A sketch of the relevant I2C hardware including the location of bus termination. 3)The type and speed of processor within your PC and which operating system, you are running. 4)Brief software listings, or which Calibre software you are running. 5)The serial number of your I2C adapter, or when you purchased it. We will endeavour to help you. PLEASE EMAIL YOUR QUERY TO: techsupport@calibreuk.com OR FAX YOUR QUERY TO: 44-1274-730960 Issue 2.2 Page 11