offset-compensation test (not yet working)

master
Paul Goeser 15 years ago committed by Dario Ernst
parent 1a824d85dd
commit 78a17d36ed

@ -26,6 +26,8 @@ void baz() {
* - multiplexer:
* C3: inhibit
* C0-C2: muxer select
* - offset measurement
* D0-D3 offset compensation
*
*
* amp 0 is on muxer channel 2
@ -47,6 +49,7 @@ void hardinit() {
spi_init();
muxer_init();
offset_measure_init();
i2c_init();
@ -96,6 +99,19 @@ int __attribute__((noreturn)) main(void) {
dbgLog("temp: %6li (%li µV, %li mK)\n",temp,nV/1000, mK);
}
SOFTTIMER(3,4000){
static uint8_t toggle;
if(toggle){
offset_measure_start(0);
toggle=0;
dbgLog("measuring offset\n");
} else {
offset_measure_stop();
toggle=1;
dbgLog("stopping offset-measuring\n");
}
}
}
}

@ -14,3 +14,19 @@ void muxer_set(uint8_t channel){
//TODO: delays, check everything, mask in register
}
void offset_measure_init(){
DDRD |= 0x0f; // first 4 pins as output
PORTD = 0x00; // turn everything off
}
void offset_measure_start(uint8_t channel){
if(channel >3){
return;
}
PORTD = (1<<channel);
}
void offset_measure_stop(){
PORTD = 0;
}

@ -4,3 +4,7 @@
void muxer_init();
void muxer_set(uint8_t channel);
void offset_measure_init();
void offset_measure_start(uint8_t channel);
void offset_measure_stop();

Loading…
Cancel
Save