From: Keith Packard Date: Sat, 1 Sep 2012 05:14:27 +0000 (-0500) Subject: Revert "telescience: correctly calculating rate values with higher resolution" X-Git-Tag: 1.1~36 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=294b1ec85a37e375a0ac70cbffc6398309d63a7f Revert "telescience: correctly calculating rate values with higher resolution" PWM bits not suitable for master This reverts commit ada6f2dfc045e77cb9499f20cdec1b4a54ef0db1. --- diff --git a/src/avr/ao_pwmin.c b/src/avr/ao_pwmin.c index 84397357..73a153b2 100644 --- a/src/avr/ao_pwmin.c +++ b/src/avr/ao_pwmin.c @@ -25,40 +25,20 @@ * project payload developed at Challenger Middle School. */ -volatile __data uint16_t ao_icp3_count = 0; -volatile __data uint16_t ao_icp3_last = 0; - -uint16_t ao_icp3(void) -{ - uint16_t v; - ao_arch_critical( - v = ao_icp3_count; - ); - return v; -} +volatile __data uint16_t ao_icp3_count; static void ao_pwmin_display(void) __reentrant { /* display the most recent value */ - printf("icp 3: %5u\n", ao_icp3()); + printf("icp 3: %5u\n", ao_icp3_count); } - - ISR(TIMER3_CAPT_vect) { - uint8_t lo = ICR3L; uint8_t hi = ICR3H; - uint16_t ao_icp3_this = (hi <<8) | lo; - - /* handling counter rollovers */ - if (ao_icp3_this >= ao_icp3_last) - ao_icp3_count = ao_icp3_this - ao_icp3_last; - else - ao_icp3_count = ao_icp3_this + (65536 - ao_icp3_last); - ao_icp3_last = ao_icp3_this; + ao_icp3_count = (hi <<8) | lo; } __code struct ao_cmds ao_pwmin_cmds[] = { @@ -76,7 +56,7 @@ ao_pwmin_init(void) (0 << ICES3) | /* input capture on falling edge (don't care) */ (0 << WGM33) | /* normal mode, OCR3A */ (0 << WGM32) | /* normal mode, OCR3A */ - (3 << CS30)); /* clk/64 from prescaler */ + (4 << CS30)); /* clk/256 from prescaler */