Display SSD1306 for ESP32
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.5 KiB

  1. #include <SPI.h>
  2. #include <Wire.h>
  3. #include <Adafruit_GFX.h>
  4. #include <Adafruit_SSD1306.h>
  5. #define __DEBUG__
  6. #include "DisplayESP32_SSD1306.h"
  7. int i = 0;
  8. int multiplier = 1;
  9. int samples = 1000;
  10. Screen screen;
  11. Keyboard keyboard(13, 12, 14, 27, 30, &screen);
  12. void setup(){
  13. screen.configure(true, 0x3C);
  14. screen.createMenu(128, 13); //Menu 0
  15. screen.createCGraph("Test", 30, 50, 75, 30, 0, 100, 0, 25, 250, 0, &samples); //Graph 0
  16. screen.createModifier("Multiplier", &multiplier, 5, 1, 1); //Modifier 0
  17. screen.createModifier("Samples number", &samples, 1000, 500, 10); //Modifier 1
  18. screen.createOption(0, "Adjust multiplier", 2, 0);
  19. screen.createOption(0, "Adjust samples #", 2, 1);
  20. screen.createOption(0, "Run test", 1, 0);
  21. }
  22. void loop(){
  23. while(screen.getCurrentScreen() != 0 || screen.getContentType() != 1){
  24. screen.control(); //Controls the screen and redraws if needed while not in the test's graph
  25. keyboard.control();
  26. delay(REFRESH);
  27. }
  28. for(int j = 0; j <= samples; j++){
  29. if(i <= 100){
  30. screen.graphAssignValue(0, i); //Assigning a demo value to Graph 0
  31. i += multiplier;
  32. }
  33. else
  34. i = 0;
  35. screen.control();
  36. Serial.println(samples);
  37. delay(REFRESH);
  38. }
  39. while(screen.getCurrentScreen() == 0 && screen.getContentType() == 1){
  40. screen.control(); //Controls the screen and redraws if needed while in the test's graph
  41. keyboard.control();
  42. delay(REFRESH);
  43. }
  44. }