RS232 control for TVOne products

Dependents:   SPK-DVIMXR

Committer:
tobyspark
Date:
Thu Oct 17 15:49:16 2013 +0000
Revision:
24:4eec37b8387e
Parent:
22:3ad38163cb8b
Resolution Timings - bug fixes; Matrox - support for digital and analogue edition timings of 2048x768

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tobyspark 0:533cfae24a1b 1 // *spark audio-visual and v002
tobyspark 0:533cfae24a1b 2 // RS232 Control for TV-One products
tobyspark 0:533cfae24a1b 3 // Good for 1T-C2-750, others will need some extra work
tobyspark 1:349d6da461df 4
tobyspark 1:349d6da461df 5 /* Copyright (c) 2009 Toby Harris and Anton Marini, MIT License
tobyspark 1:349d6da461df 6 *
tobyspark 1:349d6da461df 7 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
tobyspark 1:349d6da461df 8 * and associated documentation files (the "Software"), to deal in the Software without restriction,
tobyspark 1:349d6da461df 9 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
tobyspark 1:349d6da461df 10 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
tobyspark 1:349d6da461df 11 * furnished to do so, subject to the following conditions:
tobyspark 1:349d6da461df 12 *
tobyspark 1:349d6da461df 13 * The above copyright notice and this permission notice shall be included in all copies or
tobyspark 1:349d6da461df 14 * substantial portions of the Software.
tobyspark 1:349d6da461df 15 *
tobyspark 1:349d6da461df 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
tobyspark 1:349d6da461df 17 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
tobyspark 1:349d6da461df 18 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
tobyspark 1:349d6da461df 19 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
tobyspark 1:349d6da461df 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
tobyspark 1:349d6da461df 21 */
tobyspark 0:533cfae24a1b 22
tobyspark 0:533cfae24a1b 23 #ifndef SPKTVOne_h
tobyspark 0:533cfae24a1b 24 #define SPKTVOne_h
tobyspark 0:533cfae24a1b 25
tobyspark 14:da403a01f9ef 26 // Uncomment if your 750 has had one of the following firmware updates
tobyspark 14:da403a01f9ef 27 // ie. if you have stock firmware (v265) ensure both are commented.
tobyspark 14:da403a01f9ef 28 //#define kTV1Firmware415
tobyspark 14:da403a01f9ef 29 #define kTV1FirmwareSPKDF
tobyspark 0:533cfae24a1b 30
tobyspark 18:d765b0d9271c 31 // Bounding timings for sending RS232 to the unit
tobyspark 18:d765b0d9271c 32 #define kTV1CommandTimeoutMillis 100
tobyspark 18:d765b0d9271c 33 #define kTV1CommandMinimumMillis 30
tobyspark 18:d765b0d9271c 34
tobyspark 0:533cfae24a1b 35 // Sources - Note only higher end models have more than 2 in....
tobyspark 0:533cfae24a1b 36 //#pragma mark -
tobyspark 0:533cfae24a1b 37 //#pragma mark Channel / Sources
tobyspark 0:533cfae24a1b 38
tobyspark 0:533cfae24a1b 39 #define kTV1SourceRGB1 0x10
tobyspark 0:533cfae24a1b 40 #define kTV1SourceRGB2 0x11
tobyspark 0:533cfae24a1b 41 #define kTV1SourceRGB3 0x12
tobyspark 0:533cfae24a1b 42 #define kTV1SourceRGB4 0x13
tobyspark 0:533cfae24a1b 43 #define kTV1SourceRGB5 0x14
tobyspark 0:533cfae24a1b 44 #define kTV1SourceRGB6 0x15
tobyspark 12:e67d849928b0 45 #define kTV1SourceSIS1 0xF0
tobyspark 12:e67d849928b0 46 #define kTV1SourceSIS2 0xF1
tobyspark 14:da403a01f9ef 47
tobyspark 0:533cfae24a1b 48 // Window
tobyspark 0:533cfae24a1b 49 //#pragma mark -
tobyspark 0:533cfae24a1b 50 //#pragma mark Window IDs
tobyspark 0:533cfae24a1b 51
tobyspark 0:533cfae24a1b 52 #define kTV1WindowIDA 'A' // aka 0x41
tobyspark 0:533cfae24a1b 53 #define kTV1WindowIDB 'B'
tobyspark 0:533cfae24a1b 54 #define kTV1WindowIDZ 'Z'
tobyspark 0:533cfae24a1b 55 #define kTV1WindowIDLogoA 'a' // aka 0x61
tobyspark 0:533cfae24a1b 56 #define kTV1WindowIDLogoB 'b'
tobyspark 0:533cfae24a1b 57
tobyspark 0:533cfae24a1b 58 //#pragma mark -
tobyspark 0:533cfae24a1b 59 //#pragma mark Functions
tobyspark 0:533cfae24a1b 60
tobyspark 0:533cfae24a1b 61 // Complete function list for verbosity. We will probably only be using a small small subset. Useful to have in one place.
tobyspark 0:533cfae24a1b 62
tobyspark 0:533cfae24a1b 63 // Preset & Mixer Mode Functions
tobyspark 0:533cfae24a1b 64 #define kTV1FunctionMode 0x109 // Values: 0 = Switcher, 1 = Independant, 2 = Dual PIP
tobyspark 15:a43672acd7dd 65 #define kTV1FunctionPreset 0x225 // Values: 0 - 9 (Preset 1 to 10) Set the current preset for the following functions. Update: No! Empirically, values are 1-10.
tobyspark 12:e67d849928b0 66 #define kTV1FunctionPresetLoad 0x226 // Values: 1 to Load - switches back to 0 after a load
tobyspark 12:e67d849928b0 67 #define kTV1FunctionPresetStore 0x227 // Values: 1 to Store - switches back to 0 after a store
tobyspark 12:e67d849928b0 68 #define kTV1FunctionPresetErase 0x228 // Values: 1 to Erase - switches back to 0 after erase
tobyspark 12:e67d849928b0 69 #define kTV1FunctionPowerOnPresetStore 0x0C8 // Values: 1 to store - switches back to 0 after a store
tobyspark 0:533cfae24a1b 70
tobyspark 0:533cfae24a1b 71 // Adjust output Functions
tobyspark 0:533cfae24a1b 72 //#pragma mark -
tobyspark 0:533cfae24a1b 73 #define kTV1FunctionAdjustOutputsOutputEnable 0x170 // Values: 0 = Blanked 1 = Active
tobyspark 0:533cfae24a1b 74 #define kTV1FunctionAdjustOutputsLockSource 0x149 // Values: 0x10 to 0x1F = RGB1 - RGB 16 (see manual for other values corresponding to SDI, CV etc)
tobyspark 0:533cfae24a1b 75 #define kTV1FunctionAdjustOutputsLockMethod 0x10A // Values: 0 = Off, 1 = Genlock, 2 = Lock & Mix (see manual for other values)
tobyspark 0:533cfae24a1b 76 #define kTV1FunctionAdjustOutputsLockHShift 0x14A // Values: -4096 - 4096
tobyspark 0:533cfae24a1b 77 #define kTV1FunctionAdjustOutputsLockVShift 0x14B // Values: -4096 - 4096
tobyspark 0:533cfae24a1b 78 #define kTV1FunctionAdjustOutputsOutputResolution 0x083 // Values: 0 - 1000 (which resolution, "pragma mark" Resolutions for list.
tobyspark 0:533cfae24a1b 79 #define kTV1FunctionAdjustOutputsOutputImageTypeA 0x0E2 // Values: 0 = RGBHV, 2 = RGBsB, 3 = YUV, 4 = tlYUV, 7 = tlRGB (Analog)
tobyspark 0:533cfae24a1b 80 #define kTV1FunctionAdjustOutputsOutputImageTypeD 0x16C // Values: 0 = RGBHV, 3 = YUV, 9 = Not Available (?) (Digital)
tobyspark 0:533cfae24a1b 81 #define kTV1FunctionAdjustOutputsHDCPRequired 0x233 // Values: 0 = Off, 1 = On (if display supports it)
tobyspark 0:533cfae24a1b 82 #define kTV1FunctionAdjustOutputsHDCPStatus 0x234 // Values: 0 = Unavailable, 1 = Supported, 2 = Active, 3 = Repeater Supported, 4 = Repeater Active
tobyspark 0:533cfae24a1b 83 #define kTV1FunctionAdjustOutputsBackgroundY 0x13B // Values: 16-235
tobyspark 0:533cfae24a1b 84 #define kTV1FunctionAdjustOutputsBackgroundU 0x13C // Values: 16-235
tobyspark 0:533cfae24a1b 85 #define kTV1FunctionAdjustOutputsBackgroundV 0x13D // Values: 16-235
tobyspark 0:533cfae24a1b 86 #define kTV1FunctionAdjustOutputsSDIOptimization 0x197 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 87 #define kTV1FunctionAdjustOutputsOutputStandard 0x101 // Values: 0 = NTSC/PAL, 1 = PAL-M / PAL-N, 2 = SECAM
tobyspark 0:533cfae24a1b 88 #define kTV1FunctionAdjustOutputsCVYCIRE 0x133 // Values: -0.75 - 12.5
tobyspark 0:533cfae24a1b 89 #define kTV1FunctionAdjustOutputsCVYCHue 0x139 // Values: -22 - 22
tobyspark 0:533cfae24a1b 90 #define kTV1FunctionAdjustOutputsSCHPhase 0x085 // Values: -180 - 180
tobyspark 0:533cfae24a1b 91 #define kTV1FunctionAdjustOutputsLumaBandwidth 0x134 // Values: 0 = Low, 1 = Medium, 2 = High
tobyspark 0:533cfae24a1b 92 #define kTV1FunctionAdjustOutputsChromaBandwidth 0x135 // Values: 0 = Low, 1 = Medium, 2 = High
tobyspark 0:533cfae24a1b 93 #define kTV1FunctionAdjustOutputsOutputChromaDelay 0x137 // Values: -4 - 3
tobyspark 0:533cfae24a1b 94 #define kTV1FunctionAdjustOutputsPalWSS 0x130 // Values: 0-8 (see manual for value explanation)
tobyspark 0:533cfae24a1b 95 #define kTV1FunctionAdjustOutputsTake 0x11E // Values: 0->1 Perform a Preview -> Program transition (?)
tobyspark 0:533cfae24a1b 96 #define kTV1FunctionAdjustOutputsVolume 0x201 // Values: -16 - 15 (-16 = Mute)
tobyspark 0:533cfae24a1b 97 // Left out additional functions specific to SDI Audio Channel adjustment
tobyspark 0:533cfae24a1b 98
tobyspark 0:533cfae24a1b 99 // Adjust Windows Functions - Note for window functions, you must specify a Window to work on via the below value
tobyspark 0:533cfae24a1b 100 //#pragma mark -
tobyspark 0:533cfae24a1b 101
tobyspark 0:533cfae24a1b 102 #define kTV1FunctionAdjustWindowsWindowSource 0x82 // Values: 0x10 to 0x1F = RGB1 to RGB16
tobyspark 0:533cfae24a1b 103 #define kTV1FunctionAdjustWindowsSelectUniSource 0x241 // Values: 0xE0 to OxEF for universal source 1 - 16
tobyspark 0:533cfae24a1b 104 #define kTV1FunctionAdjustWindowsSourceResolution 0xF8 // Values: (Read only) Resolution #
tobyspark 0:533cfae24a1b 105 #define kTV1FunctionAdjustWindowsEnable 0x12B // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 106 #define kTV1FunctionAdjustWindowsZoomLevel 0x86 // Values: 100 - 1000
tobyspark 0:533cfae24a1b 107 #define kTV1FunctionAdjustWindowsZoomLevelH 0x103 // Values: 100 - 1000 (only if advanced aspect ratio mode is enabled)
tobyspark 0:533cfae24a1b 108 #define kTV1FunctionAdjustWindowsZoomLevelV 0x105 // Values: 100 - 1000 (only if advanced aspect ratio mode is enabled)
tobyspark 0:533cfae24a1b 109 #define kTV1FunctionAdjustWindowsAspectRationIn 0x107 // Values: 0.1:1 - 9.99:1 (read only)
tobyspark 0:533cfae24a1b 110 #define kTV1FunctionAdjustWindowsZoomPanH 0x9F // Values: 0 - 100
tobyspark 0:533cfae24a1b 111 #define kTV1FunctionAdjustWindowsZoomPanV 0xA0 // Values: 0 - 100
tobyspark 0:533cfae24a1b 112 #define kTV1FunctionAdjustWindowsImageFreeze 0x9C // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 113 #define kTV1FunctionAdjustWindowsCropH 0x223 // Values: 0 - 100
tobyspark 0:533cfae24a1b 114 #define kTV1FunctionAdjustWindowsCropV 0x224 // Values: 0 - 100
tobyspark 0:533cfae24a1b 115 #define kTV1FunctionAdjustWindowsOutShiftH 0xAD // Values: -4096 - 4096
tobyspark 0:533cfae24a1b 116 #define kTV1FunctionAdjustWindowsOutShiftV 0xAE // Values: -4096 - 4096
tobyspark 0:533cfae24a1b 117 #define kTV1FunctionAdjustWindowsShrinkLevel 0x87 // Values: 10 - 100
tobyspark 0:533cfae24a1b 118 #define kTV1FunctionAdjustWindowsShrinkLevelH 0x104 // Values: 10 - 100 (only if advanced aspect ratio mode is enabled)
tobyspark 0:533cfae24a1b 119 #define kTV1FunctionAdjustWindowsShrinkLevelV 0x106 // Values: 10 - 100 (only if advanced aspect ratio mode is enabled)
tobyspark 0:533cfae24a1b 120 #define kTV1FunctionAdjustWindowsShrinkEnable 0x18E // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 121 #define kTV1FunctionAdjustWindowsShrinkPosH 0xDA // Values: 0 - 100
tobyspark 0:533cfae24a1b 122 #define kTV1FunctionAdjustWindowsShrinkPosV 0xDB // Values: 0 - 100
tobyspark 0:533cfae24a1b 123 #define kTV1FunctionAdjustWindowsInTopLeftH 0x21B // ??
tobyspark 0:533cfae24a1b 124 #define kTV1FunctionAdjustWindowsInTopLeftV 0x21D // ??
tobyspark 0:533cfae24a1b 125 #define kTV1FunctionAdjustWindowsInSizeH 0x21C // ??
tobyspark 0:533cfae24a1b 126 #define kTV1FunctionAdjustWindowsInSizeV 0x21E // ??
tobyspark 0:533cfae24a1b 127 #define kTV1FunctionAdjustWindowsOutTopLeftH 0x21F // ??
tobyspark 0:533cfae24a1b 128 #define kTV1FunctionAdjustWindowsOutTopLeftV 0x221 // ??
tobyspark 0:533cfae24a1b 129 #define kTV1FunctionAdjustWindowsOutSizeH 0x220 // ??
tobyspark 0:533cfae24a1b 130 #define kTV1FunctionAdjustWindowsOutTopLeft 0x222 // ??
tobyspark 0:533cfae24a1b 131 #define kTV1FunctionAdjustWindowsAspectChange 0x190 // Values: 0 = Normal, 1 = Letterbox, 2 = PillarBox
tobyspark 0:533cfae24a1b 132 #define kTV1FunctionAdjustWindowsAspectAdjust 0x102 // Values: 0 = Simple, 1 = Advanced
tobyspark 0:533cfae24a1b 133 #define kTV1FunctionAdjustWindowsFlickerReduction 0x92 // Values: 0 = Off, 1 = Low, 2 = Medium, 3 = High
tobyspark 0:533cfae24a1b 134 #define kTV1FunctionAdjustWindowsImageSmoothing 0xA1 // Values: 0 = Off, 1 = Medium, 2 = High
tobyspark 0:533cfae24a1b 135 #define kTV1FunctionAdjustWindowsImageFlip 0x95 // Values: 0 = Off, 1 = Horizontal, 2 = Vertical, 3 = H & V
tobyspark 0:533cfae24a1b 136 #define kTV1FunctionAdjustWindowsTemporalInterp 0x229 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 137 #define kTV1FunctionAdjustWindowsMaxFadeLevel 0x10F // Values: 0 - 100
tobyspark 0:533cfae24a1b 138 #define kTV1FunctionAdjustWindowsFadeOutIn 0x193 // Values -1 = Fade Out, 0 = No Action, 1 = Fade In
tobyspark 0:533cfae24a1b 139 #define kTV1FunctionAdjustWindowsLayerPriority 0x144 // Values: 0 - 5
tobyspark 0:533cfae24a1b 140 #define kTV1FunctionAdjustWindowsHeadPhonVolume 0xFD // Vaules: -16 - 15 (-16 = Mute)
tobyspark 0:533cfae24a1b 141 #define kTV1FunctionAdjustWindowsAudioVolume 0x206 // Vaules: -128 - 127 (
tobyspark 0:533cfae24a1b 142 #define kTV1FunctionAdjustWindowsAudioVolumeEnable 0x206 // Vaules: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 143
tobyspark 0:533cfae24a1b 144 // Adjust Keyer
tobyspark 0:533cfae24a1b 145 //#pragma mark -
tobyspark 0:533cfae24a1b 146
tobyspark 0:533cfae24a1b 147 #define kTV1FunctionAdjustKeyerEnable 0x127 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 148 #define kTV1FunctionAdjustKeyerMinY 0xAF // Values: 0 - 255
tobyspark 0:533cfae24a1b 149 #define kTV1FunctionAdjustKeyerMinU 0xB0 // Values: 0 - 255
tobyspark 0:533cfae24a1b 150 #define kTV1FunctionAdjustKeyerMinV 0xB1 // Values: 0 - 255
tobyspark 0:533cfae24a1b 151 #define kTV1FunctionAdjustKeyerMaxY 0xB2 // Values: 0 - 255
tobyspark 0:533cfae24a1b 152 #define kTV1FunctionAdjustKeyerMaxU 0xB3 // Values: 0 - 255
tobyspark 0:533cfae24a1b 153 #define kTV1FunctionAdjustKeyerMaxV 0xB4 // Values: 0 - 255
tobyspark 0:533cfae24a1b 154 #define kTV1FunctionAdjustKeyerSoftnessY 0x121 // Values: 0 - 255
tobyspark 0:533cfae24a1b 155 #define kTV1FunctionAdjustKeyerSoftnessU 0x123 // Values: 0 - 255
tobyspark 0:533cfae24a1b 156 #define kTV1FunctionAdjustKeyerSoftnessV 0x125 // Values: 0 - 255
tobyspark 0:533cfae24a1b 157 #define kTV1FunctionAdjustKeyerInvertY 0x122 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 158 #define kTV1FunctionAdjustKeyerInvertU 0x124 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 159 #define kTV1FunctionAdjustKeyerInvertV 0x126 // Values: 0 = Off, 1 = On (Typo in documentation, noted as 0x156)
tobyspark 0:533cfae24a1b 160 #define kTV1FunctionAdjustKeyerSwap 0x144 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 161
tobyspark 0:533cfae24a1b 162 // Edge Blending (not used in TVOne 1T-C2-750, therefore not bothered with for now)
tobyspark 0:533cfae24a1b 163 //#define kTV1FunctionAdjustEdgeBlendXXX
tobyspark 0:533cfae24a1b 164
tobyspark 0:533cfae24a1b 165 // Adjust Logos
tobyspark 0:533cfae24a1b 166 //#pragma mark -
tobyspark 0:533cfae24a1b 167
tobyspark 0:533cfae24a1b 168 #define kTV1FunctionAdjustLogoEnable 0x12B // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 169 #define kTV1FunctionAdjustLogoNumber 0x143 // Values: 0 - 9 (Logo Selection)
tobyspark 0:533cfae24a1b 170 #define kTV1FunctionAdjustLogoOutShiftH 0xAD // Values: 0 - 100
tobyspark 0:533cfae24a1b 171 #define kTV1FunctionAdjustLogoOutShiftV 0xAE // Values: 0 - 100
tobyspark 0:533cfae24a1b 172 #define kTV1FunctionAdjustLogoMaxFadeLevel 0x10F // Values: 0 - 100
tobyspark 0:533cfae24a1b 173 #define kTV1FunctionAdjustLogoLayerPriority 0x144 // Values: 0 - 5
tobyspark 0:533cfae24a1b 174
tobyspark 0:533cfae24a1b 175 // Adjust Borders
tobyspark 0:533cfae24a1b 176 //#pragma mark -
tobyspark 0:533cfae24a1b 177
tobyspark 0:533cfae24a1b 178 #define kTV1FunctionAdjustBorderEnable 0x150 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 179 #define kTV1FunctionAdjustBorderSizeH 0x151 // Values: 0 - 99
tobyspark 0:533cfae24a1b 180 #define kTV1FunctionAdjustBorderSizeV 0x152 // Values: 0 - 99
tobyspark 0:533cfae24a1b 181 #define kTV1FunctionAdjustBorderOffsetH 0x153 // Values: 0 - 99
tobyspark 0:533cfae24a1b 182 #define kTV1FunctionAdjustBorderOffsetV 0x154 // Values: 0 - 99
tobyspark 0:533cfae24a1b 183 #define kTV1FunctionAdjustBorderY 0x155 // Values: 16 - 235
tobyspark 0:533cfae24a1b 184 #define kTV1FunctionAdjustBorderU 0x156 // Values: 16 - 240
tobyspark 0:533cfae24a1b 185 #define kTV1FunctionAdjustBorderV 0x157 // Values: 16 - 240
tobyspark 0:533cfae24a1b 186 #define kTV1FunctionAdjustBorderOpacity 0x158 // Values: 0 - 100 ( 0 = Transparent, 100 = Opaque)
tobyspark 0:533cfae24a1b 187
tobyspark 0:533cfae24a1b 188 // Adjust Sources - Note: These functions require the Channel parameter to be properly set. Not all functions take all channels.
tobyspark 0:533cfae24a1b 189 //#pragma mark -
tobyspark 0:533cfae24a1b 190
tobyspark 0:533cfae24a1b 191 #define kTV1FunctionAdjustSourceTestCard 0xDC // Values: 0 - 10
tobyspark 0:533cfae24a1b 192 #define kTV1FunctionAdjustSourceAutoSet 0xFE // Values: 1 = Start AutoSet Procedure
tobyspark 0:533cfae24a1b 193 #define kTV1FunctionAdjustSourceAspectCorrect 0x240 // Values: 0 = Fill, 1 = Aspect, 2 = H-Fit, 3 = V-Fit, 4 = 1:1
tobyspark 0:533cfae24a1b 194 #define kTV1FunctionAdjustSourceEDID 0x243 // Values: 0 - 7 (edid entry number)
tobyspark 0:533cfae24a1b 195 #define kTV1FunctionAdjustSourceEDIDCapureID 0x244 // Values: 0 - 7 (edid entry number) - entry to grab into
tobyspark 0:533cfae24a1b 196 #define kTV1FunctionAdjustSourceEditCaptureGrab 0x245 // Values: 1 performs grab of Edid to currently set EDIDCapureID
tobyspark 0:533cfae24a1b 197 #define kTV1FunctionAdjustSourceHDCPAdvertize 0x237 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 198 #define kTV1FunctionAdjustSourceHDCPStatus 0x238 // Values: 0 = Inactive, 1 = Active (read only)
tobyspark 0:533cfae24a1b 199 #define kTV1FunctionAdjustSourcePositionH 0xB6 // Values: -100 - 100
tobyspark 0:533cfae24a1b 200 #define kTV1FunctionAdjustSourcePositionV 0xB7 // Values: -100 - 100
tobyspark 0:533cfae24a1b 201 #define kTV1FunctionAdjustSourceSizeH 0xDE // Values: -100 - 100
tobyspark 0:533cfae24a1b 202 #define kTV1FunctionAdjustSourceSizeV 0xDF // Values: -100 - 100
tobyspark 0:533cfae24a1b 203 #define kTV1FunctionAdjustSourceAudioXXX // Ignored for now In source, Option IN source Volume, Balance
tobyspark 0:533cfae24a1b 204 #define kTV1FunctionAdjustSourceOnSourceLoss 0xA3 // Values: 0 = Show, 1 = Freeze, 2 = Blue, 3 = Black, 4 = Remove
tobyspark 0:533cfae24a1b 205 #define kTV1FunctionAdjustSourceSourceStable 0x22A // Values: 0 = Unstable, 1 = Stable
tobyspark 0:533cfae24a1b 206 #define kTV1FunctionAdjustSourcePixelPhase 0x91 // Values: 0 - 31
tobyspark 0:533cfae24a1b 207 #define kTV1FunctionAdjustSourceRGBInType 0xC1 // Values: 0 = Auto, 1 = D-RGB, 2 = D-YUV, 3 = A-RGB, 4 = A-YUV (Digital / Analog)
tobyspark 0:533cfae24a1b 208 #define kTV1FunctionAdjustSourceRGBContributionR 0xC5 // Values: 75 - 150
tobyspark 0:533cfae24a1b 209 #define kTV1FunctionAdjustSourceRGBContributionG 0xC6 // Values: 75 - 150
tobyspark 0:533cfae24a1b 210 #define kTV1FunctionAdjustSourceRGBContributionB 0xC7 // Values: 75 - 150
tobyspark 0:533cfae24a1b 211 #define kTV1FunctionAdjustSourceYUVSetup 0x23E // Values: 0 = 0 IRE, 1 = 7.5 IRE
tobyspark 0:533cfae24a1b 212 #define kTV1FunctionAdjustSourceDeInterlace 0xB8 // Values: 0 = Normal, 1 = Auto, 2 = Film 3:2, 3 = Motion Compensation Low, 4 = Motion Compensation Medium, 5 = Motion Compensation High, 6 = Frame / Bob
tobyspark 0:533cfae24a1b 213 #define kTV1FunctionAdjustSourceFilmMode 0xE3 // Values: 0 = Not Detected 1 = Detected (read only)
tobyspark 0:533cfae24a1b 214 #define kTV1FunctionAdjustSourceDiagonalInterp 0x22B // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 215 #define kTV1FunctionAdjustSourceNoiseReduction 0x23F // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 216 #define kTV1FunctionAdjustSourceBrightness 0xBB // Values: 0 - 180
tobyspark 0:533cfae24a1b 217 #define kTV1FunctionAdjustSourceContrast 0xBC // Values: 0 - 180
tobyspark 0:533cfae24a1b 218 #define kTV1FunctionAdjustSourceSaturation 0xB9 // Values: 0 - 180
tobyspark 0:533cfae24a1b 219 #define kTV1FunctionAdjustSourceHue 0xBA // Values: -180 - 180
tobyspark 0:533cfae24a1b 220 #define kTV1FunctionAdjustSourceSharpness 0x80 // Values: -7 - 7
tobyspark 0:533cfae24a1b 221 #define kTV1FunctionAdjustSourceLumaDelay 0xBD // Values: -4 -3
tobyspark 0:533cfae24a1b 222 #define kTV1FunctionAdjustSourceFieldSwap 0xC9 // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 223 #define kTV1FunctionAdjustSourceFieldOffset 0x196 // Values: = 0 - 7
tobyspark 0:533cfae24a1b 224 #define kTV1FunctionAdjustSourceAudioChannel1 // Ignored for now
tobyspark 0:533cfae24a1b 225 #define kTV1FunctionAdjustSourceAudioChannel2 // Ignored for now
tobyspark 0:533cfae24a1b 226 #define kTV1FunctionAdjustSourceAudioChannel3 // Ignored for now
tobyspark 0:533cfae24a1b 227 #define kTV1FunctionAdjustSourceAudioChannel4 // Ignored for now
tobyspark 0:533cfae24a1b 228 #define kTV1FunctionAdjustSourceAudioChannel5 // Ignored for now
tobyspark 0:533cfae24a1b 229 #define kTV1FunctionAdjustSourceAudioChannel6 // Ignored for now
tobyspark 0:533cfae24a1b 230 #define kTV1FunctionAdjustSourceAudioChannel7 // Ignored for now
tobyspark 0:533cfae24a1b 231
tobyspark 0:533cfae24a1b 232 // Adjust Audio
tobyspark 0:533cfae24a1b 233 //#pragma mark -
tobyspark 0:533cfae24a1b 234 #define kTV1FunctionAdjustAudioXXX // Ignored for now
tobyspark 0:533cfae24a1b 235
tobyspark 0:533cfae24a1b 236 // Adjust Transitions
tobyspark 0:533cfae24a1b 237 //#pragma mark -
tobyspark 0:533cfae24a1b 238 #define kTV1FunctionAdjustTransitionType 0x112 // Values: 0 = Cut, 1 = Fade, 2 = Wipe, 3 = Push
tobyspark 0:533cfae24a1b 239 #define kTV1FunctionAdjustTransitionFadeTime 0xF5 // Values: 0 - 50 (0 - 5.0 seconds)
tobyspark 0:533cfae24a1b 240 #define kTV1FunctionAdjustTransitionWipeType 0x145 // Values: 0 = Left -> Right 1 = Right -> Left, 2 = Up -> Down, 3 = Down -> Up, 4 = Diagonal, 5 = Diamond
tobyspark 0:533cfae24a1b 241 #define kTV1FunctionAdjustTransitionWipeSize 0x146 // Values: 10 - 2000
tobyspark 0:533cfae24a1b 242
tobyspark 0:533cfae24a1b 243 // Adjust Resolutions
tobyspark 0:533cfae24a1b 244
tobyspark 0:533cfae24a1b 245 /*
tobyspark 0:533cfae24a1b 246 Note: You MUST set the 'Image to adjust' value to the correct value first,
tobyspark 0:533cfae24a1b 247 and only then change the other values - otherwise you may be adjusting the wrong entry.
tobyspark 0:533cfae24a1b 248 The user should not adjust the 'Image to adjust' entry using the front panel whilst also accessing it via RS232
tobyspark 0:533cfae24a1b 249 */
tobyspark 0:533cfae24a1b 250
tobyspark 0:533cfae24a1b 251 //#pragma mark -
tobyspark 0:533cfae24a1b 252 #define kTV1FunctionAdjustResolutionImageToAdjust 0x81 // Values: 0 - 1000 - the preset you wish to manipulate
tobyspark 0:533cfae24a1b 253 #define kTV1FunctionAdjustResolutionInterlaced 0xCA // Values: 0 = Off, 1 = On
tobyspark 0:533cfae24a1b 254 #define kTV1FunctionAdjustResolutionFreqCoarseH 0xBE // Values: 10,000 - 200,000
tobyspark 0:533cfae24a1b 255 #define kTV1FunctionAdjustResolutionFreqFineH 0xBF // Values: 10,000 - 200,000
tobyspark 0:533cfae24a1b 256 #define kTV1FunctionAdjustResolutionActiveH 0x96 // Values: 64 - 2047
tobyspark 0:533cfae24a1b 257 #define kTV1FunctionAdjustResolutionActiveV 0x97 // Values: 64 - 2047
tobyspark 0:533cfae24a1b 258 #define kTV1FunctionAdjustResolutionStartH 0x8B // Values: 0 - 1023
tobyspark 0:533cfae24a1b 259 #define kTV1FunctionAdjustResolutionStartV 0x8C // Values: 0 - 1023
tobyspark 24:4eec37b8387e 260 #define kTV1FunctionAdjustResolutionCLKS 0x8D // Values: 64 - 4095
tobyspark 24:4eec37b8387e 261 #define kTV1FunctionAdjustResolutionLines 0x8E // Values: 64 - 2047
tobyspark 0:533cfae24a1b 262 #define kTV1FunctionAdjustResolutionSyncH 0x8F // Values: 8 - 1023
tobyspark 0:533cfae24a1b 263 #define kTV1FunctionAdjustResolutionSyncV 0x90 // Values: 1 - 1023
tobyspark 0:533cfae24a1b 264 #define kTV1FunctionAdjustResolutionSyncPolarity 0x94 // Values: 0 - 3 (++, +-. -+. --)
tobyspark 0:533cfae24a1b 265
tobyspark 0:533cfae24a1b 266 // Adjust Misc
tobyspark 0:533cfae24a1b 267 //#pragma mark -
tobyspark 0:533cfae24a1b 268 #define kTV1FunctionAdjustFrontPanelLock 0xFC // Values: 0 = Unlocked, 1 = Locked
tobyspark 10:5f398fc9b5c1 269 #define kTV1FunctionReadSoftwareVersion 0x0D2
tobyspark 10:5f398fc9b5c1 270 #define kTV1FunctionReadProductType 0x0C4
tobyspark 10:5f398fc9b5c1 271 #define kTV1FunctionReadBoardType 0x0C2
tobyspark 0:533cfae24a1b 272
tobyspark 0:533cfae24a1b 273 // Resolutions
tobyspark 0:533cfae24a1b 274 //#pragma mark -
tobyspark 0:533cfae24a1b 275 //#pragma mark Resolutions
tobyspark 0:533cfae24a1b 276
tobyspark 0:533cfae24a1b 277 // Selected Common Resolutions and resolution Descriptions. For a complete list, use the menu system in your TV1
tobyspark 0:533cfae24a1b 278
tobyspark 0:533cfae24a1b 279 // Res #27 640x480, 59.97Hz
tobyspark 0:533cfae24a1b 280 // Res #28 640x480, 60Hz
tobyspark 0:533cfae24a1b 281 // Res #99 1920x1080, 60Hz
tobyspark 0:533cfae24a1b 282 // Res #104 = 1920x1200, 60Hz
tobyspark 0:533cfae24a1b 283
tobyspark 0:533cfae24a1b 284 #define kTV1ResolutionVGA 0x8
tobyspark 0:533cfae24a1b 285 #define kTV1ResolutionNTSC 0xF
tobyspark 0:533cfae24a1b 286 #define kTV1ResolutionPAL 0x10
tobyspark 0:533cfae24a1b 287 #define kTV1ResolutionSVGA 0x12
tobyspark 0:533cfae24a1b 288 #define kTV1ResolutionXGAp5994 0x1B
tobyspark 0:533cfae24a1b 289 #define kTV1ResolutionXGAp60 0x1C
tobyspark 0:533cfae24a1b 290 #define kTV1ResolutionXGAp75 0x1D
tobyspark 0:533cfae24a1b 291 #define kTV1Resolution720p2398 0x27
tobyspark 0:533cfae24a1b 292 #define kTV1Resolution720p24 0x28
tobyspark 0:533cfae24a1b 293 #define kTV1Resolution720p25 0x29
tobyspark 0:533cfae24a1b 294 #define kTV1Resolution720p2997 0x2A
tobyspark 0:533cfae24a1b 295 #define kTV1Resolution720p30 0x2B
tobyspark 0:533cfae24a1b 296 #define kTV1Resolution720p50 0x2C
tobyspark 0:533cfae24a1b 297 #define kTV1Resolution720p5994 0x2D
tobyspark 0:533cfae24a1b 298 #define kTV1Resolution720p60 0x2E
tobyspark 0:533cfae24a1b 299 #define kTV1ResolutionWXGA5by3p60 0x30
tobyspark 0:533cfae24a1b 300 #define kTV1ResolutionWXGA5by3p75 0x31
tobyspark 0:533cfae24a1b 301 #define kTV1ResolutionWXGA16by10p60 0x34
tobyspark 0:533cfae24a1b 302 #define kTV1ResolutionWXGA16by10p75 0x35
tobyspark 0:533cfae24a1b 303 #define kTV1ResolutionSGAp60 0x3A
tobyspark 0:533cfae24a1b 304 #define kTV1ResolutionSGAp75 0x3B
tobyspark 0:533cfae24a1b 305 #define kTV1ResolutionWSXGAp60 0x40
tobyspark 0:533cfae24a1b 306
tobyspark 14:da403a01f9ef 307 #if defined kTV1Firmware415
tobyspark 14:da403a01f9ef 308 #define kTV1ResolutionUXGAp60 0x47
tobyspark 14:da403a01f9ef 309 #define kTV1ResolutionUXGAp75 0x4A
tobyspark 14:da403a01f9ef 310 #define kTV1ResolutionUXGAp85 0x4B
tobyspark 14:da403a01f9ef 311 #define kTV1ResolutionWSXGAPLUSp60 0x53
tobyspark 0:533cfae24a1b 312 #define kTV1Resolution1080p60 0x6D
tobyspark 0:533cfae24a1b 313 #define kTV1Resolution1080p75 0x66
tobyspark 14:da403a01f9ef 314 #define kTV1ResolutionWUXGAp60 0x69
tobyspark 14:da403a01f9ef 315 #define kTV1ResolutionWUXGAp75 0x6C
tobyspark 14:da403a01f9ef 316 #define kTV1ResolutionWUXGAp85 0x6D
tobyspark 14:da403a01f9ef 317
tobyspark 14:da403a01f9ef 318 #elif defined kTV1FirmwareSPKDF
tobyspark 14:da403a01f9ef 319 #define kTV1ResolutionUXGAp60 76
tobyspark 14:da403a01f9ef 320 #define kTV1ResolutionUXGAp75 79
tobyspark 14:da403a01f9ef 321 #define kTV1ResolutionUXGAp85 80
tobyspark 14:da403a01f9ef 322 #define kTV1ResolutionWSXGAPLUSp60 85
tobyspark 22:3ad38163cb8b 323 #define kTV1Resolution1080p2398 99
tobyspark 22:3ad38163cb8b 324 #define kTV1Resolution1080p24 101
tobyspark 22:3ad38163cb8b 325 #define kTV1Resolution1080p25 103
tobyspark 22:3ad38163cb8b 326 #define kTV1Resolution1080p2997 104
tobyspark 22:3ad38163cb8b 327 #define kTV1Resolution1080p30 105
tobyspark 22:3ad38163cb8b 328 #define kTV1Resolution1080p50 106
tobyspark 22:3ad38163cb8b 329 #define kTV1Resolution1080p5996 108
tobyspark 14:da403a01f9ef 330 #define kTV1Resolution1080p60 109
tobyspark 14:da403a01f9ef 331 #define kTV1Resolution1080p75 112
tobyspark 14:da403a01f9ef 332 #define kTV1ResolutionWUXGAp60 115
tobyspark 14:da403a01f9ef 333 #define kTV1ResolutionWUXGAp75 118
tobyspark 14:da403a01f9ef 334 #define kTV1ResolutionWUXGAp85 119
tobyspark 14:da403a01f9ef 335
tobyspark 14:da403a01f9ef 336 #define kTV1ResolutionDualHeadSVGAp60 75
tobyspark 14:da403a01f9ef 337 #define kTV1ResolutionDescriptionDualHeadSVGAp60 "Dual Head SVGA (1600x600) @ 60Hz"
tobyspark 14:da403a01f9ef 338 #define kTV1ResolutionDualHeadXGAp60 123
tobyspark 14:da403a01f9ef 339 #define kTV1ResolutionDescriptionDualHeadXGAp60 "Dual Head XGA (2048x768) @ 60 Hz"
tobyspark 14:da403a01f9ef 340 #define kTV1ResolutionTripleHeadVGAp60 90
tobyspark 14:da403a01f9ef 341 #define kTV1ResolutionDescriptionTripleHeadVGAp60 "Triple Head VGA (1920x480) @ 60Hz"
tobyspark 14:da403a01f9ef 342
tobyspark 0:533cfae24a1b 343 #else
tobyspark 0:533cfae24a1b 344 #define kTV1Resolution1080p2398 0x60
tobyspark 0:533cfae24a1b 345 #define kTV1Resolution1080p24 0x62
tobyspark 0:533cfae24a1b 346 #define kTV1Resolution1080p25 0x64
tobyspark 0:533cfae24a1b 347 #define kTV1Resolution1080p2997 0x65
tobyspark 0:533cfae24a1b 348 #define kTV1Resolution1080p30 0x66
tobyspark 0:533cfae24a1b 349 #define kTV1Resolution1080p50 0x67
tobyspark 0:533cfae24a1b 350 #define kTV1Resolution1080p5996 0x69
tobyspark 0:533cfae24a1b 351 #define kTV1Resolution1080p60 0x6A
tobyspark 0:533cfae24a1b 352 #define kTV1Resolution1080p75 0x6D
tobyspark 0:533cfae24a1b 353 #define kTV1ResolutionWUXGAp60 0x70
tobyspark 0:533cfae24a1b 354 #define kTV1ResolutionWUXGAp75 0x73
tobyspark 0:533cfae24a1b 355 #define kTV1ResolutionWUXGAp85 0x74
tobyspark 0:533cfae24a1b 356 #endif
tobyspark 0:533cfae24a1b 357
tobyspark 0:533cfae24a1b 358 #define kTV1ResolutionDescriptionVGA "VGA (640x480) @ 60Hz"
tobyspark 0:533cfae24a1b 359 #define kTV1ResolutionDescriptionNTSC "NTSC (720x480 @ 59.95Hz)"
tobyspark 0:533cfae24a1b 360 #define kTV1ResolutionDescriptionPAL "PAL (720x576 @ 50Hz)"
tobyspark 0:533cfae24a1b 361 #define kTV1ResolutionDescriptionSVGA "SVGA (800x600) @ 60Hz"
tobyspark 0:533cfae24a1b 362 #define kTV1ResolutionDescriptionXGAp5994 "XGA (1024x768) @ 59.94Hz"
tobyspark 0:533cfae24a1b 363 #define kTV1ResolutionDescriptionXGAp60 "XGA (1024x768) @ 60Hz"
tobyspark 0:533cfae24a1b 364 #define kTV1ResolutionDescriptionXGAp75 "XGA (1024x768) @ 75Hz"
tobyspark 0:533cfae24a1b 365 #define kTV1ResolutionDescription720p2398 "720p HD (1280x720) @ 23.98Hz"
tobyspark 0:533cfae24a1b 366 #define kTV1ResolutionDescription720p24 "720p HD (1280x720) @ 24Hz"
tobyspark 0:533cfae24a1b 367 #define kTV1ResolutionDescription720p25 "720p HD (1280x720) @ 25Hz"
tobyspark 0:533cfae24a1b 368 #define kTV1ResolutionDescription720p2997 "720p HD (1280x720) @ 29.97Hz"
tobyspark 0:533cfae24a1b 369 #define kTV1ResolutionDescription720p30 "720p HD (1280x720) @ 30Hz"
tobyspark 0:533cfae24a1b 370 #define kTV1ResolutionDescription720p50 "720p HD (1280x720) @ 50Hz"
tobyspark 0:533cfae24a1b 371 #define kTV1ResolutionDescription720p5994 "720p HD (1280x720) @ 59.95Hz"
tobyspark 0:533cfae24a1b 372 #define kTV1ResolutionDescription720p60 "720p HD (1280x720) @ 60Hz"
tobyspark 0:533cfae24a1b 373 #define kTV1ResolutionDescriptionWXGA5by3p60 "WXGA (1280x768) @ 60Hz"
tobyspark 0:533cfae24a1b 374 #define kTV1ResolutionDescriptionWXGA5by3p75 "WXGA (1280x768) @ 75Hz"
tobyspark 0:533cfae24a1b 375 #define kTV1ResolutionDescriptionWXGA16by10p60 "WXGA (1280x800) @ 60Hz"
tobyspark 0:533cfae24a1b 376 #define kTV1ResolutionDescriptionWXGA16by10p75 "WXGA (1280x800) @ 75Hz"
tobyspark 0:533cfae24a1b 377 #define kTV1ResolutionDescriptionSGAp60 "SGA (1280x1024) @ 60Hz"
tobyspark 0:533cfae24a1b 378 #define kTV1ResolutionDescriptionSGAp75 "SGA (1280x1024) @ 75Hz"
tobyspark 0:533cfae24a1b 379 #define kTV1ResolutionDescriptionWSXGAp60 "WSXGA (1440x900) @ 60Hz"
tobyspark 0:533cfae24a1b 380 #define kTV1ResolutionDescriptionUXGAp60 "UXGA (1600x1200) @ 60Hz"
tobyspark 0:533cfae24a1b 381 #define kTV1ResolutionDescriptionUXGAp75 "UXGA (1600x1200) @ 75Hz"
tobyspark 0:533cfae24a1b 382 #define kTV1ResolutionDescriptionUXGAp85 "UXGA (1600x1200) @ 85Hz"
tobyspark 0:533cfae24a1b 383 #define kTV1ResolutionDescriptionWSXGAPLUSp60 "WSXGA+ (1680x1050) @ 60Hz"
tobyspark 0:533cfae24a1b 384 #define kTV1ResolutionDescription1080p2398 "1080p (1920x1080) @ 23.98Hz"
tobyspark 0:533cfae24a1b 385 #define kTV1ResolutionDescription1080p24 "1080p (1920x1080) @ 24Hz"
tobyspark 0:533cfae24a1b 386 #define kTV1ResolutionDescription1080p25 "1080p (1920x1080) @ 25Hz"
tobyspark 0:533cfae24a1b 387 #define kTV1ResolutionDescription1080p2997 "1080p (1920x1080) @ 29.97Hz"
tobyspark 0:533cfae24a1b 388 #define kTV1ResolutionDescription1080p30 "1080p (1920x1080) @ 30Hz"
tobyspark 0:533cfae24a1b 389 #define kTV1ResolutionDescription1080p50 "1080p (1920x1080) @ 50Hz"
tobyspark 0:533cfae24a1b 390 #define kTV1ResolutionDescription1080p5996 "1080p (1920x1080) @ 59.94Hz"
tobyspark 0:533cfae24a1b 391 #define kTV1ResolutionDescription1080p60 "1080p (1920x1080) @ 60Hz"
tobyspark 0:533cfae24a1b 392 #define kTV1ResolutionDescription1080p75 "1080p (1920x1080) @ 75Hz"
tobyspark 0:533cfae24a1b 393 #define kTV1ResolutionDescriptionWUXGAp60 "WUXGA (1920x1200) @ 60Hz"
tobyspark 0:533cfae24a1b 394 #define kTV1ResolutionDescriptionWUXGAp75 "WUXGA (1920x1200) @ 75Hz"
tobyspark 0:533cfae24a1b 395 #define kTV1ResolutionDescriptionWUXGAp85 "WUXGA (1920x1200) @ 85Hz"
tobyspark 0:533cfae24a1b 396
tobyspark 0:533cfae24a1b 397 #define kTV1Resolution2Kp60 0x71
tobyspark 0:533cfae24a1b 398 #define kTV1ResolutionDescription2Kp60 "2K (2048x1080) @ 60Hz"
tobyspark 0:533cfae24a1b 399 #define kTV1ResolutionDoubleWXGA 0x73
tobyspark 0:533cfae24a1b 400 #define kTV1ResolutionDescriptionDoubleWXGA "DWXGA (2880x900) @ 60Hz"
tobyspark 0:533cfae24a1b 401
tobyspark 0:533cfae24a1b 402 #endif