#ifndef _CUSB_ROCKET_H_ #define _CUSB_ROCKET_H_ #include #define VID 0x2123 #define PID 0x1010 class CUsbRocket { public: CUsbRocket(); ~CUsbRocket(); int InitUsbRocket(); void CloseUsbRocket(); enum MOVESPEED { SPEED_SLOW, SPEED_MEDIUM, SPEED_FASTEST }; enum MOVESTATE { MOVE_STOP, MOVE_UP, MOVE_DOWN, MOVE_LEFT, MOVE_RIGHT, MOVE_FIRE, MOVE_EXIT }; void SetMoveDirection(MOVESTATE iDir); void SetMoveSpeed(MOVESPEED iSpeed); int StartMovement(); private: static void* MoveThread( void *ptr ); void MoveUp(); void MoveDown(); void MoveLeft(); void MoveRight(); void Fire(); void MoveStop(); int m_iMoveState; int m_iSpeed; pthread_t m_thread; usb_dev_handle* m_hdlRock; }; #endif /* _CUSB_ROCKET_H_ */