#include "muxer.h" #include void muxer_init(){ DDRC |= (_BV(0)|_BV(1)|_BV(2)|_BV(3)); // conf as outputs PORTC |= _BV(3); // inhibit } void muxer_set(uint8_t channel){ PORTC |= _BV(3); // engage inhibit PORTC &= ~(0x07); //mask PORTC |= channel & 0x07; //set PORTC &= ~(_BV(3)); // disengage inhibit //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<