117 lines
3.0 KiB
C
117 lines
3.0 KiB
C
uint8_t Out3x5Char(char charater, uint8_t x, uint8_t y, uint8_t red,uint8_t green,uint8_t blue){
|
|
switch (charater){
|
|
case '0':
|
|
LineV(x,y,5,red,green,blue);
|
|
LineV(x+1,y,1,red,green,blue);
|
|
LineV(x+1,y+4,1,red,green,blue);
|
|
LineV(x+2,y,5,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '1':
|
|
LineV(x,y+2,1,red,green,blue);
|
|
LineV(x+1,y+1,1,red,green,blue);
|
|
LineV(x+2,y,5,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '2':
|
|
LineH(x,y,3,red,green,blue);
|
|
LineH(x+2,y+1,1,red,green,blue);
|
|
LineH(x+1,y+2,1,red,green,blue);
|
|
LineH(x,y+3,1,red,green,blue);
|
|
LineH(x,y+4,3,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '3':
|
|
LineH(x,y,3,red,green,blue);
|
|
LineH(x+2,y+1,1,red,green,blue);
|
|
LineH(x+1,y+2,2,red,green,blue);
|
|
LineH(x+2,y+3,1,red,green,blue);
|
|
LineH(x,y+4,3,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '4':
|
|
LineV(x,y,3,red,green,blue);
|
|
LineV(x+1,y+2,1,red,green,blue);
|
|
LineV(x+2,y,5,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '5':
|
|
LineH(x,y,3,red,green,blue);
|
|
LineH(x,y+1,1,red,green,blue);
|
|
LineH(x,y+2,3,red,green,blue);
|
|
LineH(x+2,y+3,1,red,green,blue);
|
|
LineH(x,y+4,3,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '6':
|
|
LineH(x,y,3,red,green,blue);
|
|
LineH(x,y+1,1,red,green,blue);
|
|
LineH(x,y+2,3,red,green,blue);
|
|
LineH(x,y+3,1,red,green,blue);
|
|
LineH(x+2,y+3,1,red,green,blue);
|
|
LineH(x,y+4,3,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '7':
|
|
LineH(x,y,3,red,green,blue);
|
|
LineH(x+2,y+1,1,red,green,blue);
|
|
LineV(x+1,y+2,3,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '8':
|
|
LineV(x,y,5,red,green,blue);
|
|
LineV(x+1,y,1,red,green,blue);
|
|
LineV(x+1,y+2,1,red,green,blue);
|
|
LineV(x+1,y+4,1,red,green,blue);
|
|
LineV(x+2,y,5,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case '9':
|
|
LineV(x,y,3,red,green,blue);
|
|
LineV(x,y+4,1,red,green,blue);
|
|
LineV(x+1,y,1,red,green,blue);
|
|
LineV(x+1,y+2,1,red,green,blue);
|
|
LineV(x+1,y+4,1,red,green,blue);
|
|
LineV(x+2,y,5,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case 'K':
|
|
LineV(x,y,5,red,green,blue);
|
|
LineV(x+2,y,2,red,green,blue);
|
|
LineV(x+1,y+2,1,red,green,blue);
|
|
LineV(x+2,y+3,2,red,green,blue);
|
|
return 3;
|
|
break;
|
|
case 'W':
|
|
LineV(x,y,5,red,green,blue);
|
|
LineV(x+1,y+3,2,red,green,blue);
|
|
LineV(x+2,y+2,2,red,green,blue);
|
|
LineV(x+3,y+3,2,red,green,blue);
|
|
LineV(x+4,y,5,red,green,blue);
|
|
return 5;
|
|
break;
|
|
case '.':
|
|
LineH(x,y+4,1,red,green,blue);
|
|
return 1;
|
|
break;
|
|
case ':':
|
|
LineH(x,y+1,1,red,green,blue);
|
|
LineH(x,y+3,1,red,green,blue);
|
|
return 1;
|
|
break;
|
|
case ' ':
|
|
LineV(x,y,5,0,0,0);
|
|
return 1;
|
|
break;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void show3x5(uint8_t x, uint8_t y, char text[] , uint8_t red, uint8_t green, uint8_t blue){
|
|
uint8_t textlen = strlen(text);
|
|
for(uint8_t b=0;b<textlen;b++){
|
|
x += Out3x5Char(text[b],x,y,red,green,blue)+1;
|
|
}
|
|
|
|
}
|