demo.ino 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include <SPI.h>
  2. #define SELECT() digitalWrite(9, 0)
  3. #define UNSELECT() digitalWrite(9, 1)
  4. void setup()
  5. {
  6. SPI.begin();
  7. pinMode(9, OUTPUT);
  8. UNSELECT();
  9. }
  10. static byte scroll;
  11. void vga(int addr)
  12. {
  13. SELECT();
  14. SPI.transfer(scroll);
  15. SPI.transfer(addr >> 8);
  16. SPI.transfer(addr);
  17. }
  18. void cls()
  19. {
  20. vga(0);
  21. for (int i = 0; i < (128 * 48 * 2); i++)
  22. SPI.transfer(0);
  23. UNSELECT();
  24. }
  25. void xloop()
  26. {
  27. cls();
  28. for (int a = 30; a < 10000; a += 256) {
  29. vga(a);
  30. for (int attr = 0; attr < 16; attr++) {
  31. SPI.transfer('*');
  32. SPI.transfer(attr);
  33. }
  34. SPI.transfer(0);
  35. SPI.transfer(0);
  36. for (int attr = 0; attr < 256; attr += 16) {
  37. SPI.transfer('*');
  38. SPI.transfer(attr);
  39. }
  40. UNSELECT();
  41. }
  42. delay(1000);
  43. }
  44. void loop()
  45. {
  46. int a = random(128 * 48);
  47. vga(2 * a);
  48. SPI.transfer(random(256));
  49. SPI.transfer(random(256));
  50. UNSELECT();
  51. }
  52. class TTY: public Print {
  53. public:
  54. virtual size_t write(uint8_t character) {
  55. };
  56. private:
  57. // otherstuff
  58. };