libroboint
lib/roboint.h
Go to the documentation of this file.
00001 
00002 /*******************************************************************************  
00003  *  (c) by Knobloch GmbH
00004  *         Weedgasse 14
00005  *         D-55234 Erbes-Büdesheim                                    
00006  *
00007  *  Header:         FtLib.h          Headerfile for fischertechnik USB-Library
00008  *
00009  *  Version:        0.60
00010  *  Date:           10. May 2006
00011  *
00012  *  Revision:
00013  *  0.60:   10. May 2006
00014  *          New Name: GetAnzFtUsbDevice()    --> GetNumFtUsbDevice()
00015  *                    ClearFtMessagePuffer() --> ClearFtMessageBuffer()
00016  ********************************************************************************/
00017 
00018 
00019 #ifndef _FT_LIBRARY_H_
00020 #define _FT_LIBRARY_H_
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00027 #define DWORD long int
00028 #define BYTE unsigned char
00029 #define USHORT unsigned short int
00030 #define UINT unsigned int
00031 #define UCHAR unsigned char
00032 
00033 #define HANDLE int
00034 #define HWND int
00035 #define __stdcall 
00036 #define LPCSTR char *
00037 #define LPVOID void *
00038 
00040 
00041 typedef struct _FT_TRANSFER_AREA
00042 {
00045     unsigned char E_Main;
00046 
00049     unsigned char E_Sub1;
00052     unsigned char E_Sub2;
00055     unsigned char E_Sub3;
00056 
00059     unsigned char rsvd1[8];
00060 
00063     unsigned char Distance;
00064 
00066     unsigned char rsvd2;
00067 
00091     unsigned char IRKeys;
00092 
00094     unsigned char res_1;
00095 
00100     unsigned short AX;
00105     unsigned short AY;
00110     unsigned short A1;
00115     unsigned short A2;
00120     unsigned short AZ;
00125     unsigned short AV;
00130     unsigned short D1;
00135     unsigned short D2;
00136 
00140     unsigned short AXS1;
00144     unsigned short AXS2;
00148     unsigned short AXS3;
00149 
00153     unsigned short DS1;
00157     unsigned short DS2;
00158 
00161     unsigned short ZE;
00162 
00165     unsigned char rsvd3[4];
00166 
00170     unsigned short Timer1ms;
00174     unsigned short Timer10ms;
00178     unsigned short Timer100ms;
00182     unsigned short Timer1s;
00186     unsigned short Timer10s;
00190     unsigned short Timer1min;
00191 
00194     unsigned short res_bF;
00197     unsigned char res_bT;
00198 
00201     unsigned char rsvd4[1];
00202 
00206     unsigned char M_Main;
00210     unsigned char M_Sub1;
00214     unsigned char M_Sub2;
00218     unsigned char M_Sub3;
00219 
00222     unsigned char rsvd5[4];
00223 
00228     unsigned char MES_Main;
00232     unsigned char MES_Sub1;
00236     unsigned char MES_Sub2;
00240     unsigned char MES_Sub3;
00241 
00244     unsigned char rsvd6[1];
00245 
00248     unsigned char reserved_l1;
00251     unsigned char reserved_l2;
00254     unsigned char reserved_l3;
00255 
00266     unsigned char MPWM_Main[8];
00267 
00278     unsigned char MPWM_Sub1[8];
00279 
00290     unsigned char MPWM_Sub2[8];
00291 
00302     unsigned char MPWM_Sub3[8];
00303 
00306     unsigned char rsvd7[32];
00307 
00308 
00312     unsigned short A1S1;
00316     unsigned short A1S2;
00320     unsigned short A1S3;
00321 
00325     unsigned short AVS1;
00329     unsigned short AVS2;
00333     unsigned short AVS3;
00334 
00337     unsigned char rsvd8[4];
00338 
00341     unsigned short AX_R;
00342 
00344     unsigned short AY_R;
00345 
00347     unsigned short AXS1_R;
00348 
00350     unsigned short AXS2_R;
00351 
00353     unsigned short AXS3_R;
00354 
00357     unsigned char rsvd10[54];
00358 
00361     unsigned char Mode;
00362 
00365     unsigned char MPWM_Update;
00366 
00371     unsigned char TransferAktiv;
00372 
00375     unsigned char rsvd11[3];
00376 
00381     unsigned char BusModules;
00382 
00385     unsigned char SlotModule1;
00386 
00389     unsigned char SlotModule2;
00390 
00393     unsigned char rsvd12[7];
00394 
00395 
00401     unsigned char ChangeEg;
00402 
00408     unsigned char ChangeAn;
00409 
00414     unsigned char ChangeIr;
00415 
00416 
00419     unsigned char rsvd13[13];
00420 
00421 
00432     unsigned short E16_Main[8];
00443     unsigned short E16_Sub1[8];
00454     unsigned short E16_Sub2[8];
00465     unsigned short E16_Sub3[8];
00470     unsigned short Distance16[2];
00471 
00474     unsigned char rsvd14[12];
00475  
00489     unsigned short IRKeys16[11];
00492     unsigned char rsvd15[10];
00493 
00507     unsigned short IRKeys16Code1[11];
00508 
00512     unsigned char rsvd16[10];
00513  
00527     unsigned short IRKeys16Code2[11];
00528 
00532     unsigned char rsvd17[10];
00533     
00537     unsigned short RfStatus;
00538 
00542     unsigned short RfPower;
00543 
00547     unsigned short RfError;
00548 
00552     unsigned short MsgNumInBuffer;
00553 
00557     unsigned short RfModulNr;
00558 
00561     unsigned char rsvd19[2];
00562 
00565     DWORD dwTC;
00566 
00569     unsigned char rsvd20[64];
00570 
00571 } FT_TRANSFER_AREA;
00576 #include <usb.h>
00577 #include <pthread.h>
00578 #include <semaphore.h>
00579 #include <termios.h>
00580 
00582 typedef struct ft_handle_devices {
00584         FT_TRANSFER_AREA transfer_area;
00586         struct usb_device *dev;
00588         usb_dev_handle *device;
00590         long int sdev;
00592         long int type;
00594         pthread_t t;
00596         sem_t lock;
00598         struct termios saveioset;
00600         struct termios newioset;
00602         int analogcycle;
00604         unsigned int query_time;
00606         unsigned char interface_connected;
00607 } *FT_HANDLE;
00614 FT_HANDLE OpenFtCommDevice(char *sDevice, long int dwTyp, long int dwZyklus);
00615 int GetFtStatus(FT_HANDLE hFt, int *num);
00616 long int GetFtDeviceTypeString(FT_HANDLE hft, char *dest, int len);
00617 char *GetLibVersionStrg();
00618 long int SetRFMode(FT_HANDLE hFt, long int frequency, long int callSign);
00619 long int GetRFMode(FT_HANDLE hFt, long int *frequency, long int *callSign);
00620 long int SetRealSerial(FT_HANDLE hFt, unsigned char bOn);
00621 char IsFtInterfaceConnected(FT_HANDLE hFt);
00622 
00623                                                 // Numbers from GetFtDeviceTyp()
00624 #define     NO_FT_DEVICE                0       // No ft Device connected
00625 #define     FT_AUTO_TYPE                1       // Search for Device
00626 #define     FT_INTELLIGENT_IF           10      // FT-Intelligent Interface connect (serial)
00627 #define     FT_INTELLIGENT_IF_SLAVE     20      // FT-Intelligent Interface with Extension connect (serial)
00628 #define     FT_ROBO_IF_IIM              50      // FT-Robo Interface with Intelligent-Interface-Modus connect (serial)
00629 #define     FT_ROBO_IF_USB              60      // FT-Robo Interface connect with USB-Port
00630 #define     FT_ROBO_IF_COM              70      // FT-Robo Interface connect with COM- (serial-) Port
00631 #define     FT_ROBO_IF_OVER_RF          80      // FT-Robo Interface connect over RF-Data-Link
00632 #define     FT_ROBO_IO_EXTENSION        90      // FT-Robo I/O-Extension
00633 #define     FT_ROBO_RF_DATA_LINK        110     // FT-Robo RF Data Link
00634 #define     FT_MAX_TYP_NUMBER           999     // Max Typ Number
00635 
00636 
00637 #define     FT_ANALOG_CYCLE             5       // Standard: 5*Read Digital Inputs, then EX, EY
00638                                                 // Only for old Intelligent Interface { for OpenFtCommDevice() }
00639 
00640 
00641 #define     PORT_NONE                   0
00642 #define     PORT_COM                    1       // Standard: COM1
00643 #define     PORT_COM1                   1
00644 #define     PORT_COM2                   2
00645 #define     PORT_COM3                   3
00646 #define     PORT_COM4                   4
00647 #define     PORT_USB                    50
00648 
00649                                                 // Moduletypes for Robo Interface
00650 #define     MODULE_NOT_INSTALLED        0       // Not installed
00651 #define     MODULE_RF1                  1       // RF Data Link Module is installed
00652 
00653 
00654 #define     LEN_STRG1                   30      // Length of SN / FW Strings
00655 #define     LEN_STRG2                   255     // Length of Name-Strigs
00656 #define     ANZ_DISTANCE_TYPES          2       // Number of supported Distance-Modes
00657 #define     LEN_DIST_TYPE_NAMES         30      // Lenght of Mode-Names
00658 #define     LEN_DIST_VAR_NAMES          20      // Lenght of Variable-Names
00659 #define     NAME_LEN                    85      // Lenght of Prog-Names
00660 
00661 
00662 #define     MEM_FLASH1                  0       // Use Memory FLASH-1 Block
00663 #define     MEM_FLASH2                  1       // Use Memory FLASH-2 Block
00664 #define     MEM_RAM                     2       // Use Memory RAM Block
00665 #define     MEM_NO_ACCESS               -1      // No Memory Select (for SetFtProgramActiv() )
00666 #define     DOWNLOAD_PROG_NAMELEN       80      // Max. 80 characters/bytes for the programname
00667 
00668                                                 // Values for "dwParameter" from DownloadFtProgram() 
00669 #define     PROG_TYP_NORMAL             1       // Program can bei Start with Software and Switch
00670 #define     PROG_TYP_AUTOSTART          2       // Program is startable at Power-On
00671 
00672 
00673                                                 // COM-Modes for SetFtDeviceCommMode()
00674 #define     IF_COM_ONLINE               1       // Online Mode
00675 #define     IF_COM_MESSAGE              3       // Messagemode
00676 #define     IF_COM_DATA                 4       // Datatransfer
00677 #define     IF_COM_PARAMETER            5       // Get Mode
00678 
00679 
00680                                                 // Message-System
00681 #define     MSG_HWID_SELF               0       // Message for himself
00682 #define     MSG_HWID_SER                1       // Message for the Robo-Interface serial port
00683 #define     MSG_HWID_RF                 2       // Message for other Interfaces (over RF)
00684 #define     MSG_HWID_RF_SELF            3       // Message for other Interfaces (over RF) and for himself (back over RF)
00685 
00686 #define     MSG_BUFF_SER                1       // SER-Messagebuffer (for ClearRfMessage() )
00687 #define     MSG_BUFF_RF                 2       // RF-Messagebuffer (for ClearRfMessage() )
00688 #define     MSG_BUFF_SELF               4       // SELF-Messagebuffer (for ClearRfMessage() )
00689 
00690 #define     MSG_SEND_NORMAL             0       // Message send "normal"
00691 #define     MSG_SEND_OTHER_THAN_LAST    1       // Message send "if not the same as the last message"
00692 #define     MSG_SEND_IF_NOT_PRESENT     2       // Message send "if not present in the send buffer"
00693 
00694 
00695 
00696                                                 // Interface Distancesensor-Inputs Type
00697 #define     IF_DS_INPUT_VOLTAGE         0       // Voltage
00698 #define     IF_DS_INPUT_DISTANCE        1       // Distance
00699 #define     IF_DS_INPUT_TOL_STD         20      // Toleranz (Standard)
00700 #define     IF_DS_INPUT_REP_STD         3       // Repeat (Standard)
00701 
00702 
00703 
00704     #pragma pack( push, 1 )
00705     typedef union
00706     {
00707         BYTE    aucMsg[6];
00708 
00709         struct 
00710         {
00711             BYTE    ucHwId;       
00712             BYTE    ucSubId;       
00713             BYTE    ucB0;
00714             BYTE    ucB1;
00715             BYTE    ucB2;
00716             BYTE    ucB3;
00717         } B;
00718 
00719         struct 
00720         {
00721             BYTE    ucHwId;       
00722             BYTE    ucSubId;       
00723             USHORT  uiMsgId;        
00724             USHORT  uiMsg;
00725         } W;
00726 
00727         struct 
00728         {
00729             BYTE    ucHwId;       
00730             BYTE    ucSubId;       
00731             DWORD   dw;
00732         } L;
00733     } SMESSAGE;
00734     #pragma pack( pop )
00735 
00736 
00737     //typedef void * FT_HANDLE;
00738     typedef void (*DATA_UPDATE_CALLBACK)(void* Context);
00739     typedef void (*MSG_UPDATE_CALLBACK)(SMESSAGE *);
00740 
00741 
00742 
00743     // Important: 
00744     // Initialise all unused Variables in this Structure with "NULL"
00745     //
00746     // Every Time the driver reads new information from the Device
00747     // the Library checks this structure 
00748     typedef struct _NOTIFICATION_EVENTS 
00749     {
00750         // Callback-Procedure
00751         DATA_UPDATE_CALLBACK NotificationCallback;  // Pointer to the Callback-Procedure
00752         void* Context;                              // Pointer to the Context for the Callback-Procedure
00753 
00754         // for SetEvent()
00755         HANDLE hEvent;
00756 
00757         // for posting a Message (PostMessage() with wParam & lParam = 0)
00758         HWND    WindowsHandle;                      // handle to the destination window
00759         DWORD   Message;                            // message ID
00760 
00761 
00762         // Callback-Procedure for Messaging
00763         MSG_UPDATE_CALLBACK     CallbackMessage;    // Pointer to the Callback-Procedure for Receiving Messages
00764 
00765     } 
00766     NOTIFICATION_EVENTS;
00767 
00768 
00769 
00770 
00771     typedef struct _FT_SERIAL_NUMBER
00772     {
00773         DWORD   dwSn;                   // actually Serial Number at Power On
00774         DWORD   dwSn1;                  // Serial Number-1
00775         DWORD   dwSn2;                  // Serial Number-2
00776         DWORD   dwSnAktiv;              // Serial Number Activ (1/2) for next Power On
00777     } FT_SERIAL_NUMBER;
00778 
00779 
00780 
00781     typedef struct _FT_DISTANCE         // Robo Interface Distance Sensor
00782     {
00783         unsigned char   aDistModeNames[LEN_DIST_TYPE_NAMES];    // RO   Names for the Modes  
00784 
00785         DWORD           dwEnableDisVal1;                        // RO   1=Ask for Distance Value 1
00786         unsigned char   aDisVal1Name[LEN_DIST_VAR_NAMES];       // RO   Value 1 Name
00787         DWORD           dwDisVal1;                              // RW   Value 1
00788 
00789         DWORD           dwEnableDisVal2;                        // RO   1=Ask for Distance Value 2
00790         unsigned char   aDisVal2Name[LEN_DIST_VAR_NAMES];       // RO   Value 2 Name
00791         DWORD           dwDisVal2;                              // RW   Value 2
00792 
00793         DWORD           dwEnableDisVal3;                        // RO   1=Ask for Distance Value 3
00794         unsigned char   aDisVal3Name[LEN_DIST_VAR_NAMES];       // RO   Value 3 Name
00795         DWORD           dwDisVal3;                              // RW   Value 3
00796 
00797         DWORD           dwEnableDisVal4;                        // RO   1=Ask for Distance Value 4
00798         unsigned char   aDisVal4Name[LEN_DIST_VAR_NAMES];       // RO   Value 4 Name
00799         DWORD           dwDisVal4;                              // RW   Value 4
00800 
00801         DWORD           dwEnableDisVal5;                        // RO   1=Ask for Distance Value 5
00802         unsigned char   aDisVal5Name[LEN_DIST_VAR_NAMES];       // RO   Value 5 Name
00803         DWORD           dwDisVal5;                              // RW   Value 5
00804 
00805         DWORD           dwEnableDisVal6;                        // RO   1=Ask for Distance Value 6
00806         unsigned char   aDisVal6Name[LEN_DIST_VAR_NAMES];       // RO   Value 6 Name
00807         DWORD           dwDisVal6;                              // RW   Value 6
00808 
00809         DWORD           dwEnableDisVal7;                        // RO   1=Ask for Distance Value 7
00810         unsigned char   aDisVal7Name[LEN_DIST_VAR_NAMES];       // RO   Value 7 Name
00811         DWORD           dwDisVal7;                              // RW   Value 7
00812 
00813         DWORD           dwEnableDisVal8;                        // RO   1=Ask for Distance Value 8
00814         unsigned char   aDisVal8Name[LEN_DIST_VAR_NAMES];       // RO   Value 8 Name
00815         DWORD           dwDisVal8;                              // RW   Value 8
00816     } FT_DISTANCE;
00817 
00818 
00819 
00820     typedef union _FT_SETTING
00821     {
00822         struct                              // RO = Read Only, RW = Read / Write
00823         {
00824             DWORD   dwIfTyp;                // RO   Type of connected Device
00825                                             //      possible Values:       
00826                                             //          NO_FT_DEVICE            no answer from the Device - is it gone ?
00827                                             //          FT_INTELLIGENT_IF       FT-Intelligent Interface connect (serial)
00828                                             //          FT_ROBO_IF_IIM          FT-Robo Interface with Intelligent-Interface-Modus connect (serial)
00829                                             //          FT_ROBO_IF_USB          FT-Robo Interface connect with USB-Port
00830                                             //          FT_ROBO_IF_COM          FT-Robo Interface connect with COM- (serial-) Port
00831                                             //          FT_ROBO_IO_EXTENSION    FT-Robo I/O-Extension
00832                                             //          FT_ROBO_RF_DATA_LINK    FT-Robo RF Data Link
00833                                             //             FT_ROBO_IF_OVER_RF   FT-Robo Interface connect over RF-Data-Link
00834 
00835                                             // Serial numbers section
00836             DWORD   dwSn;                   // RO   actually Serial Number at Power On
00837             DWORD   dwSn1;                  // RW   Serial Number-1             (only FT-Robo Products)
00838             DWORD   dwSn2;                  // RO   Serial Number-2             (only FT-Robo Products)
00839             DWORD   dwSnAktiv;              // RW   Set Serial Number Activ (1/2) for next Power On
00840 
00841             DWORD   dwFw;                       // RO   Is Firmware Version for this product (only FT-Robo Products)
00842 
00843             unsigned char aSnStrg[LEN_STRG1];   // RO   String with Serialnumber    (only FT-Robo Products)
00844             unsigned char aSn1Strg[LEN_STRG1];  // RO   String with Serialnumber1   (only FT-Robo Products)
00845             unsigned char aSn2Strg[LEN_STRG1];  // RO   String with Serialnumber2   (only FT-Robo Products)
00846             unsigned char aFwStrg[LEN_STRG1];   // RO   String with Firmware        (only FT-Robo Products)
00847             unsigned char aSNaStrg[LEN_STRG2];  // RO   String with Short-Name      (only FT-Robo Products)
00848             unsigned char aLNaStrg[LEN_STRG2];  // RO   String with Long-Name       (only FT-Robo Products)
00849 
00850             DWORD   dwFwRoboIfVerAtLibIsMade;   // RO   Robo-If Firmware Version as this Lib is made
00851             DWORD   dwFwIoExtVerAtLibIsMade;    // RO   IO-Extension Firmware Version as this Lib is made
00852             DWORD   dwFwRfDataVerAtLibIsMade;   // RO   RF-DataLink Firmware Version as this Lib is made
00853             unsigned char aFwRoboIfVerAtLibIsMadeStrg[LEN_STRG1];   // RO   String with Robo-If Firmware Version as this Lib is made
00854             unsigned char aFwIoExtVerAtLibIsMadeStrg[LEN_STRG1];    // RO   String with IO-Extension Firmware Version as this Lib is made
00855             unsigned char aFwRfDataVerAtLibIsMadeStrg[LEN_STRG1];   // RO   String with Rf-Data-Link Firmware Version as this Lib is made
00856                                             
00857             DWORD   dwReserved;                 // Reserved for later use 
00858 
00859 
00860                                                 // Output Section
00861             DWORD   dwOutputAutoOff[4];         // RW   M1=[0]...M4=[3] Energy saver: 
00862                                                 //      "1" = "Power Off" motor driver when both outputs logical "0" (reduces Energy)
00863                                                 //      "0" = do not automatically disable the motor driver
00864             DWORD   dwOutputPwmType;            // RW   PWM-Type (Today only "0" supported)
00865 
00866 
00867                                                 // Robo Interface Distance Sensor
00868             DWORD   dwAnzDistanceModes;         // RO   Number of supported Distance Modes (Array Entries)
00869             DWORD   dwDistanceMode;             // RW   Type and Mode for Distance-Sensor (Index-Number in the range 0...ANZ_DISTANCE_TYPES)
00870             FT_DISTANCE     sDistance[ANZ_DISTANCE_TYPES];  // RW   Values for setting
00871                         
00872 
00873                                                         // Robo Interface Memory Section
00874             DWORD           dwProg[3];                  // RO   1=Program is saved in the Memory block; [0]=Flash-1 [1]=Flash-2 [2]=Ram
00875             unsigned char   aProgNames[3][NAME_LEN];    // RO   [0]=Flash-1 Prog Name; [1]=Flash-2 Prog Name; [2]=Ram Prog-Name
00876             DWORD           dwF1AutoStart;              // RO   1=Autostart Flash-1 programm, 0=no autostart
00877 
00878 
00879                                                 // Robo Interface Module Section
00880             DWORD           dwMod1Typ;          // RO   Type of left Module (only Robo-If)
00881             DWORD           dwMod2Typ;          // RO   Type of right Module (only Robo-If)
00882                                                 //      possible Values:       
00883                                                 //          MODULE_NOT_INSTALLED    No Module is installed
00884                                                 //          MODULE_RF1              RF Data Link is installed
00885 
00886             unsigned char   aMod1Strg[LEN_STRG1];   // RO   String with Module-1 Name   (only FT-Robo Products)
00887             unsigned char   aMod2Strg[LEN_STRG1];   // RO   String with Module-2 Name   (only FT-Robo Products)
00888 
00889 
00890                                                 // Robo Interface & RF Data Link Section
00891             DWORD   dwRfOn;                     // RW   0=disable RF  1=Enable RF
00892             DWORD   dwRfChannel;                // RW   Channel-Number (2..80) for RF-Communication 
00893             DWORD   dwRfSubChannel;             // RW   Sub-Channel of Device for the specified Channel (1..3)
00894             DWORD   dwRfMessage;                // RW   0=Disable Message-Router Function 1=Enable Message-Rounter Function
00895             DWORD   dwRfWrite;                  // W    0=write values permanent (FLASH); 1=write values temporary (RAM) 
00896             DWORD   dwRfFw;                     // RO   Firmwareversion of RF-Module
00897             unsigned char aRfFwStrg[LEN_STRG1]; // RO   String with Firmware of RF-Module 
00898 
00899                                                 // Information for the PC-RF Module
00900             DWORD   dwRfStopTransferOnError;    // RW   1=Stop the RF-Transfer Thread on bad RF Connection
00901 
00902                                                 // Information for the Interface RF-Module
00903             DWORD   dwRfMotorOffOnError;        // RW   1=Motor Off on bad RF Connection
00904         } sIf;
00905     } FT_SETTING;
00906 
00907 
00908                                                 // ****** Function Prototypes  ******
00909     DWORD __stdcall     GetLibVersion(void);
00910     DWORD __stdcall     InitFtLib(void);
00911     DWORD __stdcall     CloseFtLib(void);
00912     DWORD __stdcall     IsFtLibInit(void);
00913     DWORD __stdcall     InitFtUsbDeviceList(void);
00914     UINT  __stdcall     GetNumFtUsbDevice(void);
00915     FT_HANDLE __stdcall GetFtUsbDeviceHandle(UCHAR ucDevNr);
00916     FT_HANDLE __stdcall GetFtUsbDeviceHandleSerialNr(DWORD dwSN, DWORD dwTyp);
00917     DWORD __stdcall     OpenFtUsbDevice(FT_HANDLE hFt);
00918     //FT_HANDLE __stdcall OpenFtCommDevice(DWORD dwPort, DWORD dwTyp, DWORD dwZyklus, DWORD *pdwError);
00919     DWORD __stdcall     SetFtDeviceCommMode (FT_HANDLE hFt, DWORD dwMode, DWORD dwParameter, USHORT *puiValue);
00920     DWORD __stdcall     CloseAllFtDevices(void);
00921     DWORD __stdcall     CloseFtDevice(FT_HANDLE hFt);
00922     DWORD __stdcall     GetFtDeviceTyp(FT_HANDLE hFt);
00923     LPCSTR __stdcall    GetFtSerialNrStrg(FT_HANDLE hFt);
00924     DWORD  __stdcall    GetFtSerialNr(FT_HANDLE hFt);
00925     LPCSTR __stdcall    GetFtFirmwareStrg(FT_HANDLE hFt);
00926     DWORD __stdcall     GetFtFirmware(FT_HANDLE hFt);
00927     LPCSTR __stdcall    GetFtManufacturerStrg(FT_HANDLE hFt);
00928     LPCSTR __stdcall    GetFtShortNameStrg(FT_HANDLE hFt);
00929     LPCSTR __stdcall    GetFtLongNameStrg(FT_HANDLE hFt);
00930     LPCSTR __stdcall    GetFtLibErrorString(DWORD dwErrorCode, DWORD dwTyp);
00931     DWORD __stdcall     GetFtDeviceSetting(FT_HANDLE hFt, FT_SETTING *pSet);
00932     DWORD __stdcall     SetFtDeviceSetting(FT_HANDLE hFt, FT_SETTING *pSet);
00933     DWORD __stdcall     SetFtDistanceSensorMode(FT_HANDLE hFt, DWORD dwMode, DWORD dwTol1, DWORD dwTol2, 
00934                                                 DWORD dwSchwell1, DWORD dwSchwell2, DWORD dwRepeat1, DWORD dwRepeat2);
00935 
00936 
00937     DWORD __stdcall     StartFtTransferArea(FT_HANDLE hFt, NOTIFICATION_EVENTS* sNEvent );
00938     DWORD __stdcall     StartFtTransferAreaWithCommunication(FT_HANDLE hFt, NOTIFICATION_EVENTS* sNEvent );
00939     DWORD __stdcall     StopFtTransferArea(FT_HANDLE hFt);
00940     FT_TRANSFER_AREA* __stdcall GetFtTransferAreaAddress(FT_HANDLE hFt);
00941     DWORD __stdcall     IsFtTransferActiv(FT_HANDLE hFt);
00942     DWORD __stdcall     ResetFtTransfer (FT_HANDLE hFt);
00943 
00944     
00945     DWORD __stdcall     GetFtMemoryLayout(FT_HANDLE hFt, BYTE * pbArray, DWORD dwSize);
00946     DWORD __stdcall     DownloadFtProgram(FT_HANDLE hFt, DWORD dwMemBlock, BYTE* pbArray, DWORD dwSize, DWORD dwParameter, BYTE *pbName, DWORD dwNameLen);
00947     DWORD __stdcall     StartFtProgram(FT_HANDLE hFt, DWORD dwMemBlock);
00948     DWORD __stdcall     StopFtProgram(FT_HANDLE hFt);
00949     DWORD __stdcall     DeleteFtProgram(FT_HANDLE hFt, DWORD dwMemBlock);
00950     DWORD __stdcall     SetFtProgramActiv(FT_HANDLE hFt, DWORD dwMemBlock);
00951     DWORD __stdcall     GetFtProgramName(FT_HANDLE hFt, DWORD dwMemBlock, DWORD dwSize, LPVOID pName);
00952     DWORD __stdcall     WriteFtMemoryData(FT_HANDLE hFt, DWORD dwData, DWORD dwAddress);
00953     DWORD __stdcall     GetFtMemoryData(FT_HANDLE hFt, BYTE * pbArray, DWORD dwSize, DWORD dwAddress);
00954 
00955 
00956     DWORD __stdcall     SendFtMessage(FT_HANDLE hFt, BYTE bHwId, BYTE bSubId, DWORD dwMessage, DWORD dwWaitTime, DWORD dwOption); 
00957     DWORD __stdcall     ClearFtMessageBuffer(FT_HANDLE hFt);
00958 
00959 
00960 
00961 
00962 //
00963 // FTLIB Error Codes
00964 //
00965     #define FTLIB_ERR_SUCCESS                              0x00000000L  
00966     #define FTLIB_ERR_CRC                                  0xE0000001L  
00967     #define FTLIB_ERR_BTSTUFF                              0xE0000002L  
00968     #define FTLIB_ERR_DATA_TOGGLE_MISMATCH                 0xE0000003L  
00969     #define FTLIB_ERR_STALL_PID                            0xE0000004L  
00970     #define FTLIB_ERR_DEV_NOT_RESPONDING                   0xE0000005L  
00971     #define FTLIB_ERR_PID_CHECK_FAILURE                    0xE0000006L  
00972     #define FTLIB_ERR_UNEXPECTED_PID                       0xE0000007L  
00973     #define FTLIB_ERR_DATA_OVERRUN                         0xE0000008L  
00974     #define FTLIB_ERR_DATA_UNDERRUN                        0xE0000009L  
00975     #define FTLIB_ERR_RESERVED1                            0xE000000AL  
00976     #define FTLIB_ERR_RESERVED2                            0xE000000BL  
00977     #define FTLIB_ERR_BUFFER_OVERRUN                       0xE000000CL  
00978     #define FTLIB_ERR_BUFFER_UNDERRUN                      0xE000000DL  
00979     #define FTLIB_ERR_NOT_ACCESSED                         0xE000000FL  
00980     #define FTLIB_ERR_FIFO                                 0xE0000010L  
00981     #define FTLIB_ERR_XACT_ERROR                           0xE0000011L  
00982     #define FTLIB_ERR_BABBLE_DETECTED                      0xE0000012L  
00983     #define FTLIB_ERR_DATA_BUFFER_ERROR                    0xE0000013L  
00984                                                     
00985     #define FTLIB_ERR_ENDPOINT_HALTED                      0xE0000030L  
00986     #define FTLIB_ERR_NO_MEMORY                            0xE0000100L  
00987     #define FTLIB_ERR_INVALID_URB_FUNCTION                 0xE0000200L  
00988     #define FTLIB_ERR_INVALID_PARAMETER                    0xE0000300L  
00989     #define FTLIB_ERR_ERROR_BUSY                           0xE0000400L  
00990     #define FTLIB_ERR_INVALID_PIPE_HANDLE                  0xE0000600L  
00991     #define FTLIB_ERR_NO_BANDWIDTH                         0xE0000700L  
00992     #define FTLIB_ERR_INTERNAL_HC_ERROR                    0xE0000800L  
00993     #define FTLIB_ERR_ERROR_SHORT_TRANSFER                 0xE0000900L  
00994     #define FTLIB_ERR_BAD_START_FRAME                      0xE0000A00L  
00995     #define FTLIB_ERR_ISOCH_REQUEST_FAILED                 0xE0000B00L  
00996     #define FTLIB_ERR_FRAME_CONTROL_OWNED                  0xE0000C00L  
00997     #define FTLIB_ERR_FRAME_CONTROL_NOT_OWNED              0xE0000D00L  
00998     #define FTLIB_ERR_NOT_SUPPORTED                        0xE0000E00L  
00999     #define FTLIB_ERR_INVALID_CONFIGURATION_DESCRIPTOR     0xE0000F00L  
01000 
01001     #define FTLIB_ERR_INSUFFICIENT_RESOURCES               0xE8001000L  
01002     #define FTLIB_ERR_SET_CONFIG_FAILED                    0xE0002000L  
01003     #define FTLIB_ERR_USBD_BUFFER_TOO_SMALL                0xE0003000L  
01004     #define FTLIB_ERR_USBD_INTERFACE_NOT_FOUND             0xE0004000L  
01005     #define FTLIB_ERR_INVALID_PIPE_FLAGS                   0xE0005000L  
01006     #define FTLIB_ERR_USBD_TIMEOUT                         0xE0006000L  
01007     #define FTLIB_ERR_DEVICE_GONE                          0xE0007000L  
01008     #define FTLIB_ERR_STATUS_NOT_MAPPED                    0xE0008000L  
01009 
01010     #define FTLIB_ERR_CANCELED                             0xE0010000L  
01011     #define FTLIB_ERR_ISO_NOT_ACCESSED_BY_HW               0xE0020000L  
01012     #define FTLIB_ERR_ISO_TD_ERROR                         0xE0030000L  
01013     #define FTLIB_ERR_ISO_NA_LATE_USBPORT                  0xE0040000L  
01014     #define FTLIB_ERR_ISO_NOT_ACCESSED_LATE                0xE0050000L  
01015                                                     
01016     #define FTLIB_ERR_FAILED                               0xE0001000L  
01017     #define FTLIB_ERR_INVALID_INBUFFER                     0xE0001001L  
01018     #define FTLIB_ERR_INVALID_OUTBUFFER                    0xE0001002L  
01019     #define FTLIB_ERR_OUT_OF_MEMORY                        0xE0001003L  
01020     #define FTLIB_ERR_PENDING_REQUESTS                     0xE0001004L  
01021     #define FTLIB_ERR_ALREADY_CONFIGURED                   0xE0001005L  
01022     #define FTLIB_ERR_NOT_CONFIGURED                       0xE0001006L  
01023     #define FTLIB_ERR_OPEN_PIPES                           0xE0001007L  
01024     #define FTLIB_ERR_ALREADY_BOUND                        0xE0001008L  
01025     #define FTLIB_ERR_NOT_BOUND                            0xE0001009L  
01026     #define FTLIB_ERR_DEVICE_NOT_PRESENT                   0xE000100AL  
01027     #define FTLIB_ERR_CONTROL_NOT_SUPPORTED                0xE000100BL  
01028     #define FTLIB_ERR_TIMEOUT                              0xE000100CL  
01029     #define FTLIB_ERR_INVALID_RECIPIENT                    0xE000100DL  
01030     #define FTLIB_ERR_INVALID_TYPE                         0xE000100EL  
01031     #define FTLIB_ERR_INVALID_IOCTL                        0xE000100FL  
01032     #define FTLIB_ERR_INVALID_DIRECTION                    0xE0001010L  
01033     #define FTLIB_ERR_TOO_MUCH_ISO_PACKETS                 0xE0001011L  
01034     #define FTLIB_ERR_POOL_EMPTY                           0xE0001012L  
01035     #define FTLIB_ERR_PIPE_NOT_FOUND                       0xE0001013L  
01036     #define FTLIB_ERR_INVALID_ISO_PACKET                   0xE0001014L  
01037     #define FTLIB_ERR_OUT_OF_ADDRESS_SPACE                 0xE0001015L  
01038     #define FTLIB_ERR_INTERFACE_NOT_FOUND                  0xE0001016L  
01039     #define FTLIB_ERR_INVALID_DEVICE_STATE                 0xE0001017L  
01040     #define FTLIB_ERR_INVALID_PARAM                        0xE0001018L  
01041     #define FTLIB_ERR_INVALID_POWER_STATE                  0xE000101AL  
01042     #define FTLIB_ERR_POWER_DOWN                           0xE000101BL  
01043     #define FTLIB_ERR_VERSION_MISMATCH                     0xE000101CL  
01044     #define FTLIB_ERR_SET_CONFIGURATION_FAILED             0xE000101DL  
01045 
01046     #define FTLIB_ERR_VID_RESTRICTION                      0xE0001080L  
01047     #define FTLIB_ERR_ISO_RESTRICTION                      0xE0001081L  
01048     #define FTLIB_ERR_BULK_RESTRICTION                     0xE0001082L  
01049     #define FTLIB_ERR_EP0_RESTRICTION                      0xE0001083L  
01050     #define FTLIB_ERR_PIPE_RESTRICTION                     0xE0001084L  
01051     #define FTLIB_ERR_PIPE_SIZE_RESTRICTION                0xE0001085L  
01052     #define FTLIB_ERR_CONTROL_RESTRICTION                  0xE0001086L  
01053     #define FTLIB_ERR_INTERRUPT_RESTRICTION                0xE0001087L  
01054                                                     
01055     #define FTLIB_ERR_DEVICE_NOT_FOUND                     0xE0001100L
01056     #define FTLIB_ERR_SOME_DEVICES_ARE_OPEN                0xE0001101L
01057     #define FTLIB_ERR_DEVICE_IS_OPEN                       0xE0001102L
01058     #define FTLIB_ERR_DEVICE_NOT_OPEN                      0xE0001103L
01059     #define FTLIB_ERR_NO_SUCH_DEVICE_INSTANCE              0xE0001104L
01060     #define FTLIB_ERR_INVALID_FUNCTION_PARAM               0xE0001105L
01061     #define FTLIB_ERR_DESTROY_DEVICE_LIST                  0xE0001106L
01062     #define FTLIB_ERR_USB_NOT_SUPPORTET_FROM_OS            0xE0001107L
01063     #define FTLIB_ERR_CLOSE_DEVICE                         0xE0001108L
01064 
01065     #define FTLIB_ERR_DEVICE_NOT_SUPPORTET                 0xE0001281L  
01066     #define FTLIB_ERR_WRONG_DEVICE_NUMBER                  0xE0001282L  
01067     #define FTLIB_ERR_UNKNOWN_DEVICE_HANDLE                0xE0001283L  
01068     #define FTLIB_ERR_WRONG_USB_HANDLE                     0xE0001284L  
01069     #define FTLIB_ERR_WRONG_PATHNAME                       0xE0001285L  
01070     #define FTLIB_ERR_LIB_IS_INITIALIZED                   0xE0001286L  
01071     #define FTLIB_ERR_LIB_IS_NOT_INITIALIZED               0xE0001287L  
01072     #define FTLIB_ERR_SERIAL_NR_UNKNOWN                    0xE0001288L  
01073     #define FTLIB_ERR_POWER_TOO_LOW                        0xE0001289L  
01074     #define FTLIB_ERR_WRONG_RETURN_VALUE                   0xE000128AL  
01075     #define FTLIB_ERR_USB_SUPPORT_IS_NOT_INITIALIZED       0xE000128BL  
01076 
01077     #define FTLIB_ERR_USB_MUT0                             0xE0001290L  
01078     #define FTLIB_ERR_USB_MUT1                             0xE0001291L  
01079     #define FTLIB_ERR_USB_MUT2                             0xE0001292L  
01080     #define FTLIB_ERR_USB_MUT3                             0xE0001293L 
01081     #define FTLIB_ERR_USB_DEVICE_IS_IN_USE                 0xE0001295L
01082 
01083     #define FTLIB_ERR_THREAD_NOT_STARTABLE                 0xE00012A0L  
01084     #define FTLIB_ERR_THREAD_NOT_STARTABLE_X1              0xE00012A1L  
01085     #define FTLIB_ERR_THREAD_NOT_STARTABLE_X2              0xE00012A2L  
01086     #define FTLIB_ERR_THREAD_NOT_STARTABLE_X3              0xE00012A3L  
01087     #define FTLIB_ERR_OTHER_THREAD_FOR_SAME_DEVICE_IS_RUN  0xE00012A4L  
01088     #define FTLIB_ERR_THREAD_IS_RUNNING                    0xE00012A5L  
01089     #define FTLIB_ERR_THREAD_NOT_RUNNING                   0xE00012A6L  
01090     #define FTLIB_ERR_THREAD_X1                            0xE00012A7L  
01091     #define FTLIB_ERR_THREAD_X2                            0xE00012A8L  
01092     #define FTLIB_ERR_THREAD_WRITE_USB                     0xE00012A9L  
01093     #define FTLIB_ERR_THREAD_READ_USB                      0xE00012AAL  
01094     #define FTLIB_ERR_THREAD_IS_NORMAL_STOPPED             0xE00012ABL  
01095     #define FTLIB_ERR_THREAD_WAIT_TIMEOUT                  0xE00012ACL  
01096     #define FTLIB_ERR_THREAD_WRITE_COM                     0xE00012ADL  
01097     #define FTLIB_ERR_THREAD_READ_COM                      0xE00012AEL   
01098 
01099     #define FTLIB_ERR_DOWNLOAD                             0xE00012C0L  
01100     #define FTLIB_ERR_DOWNLOAD_WRONG_PARAMETER             0xE00012C1L  
01101     #define FTLIB_ERR_DOWNLOAD_WRONG_MEM_BLOCK             0xE00012C2L  
01102     #define FTLIB_ERR_DOWNLOAD_DATA_SIZE_IS_NULL           0xE00012C3L  
01103     #define FTLIB_ERR_DOWNLOAD_DATA_SIZE_TOO_BIG           0xE00012C4L  
01104     #define FTLIB_ERR_DOWNLOAD_DATA_SIZE                   0xE00012C5L  
01105     #define FTLIB_ERR_DOWNLOAD_ERASE                       0xE00012C6L  
01106     #define FTLIB_ERR_DOWNLOAD_F5                          0xE00012C7L  
01107     #define FTLIB_ERR_DOWNLOAD_PROG_SNF1                   0xE00012C8L  
01108     #define FTLIB_ERR_DOWNLOAD_PROG_SNF2                   0xE00012C9L  
01109     #define FTLIB_ERR_DOWNLOAD_BLOCK                       0xE00012CAL  
01110     #define FTLIB_ERR_DOWNLOAD_BLOCK_NR                    0xE00012CBL  
01111     #define FTLIB_ERR_DOWNLOAD_CRC                         0xE00012CDL  
01112 
01113     #define FTLIB_ERR_IF_NO_PROGRAM                        0xE00012E0L  
01114     #define FTLIB_ERR_IF_PROGRAM_IS_RUNNING                0xE00012E1L  
01115     #define FTLIB_ERR_IF_NO_PROGRAM_IS_RUNNING             0xE00012E2L  
01116     #define FTLIB_ERR_IF_WRONG_PROG_NUMBER                 0xE00012E3L  
01117     #define FTLIB_ERR_IF_BUFFER_TOO_SMALL                  0xE00012E4L  
01118     #define FTLIB_ERR_IF_MEM_ADDRESS                       0xE00012E5L  
01119     #define FTLIB_ERR_IF_MEM_VERIFY                        0xE00012E6L  
01120     #define FTLIB_ERR_IF_NOT_SUPPORTET_MODUS               0xE00012E7L  
01121     #define FTLIB_ERR_IF_FUNCTION_NOT_SUPPORT              0xE00012E8L
01122     #define FTLIB_ERR_FUNCTION_OVER_RF_NOT_ALLOWED         0xE00012E9L
01123 
01124 
01125     #define FTLIB_INFO_PROGRAM_0_IS_RUNNING                0xE0001600L  
01126     #define FTLIB_INFO_PROGRAM_1_IS_RUNNING                0xE0001601L  
01127     #define FTLIB_INFO_PROGRAM_2_IS_RUNNING                0xE0001602L  
01128     #define FTLIB_INFO_ONLINE_MODUS                        0xE0001620L  
01129 
01130     #define FTLIB_FIRMWARE_UPDATE_FILE_WRONG_0             0xE0001800L  
01131     #define FTLIB_FIRMWARE_UPDATE_CRC                      0xE0001801L  
01132     #define FTLIB_FIRMWARE_UPDATE_FILE_OLD                 0xE0001802L
01133     #define FTLIB_FIRMWARE_UPDATE_FILE_WRONG_1             0xE0001803L
01134 
01135 
01136     #define FTLIB_ERR_PORT_NUMBER                          0xE0001900L  
01137     #define FTLIB_ERR_WRONG_PORT                           0xE0001901L  
01138     #define FTLIB_ERR_PORT_NUMBER_IS_NULL                  0xE0001902L  
01139     #define FTLIB_ERR_TYP                                  0xE0001903L  
01140     #define FTLIB_ERR_PORT_NOT_FOUND                       0xE0001904L  
01141     #define FTLIB_ERR_ACCESS_DENIED                        0xE0001905L  
01142     #define FTLIB_ERR_OPEN_COM                             0xE0001906L  
01143     #define FTLIB_ERR_CLOSE_COM                            0xE0001907L  
01144     #define FTLIB_ERR_INIT_COM                             0xE0001908L  
01145     #define FTLIB_ERR_INIT_COM_TIMEOUT                     0xE0001909L  
01146     #define FTLIB_ERR_WRITE_COM                            0xE000190AL  
01147     #define FTLIB_ERR_READ_COM                             0xE000190BL  
01148     #define FTLIB_ERR_READ_COM_NUMBER                      0xE000190CL  
01149     #define FTLIB_ERR_READ_COM_NOTHING                     0xE000190DL  
01150 
01151     #define FTLIB_ERR_RF_NOT_INSTALLED                     0xE0001A00L
01152     #define FTLIB_ERR_RF_WRONG_CHANNEL                     0xE0001A01L
01153     #define FTLIB_ERR_RF_WRONG_SUB_CHANNEL                 0xE0001A02L
01154     #define FTLIB_ERR_RF_NO_CONNECTION                     0xE0001A03L
01155     #define FTLIB_ERR_RF_NO_CONNECTION_A                   0xE0001A04L
01156     #define FTLIB_ERR_RF_NO_CONNECTION_B                   0xE0001A05L
01157     #define FTLIB_ERR_RF_NO_CONNECTION_C                   0xE0001A06L
01158     #define FTLIB_ERR_RF_TIMEOUT_1                         0xE0001A08L
01159     #define FTLIB_ERR_RF_TIMEOUT_2                         0xE0001A09L
01160     #define FTLIB_ERR_RF_FW_OLD1                           0xE0001A0AL
01161     #define FTLIB_ERR_RF_INTERNAL_1                        0xE0001A0DL
01162     #define FTLIB_ERR_RF_NO_INTERFACE_MODULE_FOUND         0xE0001A0EL
01163 
01164     #define FTLIB_ERR_DLL_NOT_LOADABLE                     0xE0001B00L 
01165     #define FTLIB_ERR_DLL_FUNCTION_ERROR                   0xE0001B01L 
01166 
01167     #define FTLIB_ERR_MSG_HWID_WRONG                       0xE0001C00L 
01168     #define FTLIB_ERR_MSG_BUFFER_FULL_TIMEOUT              0xE0001C01L
01169 
01170     #define FTLIB_ERR_UNKNOWN_OPTION_VALUE                 0xE0001D00L
01171 
01172     #define FTLIB_ERR_INTERFACE_00                         0xE0001F00L  
01173     #define FTLIB_ERR_INTERFACE_01                         0xE0001F01L  
01174     #define FTLIB_ERR_INTERFACE_02                         0xE0001F02L  
01175     #define FTLIB_ERR_INTERFACE_03                         0xE0001F03L  
01176     #define FTLIB_ERR_INTERFACE_04                         0xE0001F04L  
01177     #define FTLIB_ERR_INTERFACE_05                         0xE0001F05L  
01178     #define FTLIB_ERR_INTERFACE_06                         0xE0001F06L  
01179     #define FTLIB_ERR_INTERFACE_07                         0xE0001F07L  
01180     #define FTLIB_ERR_INTERFACE_08                         0xE0001F08L  
01181     #define FTLIB_ERR_INTERFACE_09                         0xE0001F09L  
01182     #define FTLIB_ERR_INTERFACE_0A                         0xE0001F0AL  
01183     #define FTLIB_ERR_INTERFACE_0B                         0xE0001F0BL  
01184     #define FTLIB_ERR_INTERFACE_0C                         0xE0001F0CL  
01185     #define FTLIB_ERR_INTERFACE_0D                         0xE0001F0DL  
01186     #define FTLIB_ERR_INTERFACE_0E                         0xE0001F0EL  
01187     #define FTLIB_ERR_INTERFACE_0F                         0xE0001F0FL  
01188 
01189     #define FTLIB_ERR_INTERFACE_D0                         0xE0001FD0L  
01190     #define FTLIB_ERR_INTERFACE_D1                         0xE0001FD1L  
01191     #define FTLIB_ERR_INTERFACE_D2                         0xE0001FD2L  
01192     #define FTLIB_ERR_INTERFACE_D3                         0xE0001FD3L  
01193     #define FTLIB_ERR_INTERFACE_D4                         0xE0001FD4L  
01194     #define FTLIB_ERR_INTERFACE_D5                         0xE0001FD5L  
01195     #define FTLIB_ERR_INTERFACE_D6                         0xE0001FD6L  
01196     #define FTLIB_ERR_INTERFACE_D7                         0xE0001FD7L  
01197     #define FTLIB_ERR_INTERFACE_D8                         0xE0001FD8L  
01198     #define FTLIB_ERR_INTERFACE_D9                         0xE0001FD9L  
01199     #define FTLIB_ERR_INTERFACE_DA                         0xE0001FDAL  
01200     #define FTLIB_ERR_INTERFACE_DB                         0xE0001FDBL  
01201     #define FTLIB_ERR_INTERFACE_DC                         0xE0001FDCL  
01202     #define FTLIB_ERR_INTERFACE_DD                         0xE0001FDDL  
01203     #define FTLIB_ERR_INTERFACE_DE                         0xE0001FDEL  
01204     #define FTLIB_ERR_INTERFACE_DF                         0xE0001FDFL  
01205 
01206     #define FTLIB_ERR_INTERFACE_E0                         0xE0001FE0L  
01207     #define FTLIB_ERR_INTERFACE_E1                         0xE0001FE1L  
01208     #define FTLIB_ERR_INTERFACE_E2                         0xE0001FE2L  
01209     #define FTLIB_ERR_INTERFACE_E3                         0xE0001FE3L  
01210     #define FTLIB_ERR_INTERFACE_E4                         0xE0001FE4L  
01211     #define FTLIB_ERR_INTERFACE_E5                         0xE0001FE5L  
01212     #define FTLIB_ERR_INTERFACE_E6                         0xE0001FE6L  
01213     #define FTLIB_ERR_INTERFACE_E7                         0xE0001FE7L  
01214     #define FTLIB_ERR_INTERFACE_E8                         0xE0001FE8L  
01215     #define FTLIB_ERR_INTERFACE_E9                         0xE0001FE9L  
01216     #define FTLIB_ERR_INTERFACE_EA                         0xE0001FEAL  
01217     #define FTLIB_ERR_INTERFACE_EB                         0xE0001FEBL  
01218     #define FTLIB_ERR_INTERFACE_EC                         0xE0001FECL  
01219     #define FTLIB_ERR_INTERFACE_ED                         0xE0001FEDL  
01220     #define FTLIB_ERR_INTERFACE_EE                         0xE0001FEEL  
01221     #define FTLIB_ERR_INTERFACE_EF                         0xE0001FEFL  
01222 
01223     #define FTLIB_ERR_INTERFACE_F0                         0xE0001FF0L  
01224     #define FTLIB_ERR_INTERFACE_F1                         0xE0001FF1L  
01225     #define FTLIB_ERR_INTERFACE_F2                         0xE0001FF2L  
01226     #define FTLIB_ERR_INTERFACE_F3                         0xE0001FF3L  
01227     #define FTLIB_ERR_INTERFACE_F4                         0xE0001FF4L  
01228     #define FTLIB_ERR_INTERFACE_F5                         0xE0001FF5L  
01229     #define FTLIB_ERR_INTERFACE_F6                         0xE0001FF6L  
01230     #define FTLIB_ERR_INTERFACE_F7                         0xE0001FF7L  
01231     #define FTLIB_ERR_INTERFACE_F8                         0xE0001FF8L  
01232     #define FTLIB_ERR_INTERFACE_F9                         0xE0001FF9L  
01233     #define FTLIB_ERR_INTERFACE_FA                         0xE0001FFAL  
01234     #define FTLIB_ERR_INTERFACE_FB                         0xE0001FFBL  
01235     #define FTLIB_ERR_INTERFACE_FC                         0xE0001FFCL  
01236     #define FTLIB_ERR_INTERFACE_FD                         0xE0001FFDL  
01237     #define FTLIB_ERR_INTERFACE_FE                         0xE0001FFEL  
01238     #define FTLIB_ERR_INTERFACE_FF                         0xE0001FFFL  
01239 
01242 #ifdef __cplusplus
01243 }
01244 #endif
01245 
01246 #endif
01247 
01248 
01249