Click here to Skip to main content
15,886,689 members
Articles / Programming Languages / C++

ECG recording, storing, filtering and recognition

Rate me:
Please Sign up or sign in to vote.
4.72/5 (110 votes)
14 Apr 200411 min read 730K   38.4K   156  
Full open code project for making driver and application software for ECG medical measurements.
// MCP3002.h: interface for the MCP3002 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MCP3002_H__6786F68B_8AB9_11D7_8A9A_CD3460C9807B__INCLUDED_)
#define AFX_MCP3002_H__6786F68B_8AB9_11D7_8A9A_CD3460C9807B__INCLUDED_

#include "ADC3002.h"	// Added by ClassView
#include "MultimediaTimer.h"	// Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class AFX_EXT_CLASS MCP3002  
{
	//This function will return 2 pointers to the sampled arrays and its lenght, and of cource the start sampling time end end sampling time
	typedef void(*EndSampleNotification)(void* obj,unsigned short *ch0,unsigned short *ch1,int lenght,CTime tstart,CTime tend);
public:
	
	void SetEndSampleNotification(void* obj,EndSampleNotification endnotification);
	//void* object;
	EndSampleNotification EndNotification;
	unsigned short Channel_0[5001];
	unsigned short Channel_1[5001];
	void HandleTimer(UINT nIDEvant);
	void MMT_Start(unsigned short LPT);
	void MMT_Stop();
	MCP3002();
	virtual ~MCP3002();

private:
	CTime TStart;
	CTime TEnd;
	void* object;
	void DoEndNotification();
	unsigned short ADC_Ch_1();
	unsigned short ADC_Ch_0();
	unsigned short LPT_PORT;
	int i_mmcount;
	MultimediaTimer MMTimer;
	ADC3002 adc3002;
};

#endif // !defined(AFX_MCP3002_H__6786F68B_8AB9_11D7_8A9A_CD3460C9807B__INCLUDED_)

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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Systems Engineer
Bulgaria Bulgaria
PhD, Cum Laude in digital automation systems
M.S. in Telemommunication management
B.S. in Telecommunication systems engineering
Programming: CUDA, C/C++, VHDL
Software and Hardware development and consulting:
data acquisition, image processing, medical instrumentation

Comments and Discussions