display.cpp 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. #include <Adafruit_GFX.h>
  2. #include <Adafruit_SSD1306.h>
  3. #include <Wire.h>
  4. #include <logger.h>
  5. #include "display.h"
  6. #include "pins.h"
  7. extern logging::Logger logger;
  8. Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST);
  9. // cppcheck-suppress unusedFunction
  10. void setup_display() {
  11. pinMode(OLED_RST, OUTPUT);
  12. digitalWrite(OLED_RST, LOW);
  13. delay(20);
  14. digitalWrite(OLED_RST, HIGH);
  15. Wire.begin(OLED_SDA, OLED_SCL);
  16. if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3c, false, false)) {
  17. logger.log(logging::LoggerLevel::LOGGER_LEVEL_ERROR, "SSD1306", "allocation failed!");
  18. while (true) {
  19. }
  20. }
  21. display.clearDisplay();
  22. display.setTextColor(WHITE);
  23. display.setTextSize(1);
  24. display.setCursor(0, 0);
  25. display.print("LORA SENDER ");
  26. display.ssd1306_command(SSD1306_SETCONTRAST);
  27. display.ssd1306_command(1);
  28. display.display();
  29. }
  30. // cppcheck-suppress unusedFunction
  31. void display_toggle(bool toggle) {
  32. if (toggle) {
  33. display.ssd1306_command(SSD1306_DISPLAYON);
  34. } else {
  35. display.ssd1306_command(SSD1306_DISPLAYOFF);
  36. }
  37. }
  38. // cppcheck-suppress unusedFunction
  39. void show_display(String header, int wait) {
  40. display.clearDisplay();
  41. display.setTextColor(WHITE);
  42. display.setTextSize(2);
  43. display.setCursor(0, 0);
  44. display.println(header);
  45. display.ssd1306_command(SSD1306_SETCONTRAST);
  46. display.ssd1306_command(1);
  47. display.display();
  48. delay(wait);
  49. }
  50. // cppcheck-suppress unusedFunction
  51. void show_display(String header, String line1, int wait) {
  52. display.clearDisplay();
  53. display.setTextColor(WHITE);
  54. display.setTextSize(2);
  55. display.setCursor(0, 0);
  56. display.println(header);
  57. display.setTextSize(1);
  58. display.setCursor(0, 16);
  59. display.println(line1);
  60. display.ssd1306_command(SSD1306_SETCONTRAST);
  61. display.ssd1306_command(1);
  62. display.display();
  63. delay(wait);
  64. }
  65. // cppcheck-suppress unusedFunction
  66. void show_display(String header, String line1, String line2, int wait) {
  67. display.clearDisplay();
  68. display.setTextColor(WHITE);
  69. display.setTextSize(2);
  70. display.setCursor(0, 0);
  71. display.println(header);
  72. display.setTextSize(1);
  73. display.setCursor(0, 16);
  74. display.println(line1);
  75. display.setCursor(0, 26);
  76. display.println(line2);
  77. display.ssd1306_command(SSD1306_SETCONTRAST);
  78. display.ssd1306_command(1);
  79. display.display();
  80. delay(wait);
  81. }
  82. // cppcheck-suppress unusedFunction
  83. void show_display(String header, String line1, String line2, String line3, int wait) {
  84. display.clearDisplay();
  85. display.setTextColor(WHITE);
  86. display.setTextSize(2);
  87. display.setCursor(0, 0);
  88. display.println(header);
  89. display.setTextSize(1);
  90. display.setCursor(0, 16);
  91. display.println(line1);
  92. display.setCursor(0, 26);
  93. display.println(line2);
  94. display.setCursor(0, 36);
  95. display.println(line3);
  96. display.ssd1306_command(SSD1306_SETCONTRAST);
  97. display.ssd1306_command(1);
  98. display.display();
  99. delay(wait);
  100. }
  101. // cppcheck-suppress unusedFunction
  102. void show_display(String header, String line1, String line2, String line3, String line4, int wait) {
  103. display.clearDisplay();
  104. display.setTextColor(WHITE);
  105. display.setTextSize(2);
  106. display.setCursor(0, 0);
  107. display.println(header);
  108. display.setTextSize(1);
  109. display.setCursor(0, 16);
  110. display.println(line1);
  111. display.setCursor(0, 26);
  112. display.println(line2);
  113. display.setCursor(0, 36);
  114. display.println(line3);
  115. display.setCursor(0, 46);
  116. display.println(line4);
  117. display.ssd1306_command(SSD1306_SETCONTRAST);
  118. display.ssd1306_command(1);
  119. display.display();
  120. delay(wait);
  121. }
  122. // cppcheck-suppress unusedFunction
  123. void show_display(String header, String line1, String line2, String line3, String line4, String line5, int wait) {
  124. display.clearDisplay();
  125. display.setTextColor(WHITE);
  126. display.setTextSize(2);
  127. display.setCursor(0, 0);
  128. display.println(header);
  129. display.setTextSize(1);
  130. display.setCursor(0, 16);
  131. display.println(line1);
  132. display.setCursor(0, 26);
  133. display.println(line2);
  134. display.setCursor(0, 36);
  135. display.println(line3);
  136. display.setCursor(0, 46);
  137. display.println(line4);
  138. display.setCursor(0, 56);
  139. display.println(line5);
  140. display.ssd1306_command(SSD1306_SETCONTRAST);
  141. display.ssd1306_command(1);
  142. display.display();
  143. delay(wait);
  144. }