Test code for SDA5708 LED matrix display

Dependencies:   SDA5708 mbed

Committer:
wim
Date:
Tue Sep 30 17:14:35 2014 +0000
Revision:
1:bffa08157551
Parent:
0:7163ac97bad9
Added Test for UDCs.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wim 0:7163ac97bad9 1
wim 0:7163ac97bad9 2 #include "mbed.h"
wim 0:7163ac97bad9 3 #include "SDA5708.h"
wim 0:7163ac97bad9 4
wim 0:7163ac97bad9 5 // mbed Interface Hardware definitions
wim 0:7163ac97bad9 6 DigitalOut myled1(LED1);
wim 0:7163ac97bad9 7 DigitalOut myled2(LED2);
wim 0:7163ac97bad9 8 DigitalOut myled3(LED3);
wim 0:7163ac97bad9 9 DigitalOut heartbeatLED(LED4);
wim 0:7163ac97bad9 10
wim 0:7163ac97bad9 11 // Host PC Communication channels
wim 0:7163ac97bad9 12 Serial pc(USBTX, USBRX);
wim 0:7163ac97bad9 13
wim 0:7163ac97bad9 14 // SPI Communication
wim 0:7163ac97bad9 15 SPI spi_led(p5, NC, p7); // MOSI, MISO, SCLK
wim 0:7163ac97bad9 16
wim 0:7163ac97bad9 17 //Display
wim 0:7163ac97bad9 18 SDA5708 led(&spi_led, p8, p9); // SPI bus, CS pin, RST pin
wim 0:7163ac97bad9 19
wim 0:7163ac97bad9 20 // Variables for Heartbeat and Status monitoring
wim 0:7163ac97bad9 21 Ticker heartbeat;
wim 0:7163ac97bad9 22 bool heartbeatflag=false;
wim 0:7163ac97bad9 23
wim 0:7163ac97bad9 24 // Heartbeat monitor
wim 0:7163ac97bad9 25 void pulse() {
wim 0:7163ac97bad9 26 heartbeatLED = !heartbeatLED;
wim 0:7163ac97bad9 27 }
wim 0:7163ac97bad9 28
wim 0:7163ac97bad9 29 void heartbeat_start() {
wim 0:7163ac97bad9 30 heartbeat.attach(&pulse, 0.5);
wim 0:7163ac97bad9 31 heartbeatflag = true;
wim 0:7163ac97bad9 32 }
wim 0:7163ac97bad9 33
wim 0:7163ac97bad9 34 void heartbeat_stop() {
wim 0:7163ac97bad9 35 heartbeat.detach();
wim 0:7163ac97bad9 36 heartbeatflag = false;
wim 0:7163ac97bad9 37 }
wim 0:7163ac97bad9 38
wim 0:7163ac97bad9 39 int main() {
wim 0:7163ac97bad9 40 int cnt;
wim 0:7163ac97bad9 41
wim 0:7163ac97bad9 42 heartbeat_start();
wim 0:7163ac97bad9 43
wim 0:7163ac97bad9 44 led.locate(0, 0);
wim 0:7163ac97bad9 45
wim 0:7163ac97bad9 46 //led.printf("*=%6d", 123456);
wim 0:7163ac97bad9 47 // 12345678
wim 0:7163ac97bad9 48 led.printf("Hi mbed ");
wim 0:7163ac97bad9 49 wait(2);
wim 1:bffa08157551 50
wim 1:bffa08157551 51 led.setUDC(0, (char *) udc_0);
wim 1:bffa08157551 52 led.setUDC(1, (char *) udc_1);
wim 1:bffa08157551 53 led.setUDC(2, (char *) udc_2);
wim 1:bffa08157551 54 led.setUDC(3, (char *) udc_3);
wim 1:bffa08157551 55 led.setUDC(4, (char *) udc_Bat_Hi);
wim 1:bffa08157551 56 led.setUDC(5, (char *) udc_Bat_Ha);
wim 1:bffa08157551 57 led.setUDC(6, (char *) udc_Bat_Lo);
wim 1:bffa08157551 58 // led.setUDC(7, (char *) udc_smiley);
wim 1:bffa08157551 59 led.setUDC(7, (char *) udc_AC);
wim 1:bffa08157551 60
wim 1:bffa08157551 61 led.putc(0);
wim 1:bffa08157551 62 led.putc(1);
wim 1:bffa08157551 63 led.putc(2);
wim 1:bffa08157551 64 led.putc(3);
wim 1:bffa08157551 65 led.putc(4);
wim 1:bffa08157551 66 led.putc(5);
wim 1:bffa08157551 67 led.putc(6);
wim 1:bffa08157551 68 led.putc(7);
wim 1:bffa08157551 69 wait(2);
wim 1:bffa08157551 70
wim 1:bffa08157551 71 // while(1) {}
wim 0:7163ac97bad9 72
wim 0:7163ac97bad9 73 cnt=0x20;
wim 0:7163ac97bad9 74 while(1) {
wim 0:7163ac97bad9 75 wait(0.5);
wim 0:7163ac97bad9 76
wim 0:7163ac97bad9 77 led.putc(cnt);
wim 0:7163ac97bad9 78 cnt++;
wim 0:7163ac97bad9 79 if (cnt == 0x80) cnt=0x20;
wim 0:7163ac97bad9 80 }
wim 0:7163ac97bad9 81
wim 0:7163ac97bad9 82 }