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, committed 2012-10-08
- Comitter:
- tobyspark
- Date:
- Mon Oct 08 13:45:47 2012 +0000
- Parent:
- 19:94d715b9d231
- Child:
- 21:f9d63cb7cedb
- Commit message:
- Set up reading in Processor version / software on startup. However my 750 has 0 stored for all these values... not so useful.
Changed in this revision
SPK-TVOne.lib | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/SPK-TVOne.lib Mon Oct 08 03:22:00 2012 +0000 +++ b/SPK-TVOne.lib Mon Oct 08 13:45:47 2012 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/tobyspark/code/SPK-TVOne/#42c83cac2f6d +http://mbed.org/users/tobyspark/code/SPK-TVOne/#5f398fc9b5c1
--- 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";