Guest User

Untitled

a guest
Jan 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <MeggyJrSimple.h>
  3. #include "Font.h"
  4.  
  5. char char_temp[] = {'0', '0'};
  6. int image[64];
  7. int temp_text[64];
  8. int icon_image[64];
  9. int pos = 0;
  10. int temp_pos = 0;
  11. char msg = '0';
  12. char read_mode= 'T';
  13.  
  14. void display_image();
  15. void display_temp();
  16.  
  17. void setup() {
  18. MeggyJrSimpleSetup();
  19. Serial.begin(9600);
  20. }
  21.  
  22. void loop() {
  23. ClearSlate();
  24.  
  25. while (Serial.available() > 0) {
  26. msg = Serial.read();
  27. if (msg == 'N') {
  28. read_mode = 'N';
  29. pos = 0;
  30. }
  31. else if (msg == 'T') {
  32. read_mode = 'T';
  33. temp_pos = 0;
  34. }
  35. else {
  36. if (read_mode == 'N') {
  37. icon_image[pos] = msg - '0';
  38. pos++;
  39. }
  40.  
  41. if (read_mode == 'T' && temp_pos < 2) {
  42. char_temp[temp_pos] = msg;
  43. Serial.println(msg);
  44. temp_pos++;
  45. }
  46. }
  47. }
  48.  
  49. if (read_mode == 'N' && pos == 63) {
  50. int i;
  51. for (i=0; i<64; i++) {
  52. image[i] = icon_image[i];
  53. }
  54. }
  55. else if (read_mode == 'T') {
  56. display_temp();
  57. }
  58.  
  59. display_image();
  60. DisplaySlate();
  61. }
  62.  
  63. void display_image() {
  64. int i;
  65. for (i=0; i<8; i++) {
  66. int j;
  67. for (j=0; j<8; j++) {
  68. DrawPx(j, 7-i, image[8*i+j]);
  69. }
  70. }
  71. }
  72.  
  73. void display_temp() {
  74. switch (char_temp[1]) {
  75. case '0':
  76. display_2nd(zero);
  77. break;
  78. case '1':
  79. display_2nd(one);
  80. break;
  81. case '2':
  82. display_2nd(two);
  83. break;
  84. case '3':
  85. display_2nd(three);
  86. break;
  87. case '4':
  88. display_2nd(four);
  89. break;
  90. case '5':
  91. display_2nd(five);
  92. break;
  93. case '6':
  94. display_2nd(six);
  95. break;
  96. case '7':
  97. display_2nd(seven);
  98. break;
  99. case '8':
  100. display_2nd(eight);
  101. break;
  102. case '9':
  103. display_2nd(nine);
  104. break;
  105. }
  106.  
  107. switch (char_temp[0]) {
  108. case '0':
  109. display_1st(zero);
  110. break;
  111. case '1':
  112. display_1st(one);
  113. break;
  114. case '2':
  115. display_1st(two);
  116. break;
  117. case '3':
  118. display_1st(three);
  119. break;
  120. case '4':
  121. display_1st(four);
  122. break;
  123. case '5':
  124. display_1st(five);
  125. break;
  126. case '6':
  127. display_1st(six);
  128. break;
  129. case '7':
  130. display_1st(seven);
  131. break;
  132. case '8':
  133. display_1st(eight);
  134. break;
  135. case '9':
  136. display_1st(nine);
  137. break;
  138. }
  139.  
  140. int i;
  141. for (i=0; i<64; i++) {
  142. image[i] = temp_text[i];
  143. }
  144. }
  145.  
  146. void display_1st(char figure[8][4]) {
  147. for (int i=0; i<8; i++) {
  148. for (int j=0; j<4; j++) {
  149. temp_text[8*i+j] = figure[i][j];
  150. }
  151. }
  152. }
  153.  
  154. void display_2nd(char figure[8][4]) {
  155. for (int i=0; i<8; i++) {
  156. for (int j=4; j<8; j++) {
  157. temp_text[8*i+j] = figure[i][j-4];
  158. }
  159. }
  160. }
Add Comment
Please, Sign In to add comment