Blame |
Last modification |
View Log
| RSS feed
#include <avr/io.h>
#include <inttypes.h>
#include <stdlib.h>
#include <avr/pgmspace.h>
#include "main.h"
#include "lcd.h"
#include "rs232.h"
#include "base64.h"
#include "parameter.h"
#include "menu.h"
uint8_t read_display (uint8_t command) //
{
uint8_t timeout;
timeout = 0;
p_buffer[0] = '#'; // Display-Zeile anfordern
p_buffer[1] = 'a';
p_buffer[2] = 'h';
p_buffer[3] = command;
p_buffer[4] = 0;
p_buffer[5] = 0;
base64_send(6);
do // warten, bis die Parameter gesendet werden
{
if (get_message() == 1)
timeout = 10;
timeout ++;
}
while (((r_buffer[1] < '0') || (r_buffer[1] > '4')) && (timeout < 10));
if (timeout >= 10)
return 1;
else
return 0;
}
void display_data (void)
{
uint8_t line;
uint8_t text[10];
lcd_cls();
lcd_printp(PSTR("Display"),0);
do
{
while (key != 0x00);
if (read_display(0) == 1)
{
lcd_printp(PSTR("\r\nTimeout!"),0);
timer = 200;
while (timer > 0);
break;
}
else
{
line = r_buffer[1];
text[0] = line;
text[1] = 0x00;
lcd_print_at(10,0,text,0);
lcd_print_at(0,line+1,p_buffer,0);
timer = 10;
while(timer > 0);
if (key == 0x01)
read_display(1);
if (key == 0x02)
read_display(2);
}
}
while (key != 0x04);
}