// The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the PEMDLL_EXPORTS // symbol defined on the command line. this symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // PEMDLL_API functions as being imported from a DLL, wheras this DLL sees symbols // defined with this macro as being exported. #ifdef PEMDLL_EXPORTS #define PEMDLL_API __declspec(dllexport) #else #define PEMDLL_API __declspec(dllimport) #endif #define CPEMDLL_SUCESS 0 #define CPEMDLL_FAIL 1 #define CPEMDLL_ERROR_PEMNOTEXIST 2 #define CPEMDLL_ERROR_ADCNOTEXIST 3 #define CPEMDLL_ERROR_POWERFAIL 4 #define CPEMDLL_ERROR_DEVNOTEXIST 5 #define CPEMDLL_ERROR_DEVNOTMATCH 6 #define CPEMDLL_ERROR_DEVNEEDCFG 7 #define CPEMDLL_ERROR_3V3AUXSHORT 0x04 #define CPEMDLL_ERROR_3V3SHORT 0x02 #define CPEMDLL_ERROR_1V5SHORT 0x01 #define PEMCTRL_ERROR_3V3AUXSHORT 0x01 #define PEMCTRL_ERROR_3V3SHORT 0x02 #define PEMCTRL_ERROR_1V5SHORT 0x04 //!#00C0: IO Conttrol FOR PEM IOM V1.01 #define CPEMDLL_ERROR_IOMNOTEXIST 0x80 #define CPEMDLL_ERROR_IOMISINPUT 0x81 enum{ CPEMDLL_PEMIO_PERSTn, // 0 CPEMDLL_PEMIO_CLKREQn, CPEMDLL_PEMIO_WAKEn, CPEMDLL_PEMIO_LED_WWANn, CPEMDLL_PEMIO_LED_WLANn, CPEMDLL_PEMIO_LED_WPANn, CPEMDLL_PEMIO_RS_PIN3, CPEMDLL_PEMIO_RS_PIN5, CPEMDLL_PEMIO_RS_PIN20, // 8 CPEMDLL_PEMIO_UIM_RESET, CPEMDLL_PEMIO_UIM_CLK, CPEMDLL_PEMIO_UIM_DATA, CPEMDLL_PEMIO_UIM_VPP, CPEMDLL_PEMIO_UIM_PWR, // 13 CPEMDLL_PEMIO_RS_PIN17, // CPEMDLL_PEMIO_RS_PIN19, // CPEMDLL_PEMIO_RS_PIN45, //16 CPEMDLL_PEMIO_RS_PIN47, CPEMDLL_PEMIO_RS_PIN49, CPEMDLL_PEMIO_RS_PIN51 }; /* PEMDLL_API char CPEMDLL_PEMIO_Name[24][16] = { "PERSTn", "CLKREQn", "WAKEn", "LED_WWANn", "LED_WLANn", "LED_WPANn", "RS_PIN3", "RS_PIN5", "RS_PIN20", "UIM_RESET", "UIM_CLK", "UIM_DATA", "UIM_VPP", "UIM_PWR", "RS_PIN17", "RS_PIN19", "RS_PIN45", "RS_PIN47", "RS_PIN49", "RS_PIN51", }; */ //char CPEMDLL_PEMIO_Name[24][16]; // This class is exported from the PEMDll.dll class PEMDLL_API CPEMDll { public: CPEMDll(void); char CPEMDLL_PEMIO_Name[24][16]; int INIT(); int INIT(int comport); int INITEX(); int INITEX(DWORD addr); int EXIT(); int VALIDPEM(DWORD addr); int SELPEM(DWORD addr); int GETPNTYPE(); int VALIDDEV(); int SELDEV(DWORD Vid, DWORD Did, int index); int SELDEV(DWORD Busno, DWORD Devno); int PON(); int POFF(); int GETPWRSTS(); int CHKSHORT(); int GET3V3V(double* volatge); int GET1V5V(double* volatge); int GET12V(double* volatge); int GET3V3I(double* current); int GET1V5I(double* current); int GET3V3IMAX(double* current); //!#0004 int GET1V5IMAX(double* current); //!#0004 int GET12I(double* volatge); int GETTEMP(DWORD devaddr, double* temp); //!#0003 int SET1V5ICAL(); int SET3V3ICAL(); int SET12ICAL(); int SETUSECAL(int i); int GETUSECAL(); int WINCHECK(); int WINEN(int delaytime); int WINDIS(int delaytime); int CHECKCFG(char* logfile); int WAITCARDREMOVE(); int WAITCARDPLUG(); int CHECKCD(); //!#0005 int LEDGO(); int LEDNG(); int LEDOFF(); int BEEP(int freq, int time); int SETPONRST(int setting); //!#0004 int GETPNTYPE(DWORD addr); int VALIDDEV(DWORD addr); int SELDEV(DWORD addr, DWORD Vid, DWORD Did, int index); int SELDEV(DWORD addr, DWORD Busno, DWORD Devno); int GETPWRSTS(DWORD addr); int CHKSHORT(DWORD addr); int GET3V3V(DWORD addr, double* volatge); int GET1V5V(DWORD addr, double* volatge); int GET12V(DWORD addr, double* volatge); int GET3V3I(DWORD addr, double* current); int GET1V5I(DWORD addr, double* current); int GET3V3IMAX(DWORD addr, double* current); //!#0004 int GET1V5IMAX(DWORD addr, double* current); //!#0004 int GETTEMP(DWORD addr, DWORD devaddr, double* temp); //!#0003 int GET12I(DWORD addr, double* current); int SET1V5ICAL(DWORD addr); int SET3V3ICAL(DWORD addr); int SET12ICAL(DWORD addr); int SETUSECAL(DWORD addr, int i); int GETUSECAL(DWORD addr); int PON(DWORD addr); int POFF(DWORD addr); int WINCHECK(DWORD addr); int WINEN(DWORD addr, int delaytime); int WINDIS(DWORD addr, int delaytime); int CHECKCFG(DWORD addr, char* logfile); int WAITCARDREMOVE(DWORD addr); int WAITCARDPLUG(DWORD addr); int CHECKCD(DWORD addr); //!#0005 int LEDGO(DWORD addr); int LEDNG(DWORD addr); int LEDOFF(DWORD addr); int BEEP(DWORD addr, int freq, int time); int SETPONRST(DWORD addr, int setting); //!#0004 void GETLIBVER(int* major, int* minor); int GETPCIDEVCOUNT(); int SELPCIDEV(int num); char* GETPCIDEVDESC(); DWORD GETPCIDEVVID(); DWORD GETPCIDEVDID(); DWORD GETPCIDEVBUSNO(); DWORD GETPCIDEVDEVNO(); int GPIOSETUP(int pinno, int mode, int val); int GPIOOUTSET(int pinno); int GPIOOUTRESET(int pinno); int GPIOIN(int pinno); int GPIOGETSETUP(int pinno); int GPIOSETUP(DWORD addr, int pinno, int mode, int val); int GPIOOUTSET(DWORD addr, int pinno); int GPIOOUTRESET(DWORD addr, int pinno); int GPIOIN(DWORD addr, int pinno); int GPIOGETSETUP(DWORD addr, int pinno); //!#0009, Mar/09/2007 int PROBESMBCLKRISE(double* time); int PROBESMBCLKRISE(DWORD addr, double* time); //!#000A, Apr/18/2007, Vincent int GET5V(double* volatge); int GET5VI(double* current); int GET5VIMAX(double* current); int GET5V(DWORD addr, double* volatge); int GET5VI(DWORD addr, double* current); int GET5VIMAX(DWORD addr, double* current); int usecomport; int WINEN2(DWORD addr, int delaytime); int WINEN2(int delaytime); int DEVRESCAN(int delaytime); int RESETLINKEDDEVICECOUNT(); int ADDLINKEDDEVICEFUNC(unsigned long busnoi, unsigned long devnoi, unsigned long funcnoi); int UPDATELINKEDDEVICE(); int RESETLINKEDDEVICECOUNT(DWORD addr); int ADDLINKEDDEVICEFUNC(DWORD addr, unsigned long busnoi, unsigned long devnoi, unsigned long funcnoi); int UPDATELINKEDDEVICE(DWORD addr); //!#00B1, May/07/2008, Add int GETFIRMVER(DWORD addr, int* major, int* minor); int GETFIRMVER(int* major, int* minor); //!#00B2, Jun/05/2008, Add int PWRCTL_AUTO(); int PWRCTL_MANUAL(); int PWRCTL_AUTO(DWORD addr); int PWRCTL_MANUAL(DWORD addr); //!#00C1: IO Conttrol FOR PEM IOM V1.01 int IOMINIT(); int IOMGETPINOE(int pinno); int IOMGETPINIE(int pinno); int IOMSETPINOE(int pinno); int IOMSETPINIE(int pinno); int IOMSETPIN(int pinno, int hilo); int IOMGETPIN(int pinno); char* IOMGETPINNAME(int pinno); }; //!#000B, Oct/09/2007, Kikimum for Dll export to Borland C #ifdef __cplusplus extern "C" { #endif PEMDLL_API int usecomport; PEMDLL_API int __stdcall PETS_INIT(); PEMDLL_API int __stdcall PETS_INIT1(int comport); PEMDLL_API int __stdcall PETS_INITEX(); PEMDLL_API int __stdcall PETS_INITEX1(DWORD addr); PEMDLL_API int __stdcall PETS_EXIT(); PEMDLL_API int __stdcall PETS_VALIDPEM(DWORD addr); PEMDLL_API int __stdcall PETS_SELPEM(DWORD addr); PEMDLL_API int __stdcall PETS_GETPNTYPE(); PEMDLL_API int __stdcall PETS_VALIDDEV(); PEMDLL_API int __stdcall PETS_SELDEVVD(DWORD Vid, DWORD Did, int index); PEMDLL_API int __stdcall PETS_SELDEVBD(DWORD Busno, DWORD Devno); PEMDLL_API int __stdcall PETS_PON(); PEMDLL_API int __stdcall PETS_POFF(); PEMDLL_API int __stdcall PETS_GETPWRSTS(); PEMDLL_API int __stdcall PETS_CHKSHORT(); PEMDLL_API int __stdcall PETS_GET3V3V(double* volatge); PEMDLL_API int __stdcall PETS_GET1V5V(double* volatge); PEMDLL_API int __stdcall PETS_GET12V(double* volatge); PEMDLL_API int __stdcall PETS_GET3V3I(double* current); PEMDLL_API int __stdcall PETS_GET1V5I(double* current); PEMDLL_API int __stdcall PETS_GET3V3IMAX(double* current); //!#0004 PEMDLL_API int __stdcall PETS_GET1V5IMAX(double* current); //!#0004 PEMDLL_API int __stdcall PETS_GET12I(double* current); PEMDLL_API int __stdcall PETS_GETTEMP(DWORD devaddr, double* temp); //!#0003 PEMDLL_API int __stdcall PETS_SET1V5ICAL(); PEMDLL_API int __stdcall PETS_SET3V3ICAL(); PEMDLL_API int __stdcall PETS_SET12ICAL(); PEMDLL_API int __stdcall PETS_SETUSECAL(int i); PEMDLL_API int __stdcall PETS_GETUSECAL(); PEMDLL_API int __stdcall PETS_WINCHECK(); PEMDLL_API int __stdcall PETS_WINEN(int delaytime); PEMDLL_API int __stdcall PETS_WINDIS(int delaytime); PEMDLL_API int __stdcall PETS_CHECKCFG(char* logfile); PEMDLL_API int __stdcall PETS_WAITCARDREMOVE(); PEMDLL_API int __stdcall PETS_WAITCARDPLUG(); PEMDLL_API int __stdcall PETS_CHECKCD(); //!#0005 PEMDLL_API int __stdcall PETS_LEDGO(); PEMDLL_API int __stdcall PETS_LEDNG(); PEMDLL_API int __stdcall PETS_LEDOFF(); PEMDLL_API int __stdcall PETS_BEEP(int freq, int time); PEMDLL_API int __stdcall PETS_SETPONRST(int setting); //!#0004 PEMDLL_API int __stdcall PETS_GETPNTYPE1(DWORD addr); PEMDLL_API int __stdcall PETS_VALIDDEV1(DWORD addr); PEMDLL_API int __stdcall PETS_SELDEVVD1(DWORD addr, DWORD Vid, DWORD Did, int index); PEMDLL_API int __stdcall PETS_SELDEVBD1(DWORD addr, DWORD Busno, DWORD Devno); PEMDLL_API int __stdcall PETS_GETPWRSTS1(DWORD addr); PEMDLL_API int __stdcall PETS_CHKSHORT1(DWORD addr); PEMDLL_API int __stdcall PETS_GET3V3V1(DWORD addr, double* volatge); PEMDLL_API int __stdcall PETS_GET1V5V1(DWORD addr, double* volatge); PEMDLL_API int __stdcall PETS_GET12V1(DWORD addr, double* volatge); PEMDLL_API int __stdcall PETS_GET3V3I1(DWORD addr, double* current); PEMDLL_API int __stdcall PETS_GET1V5I1(DWORD addr, double* current); PEMDLL_API int __stdcall PETS_GET3V3IMAX1(DWORD addr, double* current); //!#0004 PEMDLL_API int __stdcall PETS_GET1V5IMAX1(DWORD addr, double* current); //!#0004 PEMDLL_API int __stdcall PETS_GETTEMP1(DWORD addr, DWORD devaddr, double* temp); //!#0003 PEMDLL_API int __stdcall PETS_GET12I1(DWORD addr, double* current); PEMDLL_API int __stdcall PETS_SET1V5ICAL1(DWORD addr); PEMDLL_API int __stdcall PETS_SET3V3ICAL1(DWORD addr); PEMDLL_API int __stdcall PETS_SET12ICAL1(DWORD addr); PEMDLL_API int __stdcall PETS_SETUSECAL1(DWORD addr, int i); PEMDLL_API int __stdcall PETS_GETUSECAL1(DWORD addr); PEMDLL_API int __stdcall PETS_PON1(DWORD addr); PEMDLL_API int __stdcall PETS_POFF1(DWORD addr); PEMDLL_API int __stdcall PETS_WINCHECK1(DWORD addr); PEMDLL_API int __stdcall PETS_WINEN1(DWORD addr, int delaytime); PEMDLL_API int __stdcall PETS_WINDIS1(DWORD addr, int delaytime); PEMDLL_API int __stdcall PETS_CHECKCFG1(DWORD addr, char* logfile); PEMDLL_API int __stdcall PETS_WAITCARDREMOVE1(DWORD addr); PEMDLL_API int __stdcall PETS_WAITCARDPLUG1(DWORD addr); PEMDLL_API int __stdcall PETS_CHECKCD1(DWORD addr); //!#0005 PEMDLL_API int __stdcall PETS_LEDGO1(DWORD addr); PEMDLL_API int __stdcall PETS_LEDNG1(DWORD addr); PEMDLL_API int __stdcall PETS_LEDOFF1(DWORD addr); PEMDLL_API int __stdcall PETS_BEEP1(DWORD addr, int freq, int time); PEMDLL_API int __stdcall PETS_SETPONRST1(DWORD addr, int setting); //!#0004 PEMDLL_API void __stdcall PETS_GETLIBVER(int* major, int* minor); PEMDLL_API int __stdcall PETS_GETPCIDEVCOUNT(); PEMDLL_API int __stdcall PETS_SELPCIDEV(int num); PEMDLL_API char* __stdcall PETS_GETPCIDEVDESC(); PEMDLL_API DWORD __stdcall PETS_GETPCIDEVVID(); PEMDLL_API DWORD __stdcall PETS_GETPCIDEVDID(); PEMDLL_API DWORD __stdcall PETS_GETPCIDEVBUSNO(); PEMDLL_API DWORD __stdcall PETS_GETPCIDEVDEVNO(); PEMDLL_API int __stdcall PETS_GPIOSETUP(int pinno, int mode, int val); PEMDLL_API int __stdcall PETS_GPIOOUTSET(int pinno); PEMDLL_API int __stdcall PETS_GPIOOUTRESET(int pinno); PEMDLL_API int __stdcall PETS_GPIOIN(int pinno); PEMDLL_API int __stdcall PETS_GPIOGETSETUP(int pinno); PEMDLL_API int __stdcall PETS_GPIOSETUP1(DWORD addr, int pinno, int mode, int val); PEMDLL_API int __stdcall PETS_GPIOOUTSET1(DWORD addr, int pinno); PEMDLL_API int __stdcall PETS_GPIOOUTRESET1(DWORD addr, int pinno); PEMDLL_API int __stdcall PETS_GPIOIN1(DWORD addr, int pinno); PEMDLL_API int __stdcall PETS_GPIOGETSETUP1(DWORD addr, int pinno); //!#0009, Mar/09/2007 PEMDLL_API int __stdcall PETS_PROBESMBCLKRISE(double* time); PEMDLL_API int __stdcall PETS_PROBESMBCLKRISE1(DWORD addr, double* time); //!#000A, Apr/18/2007, Vincent PEMDLL_API int __stdcall PETS_GET5V(double* volatge); PEMDLL_API int __stdcall PETS_GET5VI(double* current); PEMDLL_API int __stdcall PETS_GET5VIMAX(double* current); PEMDLL_API int __stdcall PETS_GET5V1(DWORD addr, double* volatge); PEMDLL_API int __stdcall PETS_GET5VI1(DWORD addr, double* current); PEMDLL_API int __stdcall PETS_GET5VIMAX1(DWORD addr, double* current); PEMDLL_API int __stdcall PETS_WINEN21(DWORD addr, int delaytime); PEMDLL_API int __stdcall PETS_WINEN2(int delaytime); PEMDLL_API int __stdcall PETS_DEVRESCAN(int delaytime); PEMDLL_API int __stdcall PETS_RESETLINKEDDEVICECOUNT(); PEMDLL_API int __stdcall PETS_ADDLINKEDDEVICEFUNC(unsigned long busnoi, unsigned long devnoi, unsigned long funcnoi); PEMDLL_API int __stdcall PETS_UPDATELINKEDDEVICE(); PEMDLL_API int __stdcall PETS_RESETLINKEDDEVICECOUNT1(DWORD addr); PEMDLL_API int __stdcall PETS_ADDLINKEDDEVICEFUNC1(DWORD addr, unsigned long busnoi, unsigned long devnoi, unsigned long funcnoi); PEMDLL_API int __stdcall PETS_UPDATELINKEDDEVICE1(DWORD addr); //!#00B1, May/07/2008, Add PEMDLL_API int __stdcall GETFIRMVERA(DWORD addr, int* major, int* minor); PEMDLL_API int __stdcall GETFIRMVER(int* major, int* minor); //!#00B2, Jun/05/2008, Add PEMDLL_API int __stdcall PWRCTL_AUTO(); PEMDLL_API int __stdcall PWRCTL_MANUAL(); PEMDLL_API int __stdcall PWRCTL_AUTOA(DWORD addr); PEMDLL_API int __stdcall PWRCTL_MANUALA(DWORD addr); #ifdef __cplusplus } #endif