view projects/d-box/StatusLED.h @ 256:3e93d9793da3 aux_task_args

Overload BeagleRT_createAuxiliaryTask so tasks can be created with or without arguments
author Liam Donovan <l.b.donovan@qmul.ac.uk>
date Fri, 06 May 2016 21:36:27 +0100
parents 8a575ba3ab52
children
line wrap: on
line source
/*
 * StatusLED.h
 *
 *
 */

#ifndef STATUSLED_H_
#define STATUSLED_H_

#include <pthread.h>

class StatusLED
{
public:
	StatusLED();
	~StatusLED();

	bool init(int gpio_pin);

	void on();
	void off();
	void blink(int ms_on, int ms_off);

	static void *static_blink_loop(void *data) {
		((StatusLED*)data)->blink_loop(NULL);
		return 0;
	}

	void* blink_loop(void *);

private:
	int gpio_number;
	int milliseconds_on, milliseconds_off;
	bool this_should_stop;
	pthread_t blink_thread;
};

#endif // STATUSLED_H_