RS232 control for TVOne products

Dependents:   SPK-DVIMXR

Revision:
2:af9e9ab63b23
Parent:
1:349d6da461df
Child:
3:03e7e7b7a870
--- a/spk_tvone_mbed.cpp	Thu Aug 02 13:28:35 2012 +0000
+++ b/spk_tvone_mbed.cpp	Fri Aug 03 07:44:17 2012 +0000
@@ -142,6 +142,7 @@
 {
   set1920x480(kTV1ResolutionTripleHeadVGAp60);
   set1600x600(kTV1ResolutionDualHeadSVGAp60);
+  set2048x768(kTV1ResolutionDualHeadXGAp60);
 }
 
 bool SPKTVOne::setHDCPOff() 
@@ -153,8 +154,8 @@
   ok = ok && command(0, kTV1WindowIDA, kTV1FunctionAdjustOutputsHDCPStatus, 0);
   // Likewise on inputs A and B
   ok = ok && command(0, kTV1WindowIDA, kTV1FunctionAdjustSourceHDCPAdvertize, 0);
-  ok = ok && command(0, kTV1WindowIDA, kTV1FunctionAdjustSourceHDCPAdvertize, 0);
-  ok = ok && command(0, kTV1WindowIDB, kTV1FunctionAdjustSourceHDCPStatus, 0);
+  ok = ok && command(0, kTV1WindowIDB, kTV1FunctionAdjustSourceHDCPAdvertize, 0);
+  ok = ok && command(0, kTV1WindowIDA, kTV1FunctionAdjustSourceHDCPStatus, 0);
   ok = ok && command(0, kTV1WindowIDB, kTV1FunctionAdjustSourceHDCPStatus, 0);
   
   return ok;
@@ -194,6 +195,23 @@
   command(0, 0, kTV1FunctionAdjustResolutionSyncPolarity, 0);
 }
 
+void SPKTVOne::set2048x768(int resStoreNumber) 
+{
+  command(0, 0, kTV1FunctionAdjustResolutionImageToAdjust, resStoreNumber);
+  command(0, 0, kTV1FunctionAdjustResolutionInterlaced, 0);
+  command(0, 0, kTV1FunctionAdjustResolutionFreqCoarseH, 48363);
+  command(0, 0, kTV1FunctionAdjustResolutionFreqFineH, 48363);
+  command(0, 0, kTV1FunctionAdjustResolutionActiveH, 2048);
+  command(0, 0, kTV1FunctionAdjustResolutionActiveV, 768);
+  command(0, 0, kTV1FunctionAdjustResolutionStartH, 368); 
+  command(0, 0, kTV1FunctionAdjustResolutionStartV, 24); 
+  command(0, 0, kTV1FunctionAdjustResolutionCLKS, 2688); 
+  command(0, 0, kTV1FunctionAdjustResolutionLines, 806);
+  command(0, 0, kTV1FunctionAdjustResolutionSyncH, 224);
+  command(0, 0, kTV1FunctionAdjustResolutionSyncV, 11); 
+  command(0, 0, kTV1FunctionAdjustResolutionSyncPolarity, 0);
+}
+
 void SPKTVOne::signErrorOff() {
     *errorDO = 0;
 }