Change Details
fw/accel.c |
54 | 54 | if (sample) |
55 | 55 | sample(chan_x, v); |
56 | 56 | |
57 | | chan_x = !chan_x; |
58 | | admux(chan_x); |
| 57 | if (chan_x) { |
| 58 | chan_x = 0; |
| 59 | admux(0); |
| 60 | adcsra(1); |
| 61 | } |
| 62 | } |
| 63 | |
| 64 | |
| 65 | ISR(TIMER0_OVF_vect) |
| 66 | { |
| 67 | chan_x = 1; |
| 68 | admux(1); |
59 | 69 | adcsra(1); |
60 | 70 | } |
61 | 71 | |
... | ... | |
63 | 73 | void accel_start(void) |
64 | 74 | { |
65 | 75 | adcsra(0); |
66 | | admux(1); |
67 | | chan_x = 1; |
| 76 | |
| 77 | TCNT0 = 0; |
| 78 | OCR0A = 125; /* 8 MHz/64/125 = 1 kHz */ |
| 79 | TCCR0A = |
| 80 | 1 << WGM01 | /* WG Mode 7 (Fast PWM to OCR0A) */ |
| 81 | 1 << WGM00; |
| 82 | TCCR0B = |
| 83 | 1 << WGM02 | /* WG Mode 7, continued */ |
| 84 | 1 << CS01 | /* clkIO/64 */ |
| 85 | 1 << CS00; |
| 86 | TIMSK0 = 1 << TOIE0; /* interrupt on overflow */ |
68 | 87 | } |
Download the corresponding diff file