[ create a new paste ] login | about

Link: http://codepad.org/D2lYnx07    [ raw code | fork ]

C++, pasted on Mar 17:
ISR(TIMER1_COMPA_vect) {
//~ void interr(void) {
	reg_t data = read_pins();
	reg[pos++] = data;
	if (triggered) {
		count++; 
		if (count == 0) { // reached 256 samples, yay!
			end_capture();
		}
	} else {
		if (count < before) {
			// do not trigger until at least `before` samples
			count++;
			// remember potential triggers
			may_rise = ~data & rising;
			may_fall = data & falling;
		} else if ((data & may_rise) | (~data & may_fall)) {
			count = before;
			triggered = true;
		} else {
			// remember potential triggers
			may_rise = ~data & rising;
			may_fall = data & falling;
		}
	}
}


Create a new paste based on this one


Comments: