A demo for Adafruit 64x32 demo with PWM
Dependencies: mbed-rtos BufferedSerial Adafruit_GFX_MBED LedMatrix-PWM FastIO mbed-dev
main.cpp@2:6bfb86f8c9d3, 2017-10-11 (annotated)
- Committer:
- davidr99
- Date:
- Wed Oct 11 00:36:36 2017 +0000
- Revision:
- 2:6bfb86f8c9d3
- Parent:
- 1:442e873e4f52
- Child:
- 4:3e25a10c202c
Changed over to Adafruit GFX
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
davidr99 | 0:9f43f6e0d6ad | 1 | /* |
davidr99 | 1:442e873e4f52 | 2 | Based on http://os.mbed.com/users/RRacer/code/Adafruit-16x32-basic-demo/ |
davidr99 | 0:9f43f6e0d6ad | 3 | |
davidr99 | 0:9f43f6e0d6ad | 4 | */ |
davidr99 | 0:9f43f6e0d6ad | 5 | |
davidr99 | 0:9f43f6e0d6ad | 6 | #include "mbed.h" |
davidr99 | 0:9f43f6e0d6ad | 7 | #include "rtos.h" |
davidr99 | 2:6bfb86f8c9d3 | 8 | #include "LedMatrix.h" |
davidr99 | 0:9f43f6e0d6ad | 9 | |
davidr99 | 2:6bfb86f8c9d3 | 10 | LedMatrix matrix; |
davidr99 | 0:9f43f6e0d6ad | 11 | |
davidr99 | 0:9f43f6e0d6ad | 12 | void PaintThread() |
davidr99 | 0:9f43f6e0d6ad | 13 | { |
davidr99 | 2:6bfb86f8c9d3 | 14 | matrix.Paint(); |
davidr99 | 0:9f43f6e0d6ad | 15 | } |
davidr99 | 0:9f43f6e0d6ad | 16 | |
davidr99 | 0:9f43f6e0d6ad | 17 | int main() |
davidr99 | 0:9f43f6e0d6ad | 18 | { |
davidr99 | 0:9f43f6e0d6ad | 19 | Ticker ticker; |
davidr99 | 0:9f43f6e0d6ad | 20 | ticker.attach(PaintThread, 0.003); |
davidr99 | 0:9f43f6e0d6ad | 21 | |
davidr99 | 2:6bfb86f8c9d3 | 22 | while(1) { |
davidr99 | 2:6bfb86f8c9d3 | 23 | |
davidr99 | 2:6bfb86f8c9d3 | 24 | for(int c=0;c<64;c++) |
davidr99 | 2:6bfb86f8c9d3 | 25 | { |
davidr99 | 2:6bfb86f8c9d3 | 26 | matrix.setCursor(20, 12); |
davidr99 | 2:6bfb86f8c9d3 | 27 | matrix.setTextColor(matrix.ColorHSV(c * 22, 255, 255, true)); |
davidr99 | 2:6bfb86f8c9d3 | 28 | matrix.setTextSize(1); |
davidr99 | 2:6bfb86f8c9d3 | 29 | matrix.println("Test!"); |
davidr99 | 2:6bfb86f8c9d3 | 30 | Thread::wait(200); |
davidr99 | 2:6bfb86f8c9d3 | 31 | } |
davidr99 | 0:9f43f6e0d6ad | 32 | |
davidr99 | 0:9f43f6e0d6ad | 33 | for(int x=0;x<64;x++) |
davidr99 | 0:9f43f6e0d6ad | 34 | { |
davidr99 | 0:9f43f6e0d6ad | 35 | for(int y=0;y<32;y++) |
davidr99 | 0:9f43f6e0d6ad | 36 | { |
davidr99 | 2:6bfb86f8c9d3 | 37 | matrix.drawPixel(x, y, matrix.ColorHSV(x * 22, 255, 255, true)); |
davidr99 | 0:9f43f6e0d6ad | 38 | } |
davidr99 | 0:9f43f6e0d6ad | 39 | } |
davidr99 | 0:9f43f6e0d6ad | 40 | |
davidr99 | 2:6bfb86f8c9d3 | 41 | Thread::wait(5000); |
davidr99 | 0:9f43f6e0d6ad | 42 | |
davidr99 | 0:9f43f6e0d6ad | 43 | for(int c=0; c<16; c++) { |
davidr99 | 0:9f43f6e0d6ad | 44 | for(int x=c; x<(63-c); x++) {// Top side |
davidr99 | 2:6bfb86f8c9d3 | 45 | matrix.drawPixel(x,c,matrix.Color444(c, 0, 0)); |
davidr99 | 0:9f43f6e0d6ad | 46 | Thread::wait(10); |
davidr99 | 0:9f43f6e0d6ad | 47 | } |
davidr99 | 0:9f43f6e0d6ad | 48 | for(int y=c; y<(31-c); y++) {// Right side |
davidr99 | 2:6bfb86f8c9d3 | 49 | matrix.drawPixel(63-c,y, matrix.Color444(0, c, 0)); |
davidr99 | 0:9f43f6e0d6ad | 50 | Thread::wait(10); |
davidr99 | 0:9f43f6e0d6ad | 51 | } |
davidr99 | 0:9f43f6e0d6ad | 52 | for(int x=(63-c); x>=c; x--) {// Bottom side |
davidr99 | 2:6bfb86f8c9d3 | 53 | matrix.drawPixel(x,(31-c), matrix.Color444(0, 0, c)); |
davidr99 | 0:9f43f6e0d6ad | 54 | Thread::wait(10); |
davidr99 | 0:9f43f6e0d6ad | 55 | } |
davidr99 | 0:9f43f6e0d6ad | 56 | for(int y=(31-c); y>=c; y--) { // Left side |
davidr99 | 2:6bfb86f8c9d3 | 57 | matrix.drawPixel(c,y, matrix.Color444(0, c, 0)); |
davidr99 | 0:9f43f6e0d6ad | 58 | Thread::wait(10); |
davidr99 | 0:9f43f6e0d6ad | 59 | } |
davidr99 | 0:9f43f6e0d6ad | 60 | } |
davidr99 | 0:9f43f6e0d6ad | 61 | |
davidr99 | 0:9f43f6e0d6ad | 62 | Thread::wait(1000); |
davidr99 | 0:9f43f6e0d6ad | 63 | } |
davidr99 | 0:9f43f6e0d6ad | 64 | } |