Click here to Skip to main content
15,896,063 members
Articles / Programming Languages / C++

Writing a Sensor Driver for the Wiimote on Windows 7

Rate me:
Please Sign up or sign in to vote.
4.93/5 (61 votes)
16 Feb 2010CPOL30 min read 276.5K   16.7K   106  
How to write a Sensor driver that provides access to the 3-axis accelerometer on a Nintendo Wiimote on Windows 7
#pragma once

class CThread
{
protected:
	HANDLE hThread;
	unsigned int threadID;
	HANDLE hTerminateEvent;

public:
	CThread();
	virtual ~CThread();

	//function methods
	virtual bool start( bool suspended = false );	//starts a thread
	virtual void stop( unsigned long exitCode = 0 );//stops a thread
	virtual unsigned long run() = 0;				//user puts actual code here
	virtual unsigned long suspend();				//suspend it
	virtual unsigned long resume();					//resume it
	virtual bool notifyTerminate();					//notify thread that its time to terminate

	//state get methods
	virtual unsigned long getID();					//get system-wide unique ID
	virtual HANDLE getHandle();						//get the handle
	virtual int getPriority();						//get priority
	virtual unsigned long getExitCode();			//get the exit code - returns
													//STILL_ACTIVE if well, still active!

	//state set method
	virtual bool setPriority( int priority );		//set priority

	//global state query methods
	static unsigned long getCurrentID();			//get pseudo-thread id
	static HANDLE getCurrentHandle();				//get pseudo-thread handle

	static void sleep( unsigned long msecs );		//sleep for _msecs_ milliseconds
};

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Microsoft
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions