Small bitmap-library to use with monocrome displays.

Committer:
glx
Date:
Fri Aug 31 16:10:15 2018 +0000
Revision:
6:c558f38d07ca
Parent:
1:e52881eae197
Bugfix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
glx 1:e52881eae197 1 //Helper-functions to convert an int to a displayable char[]
glx 1:e52881eae197 2
glx 1:e52881eae197 3 void IntToChar(char *CharBuffer, int Number) //Only works for positive numbers
glx 1:e52881eae197 4 {
glx 1:e52881eae197 5
glx 1:e52881eae197 6 char TempBuffer[32];
glx 1:e52881eae197 7 char index = 0;
glx 1:e52881eae197 8
glx 1:e52881eae197 9 do
glx 1:e52881eae197 10 {
glx 1:e52881eae197 11 char Rest = Number % 10;
glx 1:e52881eae197 12 Number = Number / 10;
glx 1:e52881eae197 13
glx 1:e52881eae197 14 TempBuffer[index] = Rest + 0x30;
glx 1:e52881eae197 15 index++;
glx 1:e52881eae197 16 }
glx 1:e52881eae197 17 while (Number > 0);
glx 1:e52881eae197 18
glx 1:e52881eae197 19 for (int i = 0; i < index; i++)
glx 1:e52881eae197 20 {
glx 1:e52881eae197 21 CharBuffer[i] = TempBuffer[index - i - 1];
glx 1:e52881eae197 22 }
glx 1:e52881eae197 23 CharBuffer[index] = '\0';
glx 1:e52881eae197 24 }
glx 1:e52881eae197 25
glx 1:e52881eae197 26
glx 1:e52881eae197 27 void IntToChar(char *CharBuffer, int Number, char Digits) //Only works for positive numbers, adds leading 0s to numbers
glx 1:e52881eae197 28 {
glx 1:e52881eae197 29
glx 1:e52881eae197 30 char TempBuffer[32];
glx 1:e52881eae197 31 char index = 0;
glx 1:e52881eae197 32
glx 1:e52881eae197 33 do
glx 1:e52881eae197 34 {
glx 1:e52881eae197 35 char Rest = Number % 10;
glx 1:e52881eae197 36 Number = Number / 10;
glx 1:e52881eae197 37
glx 1:e52881eae197 38 TempBuffer[index] = Rest + 0x30;
glx 1:e52881eae197 39 index++;
glx 1:e52881eae197 40 }
glx 1:e52881eae197 41 while (Number > 0);
glx 1:e52881eae197 42
glx 1:e52881eae197 43 while (index < Digits)
glx 1:e52881eae197 44 {
glx 1:e52881eae197 45 TempBuffer[index + 1] = TempBuffer[index];
glx 1:e52881eae197 46 TempBuffer[index] = 0x30;
glx 1:e52881eae197 47 index++;
glx 1:e52881eae197 48 }
glx 1:e52881eae197 49
glx 1:e52881eae197 50 for (int i = 0; i < index; i++)
glx 1:e52881eae197 51 {
glx 1:e52881eae197 52 CharBuffer[i] = TempBuffer[index - i - 1];
glx 1:e52881eae197 53 }
glx 1:e52881eae197 54
glx 1:e52881eae197 55 CharBuffer[index] = '\0';
glx 1:e52881eae197 56 }
glx 1:e52881eae197 57
glx 1:e52881eae197 58 void CombineChars(char *Destination, char *Source) //Combines two char[]
glx 1:e52881eae197 59 {
glx 1:e52881eae197 60 int ArrayIndex = 0;
glx 1:e52881eae197 61
glx 1:e52881eae197 62 while(ArrayIndex < 255)
glx 1:e52881eae197 63 {
glx 1:e52881eae197 64 if(Destination[ArrayIndex] == '\0') break;
glx 1:e52881eae197 65 ArrayIndex++;
glx 1:e52881eae197 66 }
glx 1:e52881eae197 67
glx 1:e52881eae197 68 for(int i = 0; i < 255; i++)
glx 1:e52881eae197 69 {
glx 1:e52881eae197 70 if(Source[i] == '\0') break;
glx 1:e52881eae197 71 else Destination[ArrayIndex] = Source[i];
glx 1:e52881eae197 72 ArrayIndex++;
glx 1:e52881eae197 73 }
glx 1:e52881eae197 74
glx 1:e52881eae197 75 Destination[ArrayIndex] = '\0';
glx 1:e52881eae197 76
glx 1:e52881eae197 77 }