PageRenderTime 48ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/Examples/colour_main/colour_main.pde

https://github.com/Ctemes/Serial_LCD
Processing | 197 lines | 101 code | 52 blank | 44 comment | 10 complexity | 5234f6df05c7a950030b45d003254511 MD5 | raw file
  1. ///
  2. /// @file colour_main.pde
  3. /// @brief Example
  4. /// @details
  5. /// @n @a Example for Serial_LCD Library Suite
  6. /// @n @a for 4D Systems uLCD-uLED-uVGA Serial_LCD Library Suite
  7. /// @n on Arduino 0023 and 1.0, chipKIT MPIDE 0023, Wiring 1.0
  8. ///
  9. /// @a Developed with [embedXcode](http://embedXcode.weebly.com)
  10. ///
  11. /// @author Rei VILO
  12. /// @author http://embeddedcomputing.weebly.com
  13. /// @date Jul 12, 2012
  14. /// @version release 132
  15. /// @n
  16. /// @copyright Š Rei VILO, 2010-2012
  17. /// @copyright CC = BY NC SA
  18. /// @n http://embeddedcomputing.weebly.com/serial-lcd.html
  19. /// @n http://github.com/rei-vilo/Serial_LCD
  20. ///
  21. /// @see 4D Systems Goldelox and Picaso SGC Command Set
  22. /// @n http://www.4dsystems.com.au/
  23. ///
  24. // Core library - MCU-based
  25. #if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__) // Arduino specific
  26. #if defined(ARDUINO) && (ARDUINO >= 100)
  27. #include "Arduino.h" // for Arduino 1.0
  28. #else
  29. #include "WProgram.h" // for Arduino 23
  30. #endif
  31. #elif defined(__32MX320F128H__) || defined(__32MX795F512L__) // chipKIT specific
  32. #include "WProgram.h"
  33. #elif defined(__AVR_ATmega644P__) // Wiring specific
  34. #include "Wiring.h"
  35. #else // error
  36. #error Platform not supported
  37. #endif
  38. #include "Serial_LCD.h"
  39. #include "proxySerial.h"
  40. // test release
  41. #if SERIAL_LCD_RELEASE < 333
  42. #error required SERIAL_LCD_RELEASE 333
  43. #endif
  44. // uncomment for I2C serial interface
  45. //#define __I2C_Serial__
  46. // === Serial port choice ===
  47. #if defined(__I2C_Serial__) // I2C serial
  48. #include "Wire.h"
  49. #include "I2C_Serial.h"
  50. I2C_Serial mySerial(0);
  51. #elif defined(__AVR_ATmega328P__) // software serial
  52. #if defined(ARDUINO) && (ARDUINO>=100) // for Arduino 1.0
  53. #include "SoftwareSerial.h"
  54. SoftwareSerial mySerial(2, 3);
  55. #else
  56. #include "NewSoftSerial.h" // for Arduino 23
  57. NewSoftSerial mySerial(2, 3);
  58. #endif
  59. #elif defined(__32MX320F128H__) || defined(__32MX795F512L__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega644P__) // hardware serial Serial1
  60. #define mySerial Serial1
  61. #else // error
  62. #error Platform not defined
  63. #endif
  64. // === End of Serial port choice ===
  65. ProxySerial myPort(&mySerial); // hardware abstraction layer
  66. Serial_LCD myLCD(&myPort); // LCD
  67. void setup() {
  68. Serial.begin(19200);
  69. Serial.print("\n\n\n***\n");
  70. // === Serial port initialisation ===
  71. #if defined(__I2C_Serial__)
  72. Serial.print("i2c\n");
  73. Wire.begin();
  74. mySerial.begin(9600);
  75. #elif defined(__AVR__) || defined(__AVR_ATmega328P__) | defined(__AVR_ATmega328P__)
  76. Serial.print("avr\n");
  77. mySerial.begin(9600);
  78. #elif defined(__PIC32MX__)
  79. Serial.print("chipKIT\n");
  80. Serial1.begin(9600);
  81. #endif
  82. // === End of Serial port initialisation ===
  83. myLCD.begin();
  84. // // === Serial port speed change ===
  85. // myLCD.setSpeed(38400);
  86. //#if defined(__I2C_Serial__)
  87. // mySerial.begin(38400);
  88. //
  89. //#elif defined(__AVR__) || defined(__AVR_ATmega328P__) | defined(__AVR_ATmega328P__)
  90. // mySerial.begin(38400);
  91. //
  92. //#elif defined(__PIC32MX__)
  93. // Serial1.begin(38400);
  94. //
  95. //#endif
  96. // // === End of Serial port speed change ===
  97. int8_t i;
  98. myLCD.setPenSolid(true);
  99. i=0;
  100. myLCD.dRectangle(20*i, 0, 17, 100, blackColour);
  101. i++;
  102. myLCD.dRectangle(20*i, 0, 17, 100, whiteColour);
  103. i++;
  104. myLCD.dRectangle(20*i, 0, 17, 100, redColour);
  105. i++;
  106. myLCD.dRectangle(20*i, 0, 17, 100, greenColour);
  107. i++;
  108. myLCD.dRectangle(20*i, 0, 17, 100, blueColour);
  109. i++;
  110. myLCD.dRectangle(20*i, 0, 17, 100, yellowColour);
  111. i++;
  112. myLCD.dRectangle(20*i, 0, 17, 100, cyanColour);
  113. i++;
  114. myLCD.dRectangle(20*i, 0, 17, 100, orangeColour);
  115. i++;
  116. myLCD.dRectangle(20*i, 0, 17, 100, magentaColour);
  117. i++;
  118. myLCD.dRectangle(20*i, 0, 17, 100, violetColour);
  119. i++;
  120. myLCD.dRectangle(20*i, 0, 17, 100, grayColour);
  121. i=0;
  122. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(blackColour));
  123. i++;
  124. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(whiteColour));
  125. i++;
  126. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(redColour));
  127. i++;
  128. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(greenColour));
  129. i++;
  130. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(blueColour));
  131. i++;
  132. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(yellowColour));
  133. i++;
  134. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(cyanColour));
  135. i++;
  136. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(orangeColour));
  137. i++;
  138. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(magentaColour));
  139. i++;
  140. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(violetColour));
  141. i++;
  142. myLCD.dRectangle(20*i, 100, 17, 100, myLCD.reverseColour(grayColour));
  143. }
  144. void loop() {
  145. }