All pastes #333115 Raw Edit

Stuff

public text v1 · immutable
#333115 ·published 2007-01-30 18:27 UTC
rendered paste body
struct pwm_s {
	int port;
	int interval_len;
	int interval_done;
}

pwm_s g_pwm[3];

void irq_handler(int msec_elapsed) {
	controll_handler(msec_elapsed);
	
	for (int i = 0; i < 3; i++)
		pwm_handler(i, msec_elapsed);
}

void controll_handler(int msec_elapsed) {
	// handle fades, set pwm intervals
}

void pwm_handler(int i, int msec_elapsed) {
	g_pwm[i].interval_done += msec_elapsed;
	
	if (g_pwm[i].interval_done >= g_pwm[i].interval_len) {
		flip_port(g_pwm[i].port);
		g_pwm[i].interval_done = 0;
	}
}