Nick Lowyck / Mbed 2 deprecated Ledcube

Dependencies:   mbed mbed-rtos

Revision:
5:e4ed6c5baf89
Parent:
4:a091b8f8216d
--- a/SPIDriver/SPIDriver.cpp	Sun May 04 20:41:10 2014 +0000
+++ b/SPIDriver/SPIDriver.cpp	Thu May 08 18:59:52 2014 +0000
@@ -30,28 +30,42 @@
 
 void SPIDriver::pulseLatch(){
     *latch = 1;
+    wait(0.000001);
     *latch = 0;    
 }
 
 void SPIDriver::sendLayer(LedCube* ledc){
-        write(ledc->getNextValue());      //eerst laag selecteren, SPI zendt normaalgezien MSB first 
+        unsigned char valueled = ledc->getNextValue();
+    //    printf("%d ", valueled);
+        write(valueled);      //eerst laag selecteren, SPI zendt normaalgezien MSB first 
         for(int j = 0; j < 24; j++) {      
-            write(ledc->getNextValue());  //ledwaarden zelf nog altijd apart, omdat ze mogelijk gespiegeld moeten doorgestuurd worden
+            unsigned char valueled = ledc->getNextValue();
+     //       printf("%d ", valueled);
+            write(valueled);  //ledwaarden zelf nog altijd apart, omdat ze mogelijk gespiegeld moeten doorgestuurd worden
         }                                  //(LSB first)                              
 }
 
 void SPIDriver::sendFrame(LedCube* ledc){
-    for(int i = 0; i < 8; i++) {                                            
-        wait(0.00125);    //voor 100 Hz
+    for(int i = 0; i < 8; i++) {  
+        sendLayer(ledc);                                          
+        wait(0.00025);     //voor 100 Hz
         pulseLatch();
     }//end outer for loop
    // printf("Frame gezonden!!\n\r");
 }
 
+void SPIDriver::sendTestFrame(LedCube* ledc){
+    for(int i = 0; i < 8; i++) {  
+        sendLayer(ledc);                                          
+        wait(0.00125);    
+        pulseLatch();
+    }
+}
+
 void SPIDriver::sendTest(LedCube* ledc, int frames){
     printf("Testing...\n\r");
     for(int i = 0; i < frames; i++) {
-        sendFrame(ledc);
+        sendTestFrame(ledc);
     }
 }
 
@@ -59,11 +73,11 @@
     printf("Initiating Test phase\n\r");
     
     LedCube* testledcube1 = new LedCube();
-    testledcube1->testMode(LedCube::firsthalfwhite);
+  //  testledcube1->testMode(LedCube::firsthalfwhite);
     sendTest(testledcube1, xframes);
     
     LedCube* testledcube2 = new LedCube();
-    testledcube2->testMode(LedCube::secondhalfwhite);
+  //  testledcube2->testMode(LedCube::secondhalfwhite);
     sendTest(testledcube2, xframes);
     
     printf("Test phase terminated!\n\r");