Test code for SDA5708 LED matrix display

Dependencies:   SDA5708 mbed

Committer:
wim
Date:
Mon Sep 29 19:45:23 2014 +0000
Revision:
0:7163ac97bad9
Child:
1:bffa08157551
First release.

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 0:7163ac97bad9 50
wim 0:7163ac97bad9 51 cnt=0x20;
wim 0:7163ac97bad9 52 while(1) {
wim 0:7163ac97bad9 53 wait(0.5);
wim 0:7163ac97bad9 54
wim 0:7163ac97bad9 55 led.putc(cnt);
wim 0:7163ac97bad9 56 cnt++;
wim 0:7163ac97bad9 57 if (cnt == 0x80) cnt=0x20;
wim 0:7163ac97bad9 58 }
wim 0:7163ac97bad9 59
wim 0:7163ac97bad9 60 }