Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

Timer.h

Committer:
simon.ford@mbed.co.uk
Date:
2008-04-08
Revision:
0:82220227f4fa
Child:
1:6b7f447ca868

File content as of revision 0:82220227f4fa:

/* mbed Microcontroller Library - Timer
 * Copyright (c) 2007-2008, sford
 */
 
#ifndef MBED_TIMER_H
#define MBED_TIMER_H

#include "Base.h"

namespace mbed {

/* Class: Timer
 *  A general purpose timer 
 */
class Timer : public Base {

public:

	Timer();
	
	/* Group: Access Methods */
		
	/* Function: start
	 *  Start the timer
	 */
	void start(); 
	
	/* Function: stop
	 *  Stop the timer
	 */
	void stop(); 
	
	/* Function: reset
	 *  Reset the timer to 0. 
	 *
	 * If it was already counting, it will continue
	 */
	void reset();

	/* Function: read
	 *  Get the time passed in seconds
	 */
	float read();
	
	/* Function: read_ms
	 *  Get the time passed in mili-seconds
	 */
	int read_ms();

	/* Function: read_us
	 *  Get the time passed in micro-seconds
	 */
	int read_us();

	operator float();

	int slicetime();
	
int _running;          // whether the timer is running
	unsigned int _start;   // the start time of the latest slice
	int _time;             // any accumulated time from previous slices

};

}

#endif