#ifndef __WINCON_H__ #define __WINCON_H__ #ifdef WINCONSDK_EXPORTS #define WINCONSDK_API extern "C" __declspec(dllexport) #else #define WINCONSDK_API extern "C" __declspec(dllimport) #endif // System Information Functions WINCONSDK_API void ChangeSlotTo87K(unsigned char slotNo); WINCONSDK_API int GetModuleType(int slot); WINCONSDK_API int GetNameOfModule(int slot, char *string1); WINCONSDK_API DWORD GetTimeTicks(void); WINCONSDK_API DWORD GetSlotAddr(int slot); WINCONSDK_API int GetSystemSerialNumber(char *string1); // Software Information Functions WINCONSDK_API void GetOSversion(LPTSTR lpOSversion); WINCONSDK_API void GetSDKversion(LPTSTR lpSDKversion); //Digital Input/Output Functions WINCONSDK_API void DO_8(int slot, unsigned char cdata); WINCONSDK_API void DO_16(int slot, unsigned int cdata); WINCONSDK_API void DO_32(int slot, unsigned long cdata); // 20031009 Vincent added for bitwise R/W WINCONSDK_API void DO_8_BW(int slot, int bit, BOOL data); WINCONSDK_API void DO_16_BW(int slot, int bit, BOOL data); WINCONSDK_API void DO_32_BW(int slot, int bit, BOOL data); WINCONSDK_API unsigned char DI_8(int slot); WINCONSDK_API unsigned int DI_16(int slot); WINCONSDK_API unsigned long DI_32(int slot); WINCONSDK_API BOOL DI_8_BW(int slot, int bit); WINCONSDK_API BOOL DI_16_BW(int slot, int bit); WINCONSDK_API BOOL DI_32_BW(int slot, int bit); WINCONSDK_API void DIO_DO_8(int slot, unsigned char data); WINCONSDK_API void DIO_DO_16(int slot, unsigned int data); WINCONSDK_API void DIO_DO_8_BW(int slot, int bit, BOOL data); WINCONSDK_API void DIO_DO_16_BW(int slot, int bit, BOOL data); // 20031009 Vincent added for read back output WINCONSDK_API unsigned char DO_8_RB(int slot); WINCONSDK_API unsigned int DO_16_RB(int slot); WINCONSDK_API unsigned long DO_32_RB(int slot); WINCONSDK_API unsigned char DIO_DO_8_RB(int slot); WINCONSDK_API unsigned int DIO_DO_16_RB(int slot); // Watch Dog Timer Functions // 20040624 Stephen add for WatchDog function WINCONSDK_API void EnableWDT(DWORD msecond); WINCONSDK_API void DisableWDT(void); WINCONSDK_API int WatchDogSWEven(void); WINCONSDK_API void ClearWDTSWEven(void); WINCONSDK_API void WatchDogReset(void); WINCONSDK_API void EnableOSWDT(DWORD msecond); WINCONSDK_API void DisableOSWDT(void); WINCONSDK_API void WatchDogTimeOutType(int type); //////////Stanley Add 2005/11/10////////////////// //WINCONSDK_API void FRNET_SA(BYTE Slot,BYTE Port,BYTE wRA,WORD Data); WINCONSDK_API void i8172_FRNET_OUT(BYTE Slot,BYTE Port,BYTE wRA,WORD Data); //WINCONSDK_API WORD FRNET_RA(BYTE Slot,BYTE Port,BYTE wSA); WINCONSDK_API WORD i8172_FRNET_IN(BYTE Slot,BYTE Port,BYTE wSA); WINCONSDK_API BYTE i8172_FRNET_Status(int Slot, BYTE Port); WINCONSDK_API void i8172_FRNET_Reset(int Slot, BYTE Port); //========================================================= //====== 2006/5/24 added by Star for fast I/O ============ //========================================================= WINCONSDK_API bool Select_IO_Speed(unsigned char SpeedMode); //Select I/O R/W Speed //SpeedMode=0 for Origenal I/O Speed //SpeedMode=1 for new I/O Speed (50x) // return=ture OK, //========================================================= //=== added by Star For S256/S512 on BACKPLANE 2006/6/16 == //========================================================= // init S-256/512 on BACKPLANE WINCONSDK_API WORD XSRAM_Init(void); // Set the XSRAM S-256/512 Block S256(0~2047),S512(0~4095). // return true set OK,false Set Error. WINCONSDK_API bool XSRAM_Set_Block(WORD Block); // write 1 byte Data to XSRAM S-256/512 addr(0~127). WINCONSDK_API void XSRAM_Write_Byte(unsigned char address,unsigned char data); // read 1 Byte Data from XSRAM S-256/512 addr(0~127). WINCONSDK_API unsigned char XSRAM_Read_Byte(unsigned char address); // Read XSRAM S-256/512 Type return 256 or 512 or 0(None) WINCONSDK_API WORD XSRAM_Get_Type(); // Read XSRAM S-256/512 Max_Block return 2048 or 4096 or 0(None) WINCONSDK_API WORD XSRAM_Get_Max_Block(); //========================================================= //======== added by Star For S256/S512 2006/6/16 ========== //========================================================= //========================================================= //=================== Interrupt =========================== //========================================================= WINCONSDK_API void Slot_Interrupt_Close(BYTE Slot); WINCONSDK_API void Slot_Interrupt_Done(BYTE Slot); WINCONSDK_API HANDLE Slot_Register_Interrupt(BYTE Slot); //========================================================= //======== Functions to maintain DIO data buffers ========= //========================================================= WINCONSDK_API DWORD GetDIOData32(int slot); WINCONSDK_API void WriteDIOData32(int slot, DWORD dw); #endif // __WINCON_H__