Nick Lowyck / Mbed 2 deprecated Ledcube

Dependencies:   mbed mbed-rtos

Revision:
4:a091b8f8216d
Parent:
3:da30c350c339
Child:
5:e4ed6c5baf89
--- a/SPIDriver/SPIDriver.cpp	Fri May 02 18:26:40 2014 +0000
+++ b/SPIDriver/SPIDriver.cpp	Sun May 04 20:41:10 2014 +0000
@@ -1,5 +1,6 @@
 #include "SPIDriver.h"
 #include "mbed.h"
+#include "rtos.h"
 
 SPIDriver::SPIDriver(PinName pin1, PinName pin2, PinName pin3, PinName latchpin, PinName cspin, const int freq) : spi(pin1, pin2, pin3){
     spi.format(8, 3);
@@ -32,15 +33,19 @@
     *latch = 0;    
 }
 
+void SPIDriver::sendLayer(LedCube* ledc){
+        write(ledc->getNextValue());      //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
+        }                                  //(LSB first)                              
+}
+
 void SPIDriver::sendFrame(LedCube* ledc){
-    for(int i = 0; i < 8; i++) {   //eerst laag selecteren, SPI zendt normaalgezien MSB first
-        write(ledc->getNextValue());
-        for(int j = 0; j < 24; j++) {
-            write(ledc->getNextValue());  //ledwaarden zelf nog altijd apart, omdat ze mogelijk gespiegeld moeten doorgestuurd worden
-        }                                               //(LSB first)
+    for(int i = 0; i < 8; i++) {                                            
         wait(0.00125);    //voor 100 Hz
         pulseLatch();
     }//end outer for loop
+   // printf("Frame gezonden!!\n\r");
 }
 
 void SPIDriver::sendTest(LedCube* ledc, int frames){
@@ -54,26 +59,16 @@
     printf("Initiating Test phase\n\r");
     
     LedCube* testledcube1 = new LedCube();
-    LedCube* testledcube2 = new LedCube();
+    testledcube1->testMode(LedCube::firsthalfwhite);
+    sendTest(testledcube1, xframes);
     
-    testledcube1->testMode(LedCube::firsthalfwhite);
+    LedCube* testledcube2 = new LedCube();
     testledcube2->testMode(LedCube::secondhalfwhite);
-
-    sendTest(testledcube1, xframes);
     sendTest(testledcube2, xframes);
     
     printf("Test phase terminated!\n\r");    
 }
 
-void SPIDriver::stream(LedCube* ledc){
-    printf("Initiating stream from following matrices\n\r");
-    ledc->printAll();
-    printf("Streaming...\n\r");
-    while(true){
-        sendFrame(ledc);
-    }
-}
-
 uint8_t SPIDriver::reverse_byte(uint8_t byte)
 {
     return (__rbit(byte) >> 24) & 0xFF; // reverse a byte in a 32-bit value, and extract the byte