Dependencies:   MODDMA mbed

Revision:
5:6981fbf08586
Parent:
4:f2ef03b37a66
diff -r f2ef03b37a66 -r 6981fbf08586 main.cpp
--- a/main.cpp	Sat Dec 06 19:57:16 2014 +0000
+++ b/main.cpp	Wed Dec 10 21:35:57 2014 +0000
@@ -8,73 +8,22 @@
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 
-
 #define IMAGE_SIZE 123
 
-// Set DAC output power mode.
-#define DAC_POWER_MODE  (1 << 16)
-
 //
 // IMAGE AND RENDER BUFFER
 //
 
-// TODO: WHY DOESN'T THE LAST BIT GET OK!?!?!?!?!?!
-
-// WHY DOES ALL 0,1,4,5,8,9,C,D GET DISPLACED??
-
-int foo = 0xcc;
-int bar = 0xee;
-
-#if 0
-uint8_t  smiley [IMAGE_SIZE] = {
-    0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 
-    0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 
-    0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 
-    0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 
-    0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0xFF
-    };
-#endif
-
 #if 1
+// OK
 uint8_t  smiley [IMAGE_SIZE] = {
-    0x0, 0x0, 0xFF, 0x0, 0x0, 0xDC, 0x0, 0x0, 0xBA, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0,0x0, 0x0, 0x3E, 0x0, 0x0, 0x1F,
-    0x0, 0x0, 0xFF, 0x0, 0x0, 0xDC, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x1F,
-    0x0, 0x0, 0xFF, 0x0, 0x0, 0xDC, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x1F,
-    0x0, 0x0, 0xFF, 0x0, 0x0, 0xDC, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x1F,
-    0x0, 0x0, 0xFF, 0x0, 0x0, 0xDC, 0x0, 0x0, 0xBA, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0xFF, 0xFF, 0x0, 0x0, 0x0, 0x3E, 0x0, 0x0, 0x1F,
-    0x0, 0x0, 0x0
-};
-#endif
-
-#if 0
-uint8_t  smiley [IMAGE_SIZE] = {
-    0x00, 0x0, 0x0, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, 0x3, 0x3, 0x3, 0x4, 0x4, 0x4, 0x5, 0x5, 0x5,0x6, 0x6, 0x6, 0x7, 0x7, 0x7,
-    0x8, 0x8, 0x8, 0x9, 0x9, 0x9, 0xa, 0xa, 0xa, 0xb, 0xb, 0xb, 0xc, 0xc, 0xc, 0xd, 0xd, 0xd,0xe, 0xe, 0xe, 0xf, 0xf, 0xf,
-    0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17,
-    0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x1a, 0x1a, 0x1a, 0x1b, 0x1b, 0x1b, 0x1c, 0x1c, 0x1c, 0x1d, 0x1d, 0x1d, 0x1e, 0x1e, 0x1e, 0x1f, 0x1f, 0x1f,
-    0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x22, 0x22, 0x22, 0x23, 0x23, 0x23, 0x24, 0x24, 0x24, 0xf5, 0xf5, 0xf5, 0xf6, 0xf6, 0xf6, 0xf7, 0xf7, 0xf7,
-    0x0, 0x0, 0x0
-};
-#endif
-
-#if 0
-uint8_t  smiley [IMAGE_SIZE] = {
-    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
-    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
-    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
-    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
-    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
-    0x0, 0x0, 0x0
-};
-
-uint8_t  smiley [IMAGE_SIZE] = {
-    0xFF,0x0,0x0,0xD9,0x0,0x0,0xBA,0x0,0x0,0x0,0xFF,0xFF,0x0,0xFF,0xFF,0x0,0xFF,0xFF,0x3E,0x0,0x0,0x1F,0x0,0x0,
-    0xFF,0x0,0x0,0xD9,0x0,0x0,0x0,0xFF,0xFF,0x0,0x0,0x0,0x0,0xFF,0xFF,0x0,0x0,0x0,0x0,0xFF,0xFF,0x1F,0x0,0x0,
-    0xFF,0x0,0x0,0xD9,0x0,0x0,0x0,0xFF,0xFF,0x0,0x0,0x0,0x0,0xFF,0xFF,0x0,0xFF,0xFF,0x0,0xFF,0xFF,0x1F,0x0,0x0,
-    0xFF,0x0,0x0,0xD9,0x0,0x0,0x0,0xFF,0xFF,0x0,0x0,0x0,0x0,0xFF,0xFF,0x0,0x0,0x0,0x0,0xFF,0xFF,0x1F,0x0,0x0,
-    0xFF,0x0,0x0,0xD9,0x0,0x0,0xBA,0x0,0x0,0x0,0xFF,0xFF,0x0,0xFF,0xFF,0x0,0xFF,0xFF,0x3E,0x0,0x0,0x1F,0x0,0x0,
-    0x0, 0x0, 0x0
-};
+    0x0,  0xFF, 0x0, 0xFF,  0xFF, 0xFF, 0xFF,  0xFF, 0xFF, 0x0,  0xFF, 0x0, 0x0,  0xFF, 0x0, 0xFF, 0xFF, 0xFF, 0x0,  0xFF, 0x0,  0xFF, 0xFF, 0xFF,
+    0xFF, 0xFF, 0xFF, 0x3F, 0xBE, 0x0, 0x3F, 0xBE, 0x0, 0xFF, 0xFF, 0xFF, 0x3F, 0xBE, 0x0, 0xFF, 0xFF, 0xFF, 0x3F, 0xBE, 0x0,  0xFF, 0xFF, 0xFF, 
+    0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x0, 0x7F, 0x7F, 0x0, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x0, 
+    0xFF, 0xFF, 0xFF, 0xBE, 0x3F, 0x0, 0xBE, 0x3F, 0x0, 0xFF, 0xFF, 0xFF, 0xBE, 0x3F, 0x0, 0xFF, 0xFF, 0xFF, 0xBE, 0x3F, 0x0,  0xFF, 0xFF, 0xFF, 
+    0xFF, 0x0,  0x0, 0xFF, 0xFF,  0xFF, 0xFF, 0xFF,  0xFF, 0xFF, 0x0,  0x0, 0xFF, 0x0,  0x0, 0xFF, 0xFF, 0xFF, 0xFF, 0x0,  0x0,  0xFF, 0xFF, 0xFF,
+    0x0,  0x0, 0x0
+    };
 #endif
 
 uint8_t *renderBuffer;
@@ -119,13 +68,6 @@
     spi.format(8,3); // spi.format(8,0) har fungerat!!
     spi.frequency(3000000); // 3200000 har fungerat!!!
 
-#if 0
-    // SET SPI OUTPUT PINS
-    LPC_PINCON->PINSEL0 |= (3u<<30); // SCK0
-    // LPC_PINCON->PINSEL1 |= (3<<2); // MISO0
-    LPC_PINCON->PINSEL1 |= (3<<4); // MOSI0
-#endif
-
     // TODO: THIS COULD POSSIBLY FUCK UP THE AMOUNT OF DATA MOVED TO THE SSP IN EACH BURST
     // Configure the DMA
     dmaConfig = new MODDMA_Config;
@@ -141,27 +83,6 @@
     ;
     LPC_SSP0->DMACR = (1<<1)|(1<<0); // TX,RXDMAE
 
-#if 0
-    // Set up SSP0 (SPI)
-    //LPC_GPDMA->DMACSoftSReq = 0xC;
-    //NVIC_EnableIRQ(DMA_IRQn);
-
-    // SET THE CLOCK AND POWER THE SSP0 UP
-    LPC_SC->PCLKSEL0 &= ~(2<<10); // PCLK_SSP0 = CCLK/2 (96MHz)
-    LPC_SSP0->CPSR = 10; // CPSDVSR = 10 (9600kHz)
-    // PCLK/(PSR*(SCR+1))
-    LPC_SSP0->CR0 =  (3<<8) | 7;  // SCR = 1 (2400kHz), CPOL = low, SPI frame format, 8 bits per frame
-    // Start the transfer
-    LPC_SSP0->DMACR |= 3; // TX/RXDMAE - enable transmit FIFO for DMA
-
-    if(!dma.Prepare(dmaConfig)) {
-        error("Failed to prepare dma configuration!");
-    }
-
-    LPC_SSP0->CR1 = 2; // Enable the SSP0
-
-#else
-
     if(!dma.Prepare(dmaConfig)) {
         error("Failed to prepare dma configuration!");
     }
@@ -170,8 +91,6 @@
 
     dma.Enable(dmaConfig);
 
-#endif
-
     while(1) {
 
         if(!flgCompleted) {
@@ -202,11 +121,6 @@
 
 void TC_callback(void)
 {
-    //
-    // TODO: FIX THIS UP!!!!
-    // DISMANTLE THE SSP0 (SPI)
-    //
-
     LPC_SSP0->CR1 = 0; // Diable the SSP0    ?
 
     // Just show sending buffer0 complete.