display state machine working
This commit is contained in:
274
my_src/oled.c
274
my_src/oled.c
@ -356,142 +356,144 @@ void LED_PrintBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned ch
|
||||
}
|
||||
}
|
||||
|
||||
void LED_PrintValueC(unsigned char x, unsigned char y, char data)
|
||||
{
|
||||
unsigned char i,j,k;
|
||||
if(data < 0)
|
||||
{
|
||||
LED_P6x8Char(x,y,'-');
|
||||
data = - data;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_P6x8Char(x,y,'+');
|
||||
}
|
||||
i = data/100;
|
||||
j = (data%100)/10;
|
||||
k = data%10;
|
||||
LED_P6x8Char(x+6,y,i+48);
|
||||
LED_P6x8Char(x+12,y,j+48);
|
||||
LED_P6x8Char(x+18,y,k+48);
|
||||
}
|
||||
|
||||
|
||||
void LED_PrintValueI(unsigned char x, unsigned char y, int data)
|
||||
{
|
||||
unsigned char i,j,k,l,m;
|
||||
if(data < 0)
|
||||
{
|
||||
LED_P6x8Char(x,y,'-');
|
||||
data = - data;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_P6x8Char(x,y,'+');
|
||||
}
|
||||
|
||||
l = data/10000;
|
||||
m= (data%10000)/1000;
|
||||
i = (data%1000)/100;
|
||||
j = (data%100)/10;
|
||||
k = data%10;
|
||||
LED_P6x8Char(x+6,y,l+48);
|
||||
LED_P6x8Char(x+12,y,m+48);
|
||||
LED_P6x8Char(x+18,y,i+48);
|
||||
LED_P6x8Char(x+24,y,j+48);
|
||||
LED_P6x8Char(x+30,y,k+48);
|
||||
}
|
||||
|
||||
void LED_PrintValueFP(unsigned char x, unsigned char y, unsigned int data, unsigned char num)
|
||||
{
|
||||
unsigned char m,i,j,k;
|
||||
LED_P6x8Char(x, y, '.');
|
||||
m= data/1000;
|
||||
i = (data%1000)/100;
|
||||
j = (data%100)/10;
|
||||
k = data%10;
|
||||
switch(num)
|
||||
{
|
||||
case 1: LED_P6x8Char(x+6,y,k+48);
|
||||
break;
|
||||
case 2: LED_P6x8Char(x+6,y,j+48);
|
||||
LED_P6x8Char(x+12,y,k+48);
|
||||
break;
|
||||
case 3: LED_P6x8Char(x+6,y,i+48);
|
||||
LED_P6x8Char(x+12,y,j+48);
|
||||
LED_P6x8Char(x+18,y,k+48);
|
||||
break;
|
||||
case 4: LED_P6x8Char(x+6,y,m+48);
|
||||
LED_P6x8Char(x+12,y,i+48);
|
||||
LED_P6x8Char(x+18,y,j+48);
|
||||
LED_P6x8Char(x+24,y,k+48);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LED_PrintValueF(unsigned char x, unsigned char y, float data, unsigned char num)
|
||||
{
|
||||
unsigned char l,m,i,j,k;
|
||||
unsigned char databiti = 6;
|
||||
unsigned int tempdataui = 0;
|
||||
int tempdataii = (int)data;
|
||||
long int tempdatalp = (long int)((data - (int)data)*10000);
|
||||
|
||||
|
||||
if(data < 0.0000001) LED_P6x8Char(x, y,'-');
|
||||
else LED_P6x8Char(x, y,'+');
|
||||
if(tempdataii < 0)tempdataii = - tempdataii;
|
||||
tempdataui = tempdataii;
|
||||
l = tempdataui/10000;
|
||||
m= (tempdataui%10000)/1000;
|
||||
i = (tempdataui%1000)/100;
|
||||
j = (tempdataui%100)/10;
|
||||
k = tempdataui%10;
|
||||
if (l != 0)
|
||||
{
|
||||
LED_P6x8Char(x+6,y,l+48);
|
||||
LED_P6x8Char(x+12,y,m+48);
|
||||
LED_P6x8Char(x+18,y,i+48);
|
||||
LED_P6x8Char(x+24,y,j+48);
|
||||
LED_P6x8Char(x+30,y,k+48);
|
||||
}
|
||||
else if(m != 0)
|
||||
{
|
||||
databiti = 5;
|
||||
LED_P6x8Char(x+6,y,m+48);
|
||||
LED_P6x8Char(x+12,y,i+48);
|
||||
LED_P6x8Char(x+18,y,j+48);
|
||||
LED_P6x8Char(x+24,y,k+48);
|
||||
}
|
||||
else if(i != 0)
|
||||
{
|
||||
databiti = 4;
|
||||
LED_P6x8Char(x+6,y,i+48);
|
||||
LED_P6x8Char(x+12,y,j+48);
|
||||
LED_P6x8Char(x+18,y,k+48);
|
||||
}
|
||||
else if(j != 0)
|
||||
{
|
||||
databiti = 3;
|
||||
LED_P6x8Char(x+6,y,j+48);
|
||||
LED_P6x8Char(x+12,y,k+48);
|
||||
}
|
||||
else
|
||||
{
|
||||
databiti = 2;
|
||||
LED_P6x8Char(x+6,y,k+48);
|
||||
}
|
||||
if(tempdatalp < 0)tempdatalp = - tempdatalp;
|
||||
switch(num)
|
||||
{
|
||||
case 0: break;
|
||||
case 1: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 1000),num);break;
|
||||
case 2: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 100),num);break;
|
||||
case 3: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 10),num);break;
|
||||
case 4: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp),num);break;
|
||||
}
|
||||
}
|
||||
//void LED_PrintValueC(unsigned char x, unsigned char y, char data)
|
||||
//{
|
||||
// unsigned char i,j,k;
|
||||
// if(data < 0)
|
||||
// {
|
||||
// LED_P6x8Char(x,y,'-');
|
||||
// data = - data;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LED_P6x8Char(x,y,'+');
|
||||
// }
|
||||
// i = data/100;
|
||||
// j = (data%100)/10;
|
||||
// k = data%10;
|
||||
// LED_P6x8Char(x+6,y,i+48);
|
||||
// LED_P6x8Char(x+12,y,j+48);
|
||||
// LED_P6x8Char(x+18,y,k+48);
|
||||
//}
|
||||
//
|
||||
//
|
||||
//void LED_PrintValueI(unsigned char x, unsigned char y, int data)
|
||||
//{
|
||||
// unsigned char i,j,k,l,m;
|
||||
// if(data < 0)
|
||||
// {
|
||||
// LED_P6x8Char(x,y,'-');
|
||||
// data = - data;
|
||||
// }
|
||||
//// else
|
||||
//// {
|
||||
//// LED_P6x8Char(x,y,'+');
|
||||
//// }
|
||||
//
|
||||
// l = data/10000;
|
||||
// m= (data%10000)/1000;
|
||||
// i = (data%1000)/100;
|
||||
// j = (data%100)/10;
|
||||
// k = data%10;
|
||||
//
|
||||
// unsigned char c;
|
||||
// c = (l == 0) ? ' ' : (l + 48); LED_P6x8Char(x+6,y,c);
|
||||
// c = (m == 0 && l == 0) ? ' ' : (m + 48); LED_P6x8Char(x+12,y,c);
|
||||
// c = (i == 0 && m == 0 && l == 0) ? ' ' : (i + 48); LED_P6x8Char(x+18,y,c);
|
||||
// c = (j == 0 && i == 0 && m == 0 && l == 0) ? ' ' : (j + 48); LED_P6x8Char(x+24,y,c);
|
||||
// LED_P6x8Char(x+30,y,k+48);
|
||||
//}
|
||||
//
|
||||
//void LED_PrintValueFP(unsigned char x, unsigned char y, unsigned int data, unsigned char num)
|
||||
//{
|
||||
// unsigned char m,i,j,k;
|
||||
// LED_P6x8Char(x, y, '.');
|
||||
// m= data/1000;
|
||||
// i = (data%1000)/100;
|
||||
// j = (data%100)/10;
|
||||
// k = data%10;
|
||||
// switch(num)
|
||||
// {
|
||||
// case 1: LED_P6x8Char(x+6,y,k+48);
|
||||
// break;
|
||||
// case 2: LED_P6x8Char(x+6,y,j+48);
|
||||
// LED_P6x8Char(x+12,y,k+48);
|
||||
// break;
|
||||
// case 3: LED_P6x8Char(x+6,y,i+48);
|
||||
// LED_P6x8Char(x+12,y,j+48);
|
||||
// LED_P6x8Char(x+18,y,k+48);
|
||||
// break;
|
||||
// case 4: LED_P6x8Char(x+6,y,m+48);
|
||||
// LED_P6x8Char(x+12,y,i+48);
|
||||
// LED_P6x8Char(x+18,y,j+48);
|
||||
// LED_P6x8Char(x+24,y,k+48);
|
||||
// break;
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//
|
||||
//void LED_PrintValueF(unsigned char x, unsigned char y, float data, unsigned char num)
|
||||
//{
|
||||
// unsigned char l,m,i,j,k;
|
||||
// unsigned char databiti = 6;
|
||||
// unsigned int tempdataui = 0;
|
||||
// int tempdataii = (int)data;
|
||||
// long int tempdatalp = (long int)((data - (int)data)*10000);
|
||||
//
|
||||
//
|
||||
// if(data < 0.0000001) LED_P6x8Char(x, y,'-');
|
||||
// else LED_P6x8Char(x, y,'+');
|
||||
// if(tempdataii < 0)tempdataii = - tempdataii;
|
||||
// tempdataui = tempdataii;
|
||||
// l = tempdataui/10000;
|
||||
// m= (tempdataui%10000)/1000;
|
||||
// i = (tempdataui%1000)/100;
|
||||
// j = (tempdataui%100)/10;
|
||||
// k = tempdataui%10;
|
||||
// if (l != 0)
|
||||
// {
|
||||
// LED_P6x8Char(x+6,y,l+48);
|
||||
// LED_P6x8Char(x+12,y,m+48);
|
||||
// LED_P6x8Char(x+18,y,i+48);
|
||||
// LED_P6x8Char(x+24,y,j+48);
|
||||
// LED_P6x8Char(x+30,y,k+48);
|
||||
// }
|
||||
// else if(m != 0)
|
||||
// {
|
||||
// databiti = 5;
|
||||
// LED_P6x8Char(x+6,y,m+48);
|
||||
// LED_P6x8Char(x+12,y,i+48);
|
||||
// LED_P6x8Char(x+18,y,j+48);
|
||||
// LED_P6x8Char(x+24,y,k+48);
|
||||
// }
|
||||
// else if(i != 0)
|
||||
// {
|
||||
// databiti = 4;
|
||||
// LED_P6x8Char(x+6,y,i+48);
|
||||
// LED_P6x8Char(x+12,y,j+48);
|
||||
// LED_P6x8Char(x+18,y,k+48);
|
||||
// }
|
||||
// else if(j != 0)
|
||||
// {
|
||||
// databiti = 3;
|
||||
// LED_P6x8Char(x+6,y,j+48);
|
||||
// LED_P6x8Char(x+12,y,k+48);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// databiti = 2;
|
||||
// LED_P6x8Char(x+6,y,k+48);
|
||||
// }
|
||||
// if(tempdatalp < 0)tempdatalp = - tempdatalp;
|
||||
// switch(num)
|
||||
// {
|
||||
// case 0: break;
|
||||
// case 1: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 1000),num);break;
|
||||
// case 2: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 100),num);break;
|
||||
// case 3: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp / 10),num);break;
|
||||
// case 4: LED_PrintValueFP(x + databiti * 6, y, (unsigned int)(tempdatalp),num);break;
|
||||
// }
|
||||
//}
|
||||
|
||||
void LED_Cursor(unsigned char cursor_column, unsigned char cursor_row)
|
||||
{
|
||||
|
Reference in New Issue
Block a user