From 1d05cb89fd875334530e086fd0b7dc2a97b0387f Mon Sep 17 00:00:00 2001 From: Benjamin Kiessling Date: Sun, 8 Dec 2013 20:58:04 +0000 Subject: Miscellaneous test code --- ferment.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 66 insertions(+), 8 deletions(-) (limited to 'ferment.c') diff --git a/ferment.c b/ferment.c index aba1916..b0d9a65 100644 --- a/ferment.c +++ b/ferment.c @@ -1,4 +1,4 @@ -#define F_CPU 1000000UL +//#define F_CPU 7372800UL #include #include #include @@ -8,6 +8,10 @@ #include #include +#include "serial.h" +#include "stdio.h" +#include "pid.h" + /* port D * * 4 1- (NMOS, inverted) @@ -22,6 +26,12 @@ #define D_2_MINUS (1 << 6) #define D_2_PLUS (1 << 7) +const int target_temp = 30; +volatile uint16_t adc_res; +volatile uint8_t adc_new; + +struct PID_DATA pid_data; + /* Turns the H-bridge off, putting the output * into high impedance mode. */ static void bridge_off(void) @@ -55,15 +65,63 @@ static void bridge_init(void) DDRD |= D_1_PLUS | D_1_MINUS | D_2_PLUS | D_2_MINUS; } -int main() +/* initializes ADC */ +static void adc_init(void) +{ + adc_new = 0; + ADMUX = (1 << REFS1) | (1 << REFS0); + /* select channel x (0 for now) */ + ADMUX |= 0x0; + ADCSRA = (1 << ADEN) | (1 << ADIE) | (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0); +} + +/* reads ADC */ +static void start_temp_conv(void) +{ + ADCSRA |= (1<