+ added function libraries to keep main.c clean + moved temprature calculus to fixed-point * fixed ADC driver messed up during dma_dev branch creation
39 lines
694 B
C
39 lines
694 B
C
#include "ui.h"
|
|
|
|
void update_temp(uint8_t id, int16_t t) {
|
|
|
|
if(id > 2) return; //protect from overflow
|
|
uint8_t* pos = temp_pos[id];
|
|
|
|
// prepare data
|
|
char str[16]; //longer, in case of error
|
|
t = t >> 8;
|
|
|
|
// convert int into str
|
|
uint32_t nb = num2str(str, t, 10);
|
|
|
|
// clear previous text
|
|
lcd_set_cursor(pos[0],pos[1]);
|
|
lcd_print(" ");
|
|
|
|
// prepare lcd for write
|
|
switch(nb) {
|
|
case 1:
|
|
lcd_set_cursor(pos[0]+2,pos[1]);
|
|
break;
|
|
case 2:
|
|
lcd_set_cursor(pos[0]+1,pos[1]);
|
|
break;
|
|
case 3:
|
|
lcd_set_cursor(pos[0],pos[1]);
|
|
break;
|
|
default: // something went wrong
|
|
lcd_set_cursor(pos[0],pos[1]);
|
|
lcd_print("Err");
|
|
return;
|
|
}
|
|
|
|
// write value
|
|
lcd_print(str);
|
|
}
|