noisy.ino 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <EEPROM.h> //' A{
  2. #include <SPI.h>
  3. #include <GD2.h>
  4. #include "noisy_assets.h"
  5. void setup()
  6. {
  7. Serial.begin(115200); // JCB
  8. GD.begin();
  9. LOAD_ASSETS();
  10. }
  11. static void saydigit(byte n)
  12. {
  13. GD.ClearColorRGB(0x101000); // JCB{
  14. GD.Clear();
  15. GD.cmd_number(240, 136, 31, OPT_CENTER, n);
  16. GD.swap();
  17. GD.flush();
  18. // }JCB
  19. uint32_t base, len;
  20. switch (n) {
  21. case 0: base = DIGIT_0; len = DIGIT_0_LENGTH; break;
  22. case 1: base = DIGIT_1; len = DIGIT_1_LENGTH; break;
  23. case 2: base = DIGIT_2; len = DIGIT_2_LENGTH; break;
  24. case 3: base = DIGIT_3; len = DIGIT_3_LENGTH; break;
  25. case 4: base = DIGIT_4; len = DIGIT_4_LENGTH; break;
  26. case 5: base = DIGIT_5; len = DIGIT_5_LENGTH; break;
  27. case 6: base = DIGIT_6; len = DIGIT_6_LENGTH; break;
  28. case 7: base = DIGIT_7; len = DIGIT_7_LENGTH; break;
  29. case 8: base = DIGIT_8; len = DIGIT_8_LENGTH; break;
  30. case 9: base = DIGIT_9; len = DIGIT_9_LENGTH; break;
  31. }
  32. GD.sample(base, len, 8000, ADPCM_SAMPLES);
  33. }
  34. void loop()
  35. {
  36. int n = GD.random(10);
  37. GD.Clear();
  38. GD.cmd_number(240, 136, 31, OPT_CENTER, n);
  39. GD.swap();
  40. saydigit(n);
  41. delay(1000);
  42. } //' }A