The codebase to run the *spark d-fuser controller www.sparkav.co.uk/dvimixer

Dependencies:   SPK-TVOne DMX DmxArtNet NetServicesMin OSC PinDetect mRotaryEncoder iniparser mbed spk_oled_ssd1305 filter

Revision:
20:8b92d7922c48
Parent:
18:ebe5da639a6a
Child:
21:f9d63cb7cedb
--- a/main.cpp	Mon Oct 08 03:22:00 2012 +0000
+++ b/main.cpp	Mon Oct 08 13:45:47 2012 +0000
@@ -312,6 +312,10 @@
                     
     int32_t on = 1;
     int32_t off = 0;
+    
+    // Independent output
+    ok = ok && tvOne.command(0, kTV1WindowIDA, kTV1FunctionAdjustOutputsOutputEnable, on);
+    ok = ok && tvOne.command(0, kTV1WindowIDA, kTV1FunctionAdjustOutputsLockMethod, off);
                     
     // Make sure our windows exist
     ok = ok && tvOne.command(0, kTV1WindowIDA, kTV1FunctionAdjustWindowsEnable, on);
@@ -523,7 +527,23 @@
     fadeAPO.period(0.001);
     fadeBPO.period(0.001);
     
-    // TODO: Test for TVOne connectivity here and display in status line
+    // Test for TV One connectivity and determine unit type
+    // Ah. My 750 reports zero for these types, both over RS232 and on OSD.
+    if (false)
+    {
+        int ack[SPKTVOne::standardAckLength];
+        
+        // kTV1FunctionReadSoftwareVersion
+        // kTV1FunctionReadProductType
+        // kTV1FunctionReadBoardType
+        
+        bool ok = tvOne.command(SPKTVOne::readCommand, ack, SPKTVOne::standardAckLength, 0, kTV1WindowIDA, kTV1FunctionReadSoftwareVersion, 0);
+        
+        printf("\r\nOK: %s\r\n", ok ? "true" : "false");
+        
+        for (int i =0; i<20; i++) printf("%c", ack[i]);
+        printf("\r\n");
+    }
     
     // Display menu and framing lines
     screen.horizLineToBuffer(kMenuLine1*pixInPage - 1);
@@ -812,6 +832,10 @@
                 }
                 else if (advancedMenu.selectedPayload1() == advancedConformProcessor)
                 {
+                    screen.clearBufferRow(kTVOneStatusLine);
+                    screen.textToBuffer("Conforming...", kTVOneStatusLine);
+                    screen.sendBuffer();
+                    
                     bool ok = conformProcessor();
                     
                     std::string sendOK = ok ? "Conform success" : "Send Error: Conform";