Merge branch 'master' of gitorious.ghostdub.de:avr/thermocouple

master
Dario Ernst 15 years ago
commit 71cb34b181

@ -8,7 +8,7 @@
#include "main.h"
#include <spi.h>
#include "spi.h"
/* SPI framework.
*

@ -2,7 +2,7 @@ include ../Makefile.inc
COMPILE = avr-gcc $(CFLAGS) $(DEFINES)
OBJECTS = main.o mcp_adc.o i2c_simple.o softtimer.o spi_proto.o spi.o spi_pointers.o
OBJECTS = main.o mcp_adc.o i2c_simple.o softtimer.o spi_proto.o spi.o spi_pointers.o muxer.o
# symbolic targets:
all: firmware.hex

@ -1,5 +1,6 @@
#include "main.h"
#include "spi.h"
#include "muxer.h"
uint8_t foo;
uint16_t bar;
@ -11,6 +12,17 @@ void baz() {
foo++;
}
/* pinout
* - i2c:
* C5
* C4
* - multiplexer:
* C3: inhibit
* C0-C2: muxer select
*
*
* amp 0 is on muxer channel 2
*/
void hardinit() {
/* initializes the hardware */
@ -22,6 +34,8 @@ void hardinit() {
spi_init();
muxer_init();
sei();
}

@ -0,0 +1,16 @@
#include "muxer.h"
#include <avr/io.h>
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
}

@ -0,0 +1,6 @@
//TODO:guards
#include <stdint.h>
void muxer_init();
void muxer_set(uint8_t channel);
Loading…
Cancel
Save