Test code for SDA5708 LED matrix display

Dependencies:   SDA5708 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 
00002 #include "mbed.h"
00003 #include "SDA5708.h"
00004 
00005 // mbed Interface Hardware definitions
00006 DigitalOut myled1(LED1);
00007 DigitalOut myled2(LED2);
00008 DigitalOut myled3(LED3);
00009 DigitalOut heartbeatLED(LED4);
00010 
00011 // Host PC Communication channels
00012 Serial pc(USBTX, USBRX);
00013 
00014 // SPI Communication
00015 SPI spi_led(p5, NC, p7); // MOSI, MISO, SCLK
00016 
00017 //Display
00018 SDA5708 led(&spi_led, p8, p9); // SPI bus, CS pin, RST pin
00019 
00020 // Variables for Heartbeat and Status monitoring
00021 Ticker heartbeat;
00022 bool heartbeatflag=false;
00023 
00024 // Heartbeat monitor
00025 void pulse() {
00026   heartbeatLED = !heartbeatLED;
00027 }
00028 
00029 void heartbeat_start() {
00030   heartbeat.attach(&pulse, 0.5);
00031   heartbeatflag = true;
00032 }
00033 
00034 void heartbeat_stop() {
00035   heartbeat.detach();
00036   heartbeatflag = false;
00037 }
00038 
00039 int main() {
00040   int cnt;
00041   
00042   heartbeat_start();
00043 
00044   led.locate(0, 0);                               
00045 
00046 //led.printf("*=%6d", 123456);
00047 //            12345678 
00048   led.printf("Hi mbed ");  
00049   wait(2);
00050 
00051   led.setUDC(0, (char *) udc_0);
00052   led.setUDC(1, (char *) udc_1);
00053   led.setUDC(2, (char *) udc_2);
00054   led.setUDC(3, (char *) udc_3);
00055   led.setUDC(4, (char *) udc_Bat_Hi);
00056   led.setUDC(5, (char *) udc_Bat_Ha);
00057   led.setUDC(6, (char *) udc_Bat_Lo);
00058 //  led.setUDC(7, (char *) udc_smiley);
00059   led.setUDC(7, (char *) udc_AC);  
00060   
00061   led.putc(0);
00062   led.putc(1);
00063   led.putc(2);
00064   led.putc(3);
00065   led.putc(4);
00066   led.putc(5);
00067   led.putc(6);
00068   led.putc(7);            
00069   wait(2);
00070                 
00071 //  while(1) {}
00072   
00073   cnt=0x20;  
00074   while(1) {
00075     wait(0.5);
00076                         
00077     led.putc(cnt);
00078     cnt++;
00079     if (cnt == 0x80) cnt=0x20;
00080   }
00081   
00082 }