#ifndef __DISPLAY_H
#define __DISPLAY_H

#include <avr/pgmspace.h>
#include "lcd/lcd.h"
#include "main.h"


#define LCD_CHAR_HALFBAR 0x01
#define LCD_CHAR_BAR     0x02
#define LCD_CHAR_DEGREE  0x03
#define LCD_CHAR_BLANK   0x20

extern uint8_t newThermoData1;
extern uint16_t thermoData[];


extern const prog_uint8_t lcd_halfbar_char[];
extern const prog_uint8_t lcd_bar_char[];
extern const prog_uint8_t lcd_degree_char[];

extern void lcd_defchar(uint8_t contr, uint8_t addr, const prog_uint8_t * chargraph);

extern void display_put_eol();
extern void display_puts(const char * printstr);
extern void display_puts_P(const prog_char * printstr);
extern void display_putc(char printchar);
extern void display_fillblank();
extern void display_gotoyx(uint8_t y, uint8_t x);
extern void display_update();
extern void display_force_redraw();

extern int16_t intexp10(int8_t a);
extern void display_temperature(int16_t temperature);
extern char getdigit(int16_t *input, int16_t div, int8_t *fillzero);

extern void display_puthex(uint8_t outbyte);
extern void display_bar(int8_t value, int8_t min, int8_t max);
extern void display_putint(int16_t number);

extern void updateTemperature();

#endif
