Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 105 → Rev 106

/Transportables_Koptertool/displ_val.c
0,0 → 1,83
 
#include <avr/io.h>
#include <inttypes.h>
#include <stdlib.h>
#include <avr/pgmspace.h>
 
#include "main.h"
#include "base64.h"
#include "lcd.h"
#include "rs232.h"
 
// Insgesamt 32 Werte können angezeigt werden
// jeweils 8 Stück werden gleichzeitg angezeigt
// Auswahl über Tasten
 
uint8_t displ_page;
 
 
void displ_get_text(uint8_t number)
{
uint8_t text[17];
uint8_t i;
p_buffer[0] = '#';
p_buffer[1] = 'a';
p_buffer[2] = 'a';
p_buffer[3] = number;
p_buffer[4] = 0;
p_buffer[5] = 0;
base64_send(6);
 
do
{
get_message();
}
while (r_buffer[1] != 'A');
 
for (i=0;i<16;i++)
text[i] = p_buffer[i];
text[16] = 0x00;
lcd_print_at(0,(number & 0x07),text,0);
}
 
void displ_values(void)
{
uint8_t displ_page, i;
int16_t value;
uint8_t text[17];
 
displ_page = 0; // Page 0..3 (4 Pages zu je 8 Werte)
lcd_cls(); // LCD löschen
do
{
for (i=0;i<8;i++) // Texte lesen und anzeigen
displ_get_text(i+displ_page*8);
do
{
get_message();
if(r_buffer[1] == 'D')
{
for (i=0;i<8;i++)
{
value = p_buffer[i*2+displ_page*16+2] + 256*p_buffer[i*2+displ_page*16+3];
itoa(value,text,10);
lcd_print_atp(14,i,PSTR(" "),0);
lcd_print_at(14,i,text,0);
}
}
}
while (key == 0x00);
if (key == 0x01)
displ_page++;
if (key == 0x02)
displ_page--;
displ_page &= 0x03;
}
while(key != 0x08);
}