Test program for Princeton PT6961 LED controller library.

Dependencies:   PT6961 mbed

See here for more information.

Revision:
2:3bc72b8f5481
Parent:
1:59c864633347
Child:
4:bedc75e6561a
--- a/main.cpp	Sun Aug 23 14:42:54 2015 +0000
+++ b/main.cpp	Sun Sep 20 13:29:12 2015 +0000
@@ -25,16 +25,17 @@
 Serial pc(USBTX, USBRX);
 DigitalOut myled(LED1);
 
-// DisplayData_t size is 12 bytes (6 digits max 12 segments) OR 14 bytes (7 digits at max 11 segments) 
+// DisplayData_t size is 12 bytes (6 digits @ 12 segments) OR 14 bytes (7 digits @ 11 segments) 
 PT6961::DisplayData_t mbed_str = {0xDA,0x00, 0x7C,0x00, 0x3C,0x01, 0xF6,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00};  
 PT6961::DisplayData_t all_str  = {0xFF,0x0F, 0xFF,0x0F, 0xFF,0x0F, 0xFF,0x0F, 0xFF,0x0F, 0xFF,0x0F, 0xFF,0x0F};  
 PT6961::DisplayData_t bye_str = {0x7C,0x00, 0xEC,0x00, 0x3C,0x01, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00};  
 PT6961::DisplayData_t hello_str = {0xDC,0x00, 0x3C,0x01, 0x38,0x00, 0x38,0x00, 0xF8,0x01, 0x00,0x00, 0x00,0x00};  
+PT6961::DisplayData_t tst_str;  
 
 // KeyData_t size is 5 bytes  
 PT6961::KeyData_t keydata; 
 
-// PT6191 declaration, Default setting 7 Digits, 11 Segments
+// PT6191 declaration, Default setting 7 Digits @ 11 Segments
 PT6961 pt6961(p5,p6,p7, p8);
 
 int main() {
@@ -54,7 +55,7 @@
     while (1) {
      
       // Check and read keydata
-      if (pt6961.readKeys(&keydata)) {
+      if (pt6961.getKeys(&keydata)) {
         pc.printf("Keydata 0..4 = 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\r\n", keydata[0], keydata[1], keydata[2], keydata[3], keydata[4]);
 
         if (keydata[0] == 0x10) { //sw2   
@@ -76,6 +77,49 @@
           pt6961.cls(); 
           pt6961.writeData(bye_str);
         }       
+
+        if (keydata[0] == 0x04) { //sw11   
+          pt6961.cls(); 
+          
+          for (int idx=0; idx < PT6961_DISPLAY_MEM;idx++){
+            tst_str[idx]=0x00;
+          }
+          tst_str[0]=0x01; //RA
+          tst_str[2]=0x01; //M          
+          pt6961.writeData(tst_str);
+        }       
+
+        if (keydata[0] == 0x08) { //sw10   
+          pt6961.cls(); 
+          
+          for (int idx=0; idx < PT6961_DISPLAY_MEM;idx++){
+            tst_str[idx]=0x00;
+          }
+          tst_str[6]=0x01; //HD
+          tst_str[8]=0x01; //D          
+          pt6961.writeData(tst_str);
+        }       
+
+        if (keydata[1] == 0x01) { //sw9   
+          pt6961.cls(); 
+          
+          for (int idx=0; idx < PT6961_DISPLAY_MEM;idx++){
+            tst_str[idx]=0x00;
+          }
+          tst_str[8]=0x01;  //D
+          tst_str[10]=0x01; //VD          
+          pt6961.writeData(tst_str);
+        }       
+
+        if (keydata[0] == 0x01) { //sw7   
+          pt6961.cls(); 
+          
+          for (int idx=0; idx < PT6961_DISPLAY_MEM;idx++){
+            tst_str[idx]=0x00;
+          }
+          tst_str[12]=0x20; //clock
+          pt6961.writeData(tst_str);
+        }       
         
       } //if