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
Diff: main.cpp
- 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";