FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kProjectorInfo.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_PROJECTOR_INFO_H
9 #define K_FIRESYNC_PROJECTOR_INFO_H
10 
11 #include <kFireSync/kNodeDef.h>
12 
13 kBeginHeader()
14 
15 
22 //typedef kObject kProjectorInfo; --forward-declared in kFsDef.x.h
23 
24 typedef struct kDlpc300ExternalSequence
25 {
26  kSize frameRate; //Frame rate.
27  kSize imagesPerFrame; //Number of images per frame.
28  kSize maxSubframeImages; //Maximum number of images in sub-frame display mode.
29  kSize sequenceNumber; //DLPC300 sequence number.
30  kSize startVector; //DLPC300 start vector.
31  kSize subVector; //DLPC300 sub-vector.
32 } kDlpc300ExternalSequence;
33 
34 typedef struct kDlpc300InternalSequence
35 {
36  k64u exposure; //Exposure time (real ns).
37  kSize sequenceNumber; //DLPC300 sequence number.
38  kSize startVector; //DLPC300 start vector.
39  kSize subVector; //DLPC300 sub-vector.
40 } kDlpc300InternalSequence;
41 
42 typedef union kDlpc300VideoSequence
43 {
44  kDlpc300InternalSequence internal;
45  kDlpc300ExternalSequence external;
46 } kDlpc300VideoSequence;
47 
48 kDeclareValue(kFs, kDlpc300VideoSequence, kValue)
49 
50 typedef struct kProjectorFrameRateControl
51 {
52  k32u engineRegister;
53  k8u hsyncWidth;
54  k8u hsyncBackPorch;
55  k8u hsyncFrontPorch;
56  k8u vsyncWidth;
57  k8u vsyncBackPorch;
58  k8u vsyncFrontPorch;
59 } kProjectorFrameRateControl;
60 
61 kDeclareValue(kFs, kProjectorFrameRateControl, kValue)
62 
63 typedef struct kDp01Timing
64 {
65  kProjectorPatternSource patternSource;
66  kProjectorFrameRateControl frameControl;
67  kDlpc300VideoSequence videoSequence;
68  kSize lastFrameImageNumber;
69  k64u patternDuration;
70  k64u imageTime;
71 } kDp01Timing;
72 
73 typedef struct kLp01Timing
74 {
75  k32u colorWeightRed;
76  k32u colorWeightGreen;
77  k32u colorWeightBlue;
78 } kLp01Timing;
79 
80 typedef union kPanelTiming
81 {
82  kLp01Timing lp01;
83  kDp01Timing dp01;
84 } kPanelTiming;
85 
86 typedef struct kProjectorTiming
87 {
88  kSize repeatCount;
89  k64f accurateExposure;
90  kPanelTiming panel;
91 } kProjectorTiming;
92 
93 kDeclareValue(kFs, kProjectorTiming, kValue)
94 
95 
104 kFsFx(kStatus) kProjectorInfo_Construct(kProjectorInfo* info, kProjectorModel model, k64f pixelClockFrequency, kAlloc allocator);
105 
106 kFsFx(kProjectorModel) kProjectorInfo_Model(kProjectorInfo info);
107 
108 kFsFx(kSize) kProjectorInfo_Width(kProjectorInfo info);
109 kFsFx(kSize) kProjectorInfo_Height(kProjectorInfo info);
110 
111 kFsFx(k64u) kProjectorInfo_MinExposure(kProjectorInfo info);
112 
113 kFsFx(k32u) kProjectorInfo_MinPatternCount(kProjectorInfo info);
114 kFsFx(k32u) kProjectorInfo_MaxPatternCount(kProjectorInfo info);
115 
116 kFsFx(k32u) kProjectorInfo_MinBitDepth(kProjectorInfo info);
117 kFsFx(k32u) kProjectorInfo_MaxBitDepth(kProjectorInfo info);
118 
119 kFsFx(k32u) kProjectorInfo_MinIntensity(kProjectorInfo info);
120 kFsFx(k32u) kProjectorInfo_MaxIntensity(kProjectorInfo info);
121 
122 kFsFx(k32u) kProjectorInfo_MinPaletteColor(kProjectorInfo info);
123 kFsFx(k32u) kProjectorInfo_MaxPaletteColor(kProjectorInfo info);
124 
125 kFsFx(kProjectorPatternMode) kProjectorInfo_PatternModes(kProjectorInfo info);
126 
127 kFsFx(kBool) kProjectorInfo_HasDynamicFrameRate(kProjectorInfo info);
128 kFsFx(kBool) kProjectorInfo_IsPilotRunNeeded(kProjectorInfo info);
129 kFsFx(kBool) kProjectorInfo_IsCalibrationNeeded(kProjectorInfo info);
130 kFsFx(kBool) kProjectorInfo_HasTempProbe(kProjectorInfo info);
131 
132 kFsFx(k64u) kProjectorInfo_ImageTime(kProjectorInfo info, kSize bitDepth, k64u exposure, kBool dynFrameRate);
133 kFsFx(k64u) kProjectorInfo_FrameTime(kProjectorInfo info, kSize bitDepth, k64u exposure, kBool dynFrameRate);
134 kFsFx(kStatus) kProjectorInfo_CalculateExposure(kProjectorInfo info, kSize bitDepth, k64u exposure, kBool dynFrameRate, kProjectorTiming* timing);
135 kFsFx(k64u) kProjectorInfo_SequenceDuration(kProjectorInfo info, kSize bitDepth, k64u exposure, kBool dynFrameRate, kSize patternCount, kBool sequenceEnabled);
136 kFsFx(k64u) kProjectorInfo_MinimumGap(kProjectorInfo info, kSize bitDepth, k64u exposure, kBool dynFrameRate, kSize patternCount, kBool sequenceEnabled);
137 
138 kFsFx(kProjectorExtension) kProjectorInfo_ExtensionTypes(kProjectorInfo info);
139 
140 kFsFx(k32u) kProjectorInfo_DefaultPatternCount(kProjectorInfo info);
141 kFsFx(kSize) kProjectorInfo_DefaultBitDepth(kProjectorInfo info);
142 kFsFx(kProjectorPatternMode) kProjectorInfo_DefaultPatternMode(kProjectorInfo info);
143 kFsFx(k32u) kProjectorInfo_DefaultPalette(kProjectorInfo info, kSize index);
144 kFsFx(k32u) kProjectorInfo_DefaultIntensity(kProjectorInfo info);
145 kFsFx(k64u) kProjectorInfo_DefaultExposure(kProjectorInfo info);
146 kFsFx(k64u) kProjectorInfo_DefaultGap(kProjectorInfo info);
147 
148 kFsFx(k64u) kProjectorInfo_PilotRunExposure(kProjectorInfo info);
149 kFsFx(k64u) kProjectorInfo_PilotRunPeriod(kProjectorInfo info);
150 
151 kEndHeader()
152 
153 #include <kFireSync/Client/Projector/kProjectorInfo.x.h>
154 
155 #endif
Essential declarations related to FireSync nodes.
Represents supported projector device types.
Represents projector control extension numeric type identifiers.
Represents projector pattern modes.
Represents projector pattern source.
#define kDeclareValue(PREFIX, SYMBOL, BASE)