uint8_t Out5x7Char(char charater, uint8_t  x, uint8_t y, uint8_t red, uint8_t green, uint8_t blue){
  switch (charater){
    case '0':
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x,y+1,5,red,green,blue);
      LineV(x+4,y+1,5,red,green,blue);
	    LineV(x+2,y+3,1,red,green,blue);
      return 5;
    break;
    case '1':
      LineV(x+2,y,7,red,green,blue);
      LineV(x+1,y+1,1,red,green,blue);
      LineV(x,y+2,1,red,green,blue);
      //LineV(x+1,y+3,1,red,green,blue);
      return 3;
    break;
    case '2':
        LineH(x,y+1,1,red,green,blue);
		LineH(x+1,y,3,red,green,blue);
		LineH(x+1,y+5,1,red,green,blue);
		LineH(x+2,y+4,1,red,green,blue);
		LineH(x+3,y+3,1,red,green,blue);
		LineH(x,y+6,5,red,green,blue);
		LineV(x+4,y+1,2,red,green,blue);
		//LineV(x,y+4,2,red,green,blue);
      return 5;
    break;
    case '3':
      LineH(x,y,4,red,green,blue);
      LineH(x+1,y+3,3,red,green,blue);
      LineH(x,y+6,4,red,green,blue);
      LineV(x+4,y+1,2,red,green,blue);
      LineV(x+4,y+4,2,red,green,blue);
      return 5;
    break;
    case '4':
      LineH(x,y+3,5,red,green,blue);
      LineV(x+4,y,7,red,green,blue);
      LineV(x,y,4,red,green,blue);
      return 5;
    break;
    case '5':
      LineH(x,y,5,red,green,blue);
      LineH(x,y+3,4,red,green,blue);
      LineH(x,y+6,4,red,green,blue);
      LineV(x,y,4,red,green,blue);
      LineV(x+4,y+4,2,red,green,blue);
      return 5;
    break;
    case '6':
      LineH(x+1,y,3,red,green,blue);
      LineH(x+4,y+1,1,red,green,blue);
      LineH(x,y+3,4,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x,y+1,5,red,green,blue);
      LineV(x+4,y+4,2,red,green,blue);
      return 5;
    break;
    case '7':
      LineH(x,y,5,red,green,blue);
      LineV(x+4,y+1,2,red,green,blue);
      LineV(x+3,y+3,2,red,green,blue);
      LineV(x+2,y+5,2,red,green,blue);
      return 5;
    break;
    case '8':
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+3,3,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x,y+1,2,red,green,blue);
      LineV(x+4,y+1,2,red,green,blue);
      LineV(x,y+4,2,red,green,blue);
      LineV(x+4,y+4,2,red,green,blue);
      return 5;
    break;
    case '9':
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+3,4,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x,y+1,2,red,green,blue);
      LineV(x+4,y+1,2,red,green,blue);
      LineV(x+4,y+4,2,red,green,blue);
      return 5;
    break;
    case ':':
      LineV(x,y+2,1,red,green,blue);
      LineV(x,y+4,1,red,green,blue);
      return 1;
    break;
    case '.':
      LineV(x,y+6,1,red,green,blue);
      return 1;
    break;
    case '-':
      LineH(x,y+3,3,red,green,blue);
      return 3;
    break;
    case ' ':
      return 1;
    break;
    case '!':
      LineV(x,y,5,red,green,blue);
      LineV(x,y+6,1,red,green,blue);
      return 1;
    break;
    case 'A':
      LineV(x,y+1,6,red,green,blue);
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+3,3,red,green,blue);
      LineV(x+4,y+1,6,red,green,blue);
      return 5;
    break;
    case 'C':
      LineV(x,y+1,5,red,green,blue);
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x+4,y+1,1,red,green,blue);
      LineV(x+4,y+5,1,red,green,blue);
      return 5;
    break;
	case 'D':
      LineV(x,y,7,red,green,blue);
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x+4,y+1,5,red,green,blue);
      return 5;
    break;
    case 'E':
      LineV(x,y,7,red,green,blue);
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+3,2,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      return 4;
    break;
    case 'F':
      LineV(x,y,7,red,green,blue);
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+3,2,red,green,blue);
      return 4;
    break;
    case 'G':
      LineV(x,y+1,5,red,green,blue);
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineH(x+2,y+3,2,red,green,blue);
      LineV(x+4,y+1,1,red,green,blue);
      LineV(x+4,y+3,4,red,green,blue);
      return 5;
    break;
    case 'H':
      LineH(x,y+3,5,red,green,blue);
      LineV(x,y,7,red,green,blue);
      LineV(x+4,y,7,red,green,blue);
      return 5;
    break;
    case 'I':
      LineV(x+1,y+1,5,red,green,blue);
      LineH(x,y,3,red,green,blue);
      LineH(x,y+6,3,red,green,blue);
      return 3;
    break;
    case 'K':
      LineV(x,y,7,red,green,blue);
      LineH(x+1,y+3,1,red,green,blue);
      LineH(x+2,y+2,1,red,green,blue);
      LineH(x+2,y+4,1,red,green,blue);
      LineH(x+3,y+1,1,red,green,blue);
      LineH(x+3,y+5,1,red,green,blue);
      LineH(x+4,y,1,red,green,blue);
      LineH(x+4,y+6,1,red,green,blue);
      return 5;
    break;
	 case 'M':
      LineV(x,y,7,red,green,blue);
      LineV(x+1,y+1,1,red,green,blue);
      LineV(x+2,y+2,2,red,green,blue);
      LineV(x+3,y+1,1,red,green,blue);
      LineV(x+4,y,7,red,green,blue);
      return 5;
    break;
    case 'N':
      LineV(x,y,7,red,green,blue);
      LineV(x+1,y+1,1,red,green,blue);
      LineV(x+2,y+2,1,red,green,blue);
      LineV(x+3,y+3,1,red,green,blue);
      LineV(x+4,y,7,red,green,blue);
      return 5;
    break;
	case 'O':
      LineH(x+1,y,3,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x,y+1,5,red,green,blue);
      LineV(x+4,y+1,5,red,green,blue);
      return 5;
    break;
    case 'P':
      LineH(x,y,4,red,green,blue);
      LineV(x,y+1,6,red,green,blue);
      LineV(x+4,y+1,2,red,green,blue);
      LineH(x+1,y+3,3,red,green,blue);
      return 5;
    break;
    case 'R':
      LineH(x,y,4,red,green,blue);
      LineV(x,y+1,6,red,green,blue);
      LineV(x+4,y+1,2,red,green,blue);
      LineH(x+1,y+3,3,red,green,blue);
      LineH(x+2,y+4,1,red,green,blue);
      LineH(x+3,y+5,1,red,green,blue);
      LineH(x+4,y+6,1,red,green,blue);
      return 5;
    break;
    case 'S':
      LineH(x+1,y,3,red,green,blue);
      LineV(x,y+1,2,red,green,blue);
      LineV(x+4,y+1,1,red,green,blue);
      LineH(x+1,y+3,3,red,green,blue);
      LineV(x+4,y+4,2,red,green,blue);
      LineV(x,y+5,1,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      return 5;
    break;
    case 'T':
      LineH(x,y,5,red,green,blue);
      LineV(x+2,y+1,6,red,green,blue);
      return 5;
    break;
    case 'U':
      LineV(x,y,6,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      LineV(x+4,y,6,red,green,blue);
      return 5;
    break;
	case 'V':
      LineV(x,y,5,red,green,blue);
	  LineV(x+4,y,5,red,green,blue);
      LineV(x+1,y+5,1,red,green,blue);
	  LineV(x+2,y+6,1,red,green,blue);
      LineV(x+3,y+5,1,red,green,blue);
      return 5;
    break;
    case 'W':
      LineV(x,y,7,red,green,blue);
      LineV(x+4,y,7,red,green,blue);
      LineV(x+1,y+5,1,red,green,blue);
      LineV(x+3,y+5,1,red,green,blue);
      LineV(x+2,y+4,1,red,green,blue);
      return 5;
    break;
    case 'Z':
      LineH(x,y,5,red,green,blue);
      LineH(x,y+6,5,red,green,blue);
      LineV(x+4,y+1,1,red,green,blue);
      LineV(x+3,y+2,1,red,green,blue);
      LineV(x+2,y+3,1,red,green,blue);
      LineV(x+1,y+4,1,red,green,blue);
      LineV(x,y+5,1,red,green,blue);
      return 5;
    break;
    case 'a':
      LineV(x,y+3,3,red,green,blue);
      LineV(x+3,y+3,4,red,green,blue);
      LineH(x+1,y+2,2,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      return 4;
    break;
	case 'b':
      LineV(x,y,7,red,green,blue);
      LineH(x+2,y+2,2,red,green,blue);
      LineH(x+1,y+3,1,red,green,blue);
      LineV(x+4,y+3,3,red,green,blue);
	  LineH(x+1,y+6,3,red,green,blue);
      return 4;
    break;
	case 'c':
      LineV(x,y+3,3,red,green,blue);
      LineH(x+1,y+2,2,red,green,blue);
	  LineH(x+3,y+5,1,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      return 4;
    break;
    case 'd':
      LineV(x,y+3,3,red,green,blue);
      LineV(x+3,y,7,red,green,blue);
      LineH(x+1,y+2,2,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      return 4;
    break;
    case 'e':
      LineV(x,y+3,3,red,green,blue);
      LineV(x+3,y+3,1,red,green,blue);
      LineH(x+1,y+2,2,red,green,blue);
      LineH(x+1,y+4,2,red,green,blue);
      LineH(x+1,y+6,3,red,green,blue);
      return 4;
    break;
	case 'f':
      LineV(x+1,y+1,6,red,green,blue);
      LineV(x+2,y,1,red,green,blue);
	  LineV(x+3,y+1,1,red,green,blue);
      LineH(x,y+3,3,red,green,blue);
      return 3;
    break;
	case 'g':
      LineV(x,y+3,1,red,green,blue);
      LineV(x+3,y+2,4,red,green,blue);
      LineH(x+1,y+2,2,red,green,blue);
      LineH(x+1,y+4,2,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      return 4;
    break;
	case 'i':
      LineV(x,y+1,1,red,green,blue);
	  LineV(x,y+3,4,red,green,blue);
      return 1;
    break;
	case 'j':
      LineV(x,y+5,1,red,green,blue);
	  LineV(x+1,y+2,1,red,green,blue);
	  LineV(x+1,y+6,1,red,green,blue);
	  LineV(x+2,y,1,red,green,blue);
	  LineV(x+2,y+2,4,red,green,blue);
      return 3;
    break;
	case 'k':
      LineV(x,y,7,red,green,blue);
      LineV(x+1,y+4,1,red,green,blue);
	  LineV(x+2,y+3,1,red,green,blue);
	  LineV(x+2,y+5,1,red,green,blue);
	  LineV(x+3,y+2,1,red,green,blue);
	  LineV(x+3,y+6,1,red,green,blue);
      return 4;
    break;
    case 'l':
      LineV(x,y,7,red,green,blue);
      return 1;
    break;
	case 'm':
      LineV(x,y+2,5,red,green,blue);
      LineV(x+1,y+2,1,red,green,blue);
      LineV(x+2,y+3,4,red,green,blue);
      LineV(x+3,y+2,1,red,green,blue);
      LineV(x+4,y+3,4,red,green,blue);
      return 5;
    break;
    case 'n':
      LineV(x,y+2,5,red,green,blue);
      LineV(x+3,y+2,5,red,green,blue);
      LineH(x+1,y+3,1,red,green,blue);
      LineH(x+2,y+2,1,red,green,blue);
      return 4;
    break;
    case 'o':
      LineH(x+1,y+2,2,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      LineV(x,y+3,3,red,green,blue);
      LineV(x+3,y+3,3,red,green,blue);
      return 4;
    break;
	case 'p':
      LineV(x,y+2,5,red,green,blue);
      LineH(x+1,y+2,2,red,green,blue);
	  LineH(x+1,y+4,2,red,green,blue);
	  LineV(x+3,y+3,1,red,green,blue);
      return 4;
    break;
	case 'r':
      LineV(x,y+2,5,red,green,blue);
      LineH(x+1,y+3,1,red,green,blue);
	  LineH(x+2,y+2,1,red,green,blue);
	  LineV(x+3,y+3,1,red,green,blue);
      return 4;
    break;
    case 's':
      LineH(x+1,y+2,3,red,green,blue);
      LineH(x+1,y+4,2,red,green,blue);
      LineH(x,y+6,3,red,green,blue);
      LineV(x,y+3,1,red,green,blue);
      LineV(x+3,y+5,1,red,green,blue);
      return 4;
    break;
	case 't':
      LineV(x+1,y,6,red,green,blue);
      LineV(x+2,y+6,1,red,green,blue);
	  LineV(x+3,y+5,1,red,green,blue);
      LineH(x,y+2,3,red,green,blue);
      return 4;
    break;
    case 'u':
      LineV(x,y+2,4,red,green,blue);
      LineV(x+3,y+2,4,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      return 4;
    break;
	case 'y':
      LineV(x,y+2,2,red,green,blue);
      LineV(x+3,y+2,4,red,green,blue);
	  LineH(x+1,y+4,2,red,green,blue);
      LineH(x+1,y+6,2,red,green,blue);
      return 4;
    break;
	case 'v':
      LineV(x,y+2,4,red,green,blue);
      LineV(x+2,y+2,4,red,green,blue);
	  //LineH(x+1,y+5,2,red,green,blue);
      LineH(x+1,y+6,1,red,green,blue);
      return 3;
    break;
    case 'z':
      LineH(x,y+2,4,red,green,blue);
      LineH(x,y+6,4,red,green,blue);
      LineH(x+3,y+3,1,red,green,blue);
      LineH(x+2,y+4,1,red,green,blue);
      LineH(x+1,y+5,1,red,green,blue);
      return 4;
    break;
  }
  return 0;
}

void show5x7(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 += Out5x7Char(text[b],x,y,red,green,blue)+1;
  }
  
}
