Skip to content

Commit 1cc86bf

Browse files
committed
tests with 1st prototype
1 parent 059105d commit 1cc86bf

File tree

1 file changed

+37
-12
lines changed

1 file changed

+37
-12
lines changed

fw/PROTOTYPE/PROTOTYPE.ino

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ void readRTC()
111111

112112
bool store = false;
113113

114-
// Timer 1 interrupt service routine (ISR)
115-
ISR(TIMER1_COMPA_vect)
114+
// Timer 3 interrupt service routine (ISR)
115+
ISR(TIMER3_COMPA_vect)
116116
{
117117
store = true;
118118
}
@@ -360,22 +360,33 @@ void setup()
360360
}
361361

362362
cli(); // disable interrupts during setup
363-
// Configure Timer 1 interrupt
363+
364+
// Configure Timer 3 interrupt
364365
// F_clock = 8 MHz, prescaler = 1024, Fs = 0.125 Hz
366+
TCCR3A = 0;
367+
TCCR3B = 1<<WGM32 | 1<<CS32 | 0<<CS31 | 1<<CS30;
368+
// OCR3A = ((F_clock / prescaler) / Fs) - 1
369+
OCR3AH = 0xF4; // 62499 Set sampling frequency Fs, period 8 s
370+
OCR3AL = 0x23; // 62499 Set sampling frequency Fs, period 8 s
371+
TCNT3H = 0; // reset Timer 1 counter
372+
TCNT3L = 0; // reset Timer 1 counter
373+
TIMSK3 = 1<<OCIE3A; // Enable Timer 1 interrupt
374+
375+
376+
// Configure Timer 1 for Input Capture
377+
// Voltage reference
378+
ADMUX = INTERNAL2V56 << 6;
379+
// Comparator
380+
ACSR = 1<<ACBG | 1<<ACIC;
381+
DIDR1 = 1<<AIN1D | 1<<AIN0D;
382+
// F_clock = 8 MHz, prescaler = 1, Fs = 8 MHz
365383
TCCR1A = 0;
366-
//TCCR1B = 1<<WGM12 | 0<<CS12 | 1<<CS11 | 1<<CS10;
367-
TCCR1B = 1<<WGM12 | 1<<CS12 | 0<<CS11 | 1<<CS10;
368-
// OCR1A = ((F_clock / prescaler) / Fs) - 1
369-
OCR1A = 62499; // Set sampling frequency Fs, period 8 s
370-
//OCR1A = (62500/2)-1; // Set sampling frequency Fs, period 4 s
384+
//TCCR1B = 0;
385+
TCCR1B = 1<<ICES1 | 0<<CS12 | 0<<CS11 | 1<<CS10;
371386
TCNT1 = 0; // reset Timer 1 counter
372-
TIMSK1 = 1<<OCIE1A; // Enable Timer 1 interrupt
373387

374388
store = false;
375389
sei(); // re-enable interrupts
376-
377-
ADMUX = (INTERNAL2V56 << 6) | ((0 | 0x10) & 0x1F);
378-
379390
}
380391

381392

@@ -415,6 +426,20 @@ void loop()
415426
//delayMicroseconds(4);
416427
digitalWrite(DRESET, HIGH);
417428
uint16_t adcVal = SPI.transfer16(0x0000);
429+
430+
/*
431+
uint16_t ToT;
432+
//TIFR1 = 1<<ICF1;
433+
//while (!(TIFR1 & (1 << ICF1)));
434+
//TCNT1 = 0; // reset Timer 1 counter
435+
//delayMicroseconds(1000);
436+
ToT = TCNT1 -ICR1;
437+
Serial.print(adcVal);
438+
Serial.print("*");
439+
//Serial.print(TCNT1);
440+
//Serial.print("*");
441+
Serial.println(ToT);
442+
*/
418443
//if(adcVal>17000)
419444
{
420445
//Serial.println(adcVal);

0 commit comments

Comments
 (0)