| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef GPIODEVICE_H
- #define GPIODEVICE_H
- #include "serial.h"
- #include "public.h"
- #include "smutex.h"
- #define GPIO_SUCCESS 0 // command succeeded
- #define GPIO_NOT_OPEN -1 // command succeeded
- #define GPIO_HARDWARE_ERROR -2 // command failed because of hardware error
- #define GPIO_TIMEOUT -3 // wait for user interaction timed out
- #define GPIO_PARA_ERR -4 //
- #define SIUSTX 0X1B
- #define SIUID 0X2A
- #define STX_RET 0X02
- #define ETX 0x03
- #define NAK 0x15
- #define YYBSTX 0X1B
- #define YYBID 0X2D
- class GPIODevice
- {
- public:
- GPIODevice();
- ~GPIODevice();
- int Init();
- int OpenSIU(const char* sPort, int iBps);
- int OpenYYB(const char* sPort, int iBps);
- int OpenLCK(const char* sPort, int iBps);
- int Close();
- int SetLight(int iIndex, char* sCmd, int iState);
- int GetFirmware(char* sOut);
- int GetStatus( short & dwState);
- bool IsOpen(){return m_SerSIU.IsOpen();};
- int RestartPower(int nTimeToPowerOff, int nPowerOffDuration );
- int GetSIUSta(BYTE* sSta);
- int GetYYBSta(BYTE* sSta);
- protected:
- SSerial m_SerSIU;
- SSerial m_SerYYB;
- SSerial m_SerLCK;
- int ExecuteSIU(char * pSend, int iLength, char* sRecv, int& iRecv, int iTimeOut);
- int ExecuteYYB(char * pSend, int iLength, char* sRecv, int& iRecv, int iTimeOut);
- };
- #endif // GPIODEVICE_H
|