This repository has been archived on 2024-01-28. You can view files and clone it, but cannot push or open issues or pull requests.
fan_monitor_old/src/ui.c
Steins7 3c7a09479c Got the display of all temps to work
+ added function libraries to keep main.c clean
+ moved temprature calculus to fixed-point
* fixed ADC driver messed up during dma_dev branch creation
2020-02-01 14:54:47 +01:00

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);
}