A demo for Adafruit 64x32 demo with PWM

Dependencies:   mbed-rtos BufferedSerial Adafruit_GFX_MBED LedMatrix-PWM FastIO mbed-dev

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?

UserRevisionLine numberNew 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 }