From: Michael Wiebusch Date: Wed, 7 Jan 2015 17:57:37 +0000 (+0100) Subject: added button control and PID controller to Peltier cooling device firmware X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=a714e49426323f8e73ee2cb2833372768475a301;p=avr.git added button control and PID controller to Peltier cooling device firmware --- diff --git a/atmega32u4/Pro_Micro_v13_schematic.pdf b/atmega32u4/Pro_Micro_v13_schematic.pdf new file mode 100644 index 0000000..b9c4ff6 Binary files /dev/null and b/atmega32u4/Pro_Micro_v13_schematic.pdf differ diff --git a/atmega32u4/cooler/cooler.c b/atmega32u4/cooler/cooler.c index 550a196..e70d2dd 100644 --- a/atmega32u4/cooler/cooler.c +++ b/atmega32u4/cooler/cooler.c @@ -2,6 +2,12 @@ #include "main.h" +#define SET_VAL_UPPER 30*16 //upper limit to set value +#define SET_VAL_LOWER -10*16 //lower limit to set value + +#define MAX(x,y) (((x) > (y)) ? (x) : (y)) +#define MIN(x,y) (((x) < (y)) ? (x) : (y)) + #define YELLOW_ON() PORTB &= ~0x1 #define YELLOW_OFF() PORTB |= 0x1 #define GREEN_ON() PORTD &= ~(1<= 8 && buffer[0] == 'S' && buffer[1] == 'E' && buffer[2] == 'T') { //SETsvv.v uint16_t t = hex2int(buffer[4])*160 + hex2int(buffer[5])*16 + (((hex2int(buffer[7])*16+8)/10)&0xF); if (buffer[3] == '-') t = t*-1; - set_value = t; + new_set_value(t); pushvalue(1,t); } if(n==10) { @@ -240,12 +350,26 @@ __attribute__((naked)) int main(void) { recvpointer = 0; } } + + if(key_was_pressed(1<