FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kHxCameraState.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_HX_CAMERA_STATE_H
9 #define K_FIRESYNC_HX_CAMERA_STATE_H
10 
11 #include <kFireSync/kNodeDef.h>
12 #include <kFireSync/Hardware/kHxCameraState.x.h>
13 
21 //typedef kObject kHxCamera; --forward-declared in kFsDef.x.h
22 
23 kInlineFx(kStatus) kHxCameraState_SetExposureMode(kHxCameraState state, kCameraExposure mode)
24 {
25  kObj(kHxCameraState, state);
26 
27  obj->exposureMode = mode;
28 
29  return kOK;
30 }
31 
32 kInlineFx(kCameraExposure) kHxCameraState_ExposureMode(kHxCameraState state)
33 {
34  kObj(kHxCameraState, state);
35 
36  return obj->exposureMode;
37 }
38 
39 kInlineFx(kStatus) kHxCameraState_SetMaxBatchSize(kHxCameraState state, kSize maxBatchSize)
40 {
41  kObj(kHxCameraState, state);
42 
43  obj->maxBatchSize = maxBatchSize;
44 
45  return kOK;
46 }
47 
48 kInlineFx(kSize) kHxCameraState_MaxBatchSize(kHxCameraState state)
49 {
50  kObj(kHxCameraState, state);
51 
52  return obj->maxBatchSize;
53 }
54 
55 kInlineFx(kStatus) kHxCameraState_SetDelay(kHxCameraState state, k64u delay)
56 {
57  kObj(kHxCameraState, state);
58 
59  obj->delay = delay;
60 
61  return kOK;
62 }
63 
64 kInlineFx(k64u) kHxCameraState_Delay(kHxCameraState state)
65 {
66  kObj(kHxCameraState, state);
67 
68  return obj->delay;
69 }
70 
71 kInlineFx(kStatus) kHxCameraState_SetExposure(kHxCameraState state, k64u exposure)
72 {
73  kObj(kHxCameraState, state);
74 
75  obj->exposure = exposure;
76 
77  return kOK;
78 }
79 
80 kInlineFx(k64u) kHxCameraState_Exposure(kHxCameraState state)
81 {
82  kObj(kHxCameraState, state);
83 
84  return obj->exposure;
85 }
86 
87 kInlineFx(kStatus) kHxCameraState_SetGap(kHxCameraState state, k64u gap)
88 {
89  kObj(kHxCameraState, state);
90 
91  obj->gap = gap;
92 
93  return kOK;
94 }
95 
96 kInlineFx(k64u) kHxCameraState_Gap(kHxCameraState state)
97 {
98  kObj(kHxCameraState, state);
99 
100  return obj->gap;
101 }
102 
103 kInlineFx(kStatus) kHxCameraState_SetReadoutTime(kHxCameraState state, k64u readoutTime)
104 {
105  kObj(kHxCameraState, state);
106 
107  obj->readoutTime = readoutTime;
108 
109  return kOK;
110 }
111 
112 kInlineFx(k64u) kHxCameraState_ReadoutTime(kHxCameraState state)
113 {
114  kObj(kHxCameraState, state);
115 
116  return obj->readoutTime;
117 }
118 
119 kInlineFx(kStatus) kHxCameraState_SetInterExposureGap(kHxCameraState state, k64u interExposureGap)
120 {
121  kObj(kHxCameraState, state);
122 
123  obj->interExposureGap = interExposureGap;
124 
125  return kOK;
126 }
127 
128 kInlineFx(k64u) kHxCameraState_InterExposureGap(kHxCameraState state)
129 {
130  kObj(kHxCameraState, state);
131 
132  return obj->interExposureGap;
133 }
134 
135 kInlineFx(kStatus) kHxCameraState_SetLeadIn(kHxCameraState state, k64u leadIn)
136 {
137  kObj(kHxCameraState, state);
138 
139  obj->leadIn = leadIn;
140 
141  return kOK;
142 }
143 
144 kInlineFx(k64u) kHxCameraState_LeadIn(kHxCameraState state)
145 {
146  kObj(kHxCameraState, state);
147 
148  return obj->leadIn;
149 }
150 
151 kInlineFx(kStatus) kHxCameraState_SetTotalLeadIn(kHxCameraState state, k64u totalLeadIn)
152 {
153  kObj(kHxCameraState, state);
154 
155  obj->totalLeadIn = totalLeadIn;
156 
157  return kOK;
158 }
159 
160 kInlineFx(k64u) kHxCameraState_TotalLeadIn(kHxCameraState state)
161 {
162  kObj(kHxCameraState, state);
163 
164  return obj->totalLeadIn;
165 }
166 
167 kInlineFx(kStatus) kHxCameraState_SetLeadOut(kHxCameraState state, k64u leadOut)
168 {
169  kObj(kHxCameraState, state);
170 
171  obj->leadOut = leadOut;
172 
173  return kOK;
174 }
175 
176 kInlineFx(k64u) kHxCameraState_LeadOut(kHxCameraState state)
177 {
178  kObj(kHxCameraState, state);
179 
180  return obj->leadOut;
181 }
182 
183 kInlineFx(kStatus) kHxCameraState_SetTotalLeadOut(kHxCameraState state, k64u totalLeadOut)
184 {
185  kObj(kHxCameraState, state);
186 
187  obj->totalLeadOut = totalLeadOut;
188 
189  return kOK;
190 }
191 
192 kInlineFx(k64u) kHxCameraState_TotalLeadOut(kHxCameraState state)
193 {
194  kObj(kHxCameraState, state);
195 
196  return obj->totalLeadOut;
197 }
198 
199 kInlineFx(kStatus) kHxCameraState_SetGain(kHxCameraState state, kCameraGain channel, k32u gain)
200 {
201  kObj(kHxCameraState, state);
202 
203  kAssert(channel < kCAMERA_GAIN_CAPACITY);
204 
205  obj->gain[channel] = gain;
206 
207  return kOK;
208 }
209 
210 kInlineFx(k32u) kHxCameraState_Gain(kHxCameraState state, kCameraGain channel)
211 {
212  kObj(kHxCameraState, state);
213 
214  kAssert(channel < kCAMERA_GAIN_CAPACITY);
215 
216  return obj->gain[channel];
217 }
218 
219 kInlineFx(kStatus) kHxCameraState_SetKneeCount(kHxCameraState state, kSize count)
220 {
221  kObj(kHxCameraState, state);
222 
223  return kArrayList_Resize(obj->kneePoints, count);
224 }
225 
226 kInlineFx(kSize) kHxCameraState_KneeCount(kHxCameraState state)
227 {
228  kObj(kHxCameraState, state);
229 
230  return kArrayList_Count(obj->kneePoints);
231 }
232 
233 kInlineFx(kStatus) kHxCameraState_SetKneeExposureTime(kHxCameraState state, kSize index, k64f exposureTime)
234 {
235  kObj(kHxCameraState, state);
236  kPoint64f* kneePoint = kArrayList_AtT(obj->kneePoints, index, kPoint64f);
237 
238  kneePoint->x = exposureTime;
239 
240  return kOK;
241 }
242 
243 kInlineFx(k64f) kHxCameraState_KneeExposureTime(kHxCameraState state, kSize index)
244 {
245  kObj(kHxCameraState, state);
246  kPoint64f* kneePoint = kArrayList_AtT(obj->kneePoints, index, kPoint64f);
247 
248  return kneePoint->x;
249 }
250 
251 kInlineFx(kStatus) kHxCameraState_SetKneeOutputCap(kHxCameraState state, kSize index, k64f outputCap)
252 {
253  kObj(kHxCameraState, state);
254  kPoint64f* kneePoint = kArrayList_AtT(obj->kneePoints, index, kPoint64f);
255 
256  kneePoint->y = outputCap;
257 
258  return kOK;
259 }
260 
261 kInlineFx(k64f) kHxCameraState_KneeOutputCap(kHxCameraState state, kSize index)
262 {
263  kObj(kHxCameraState, state);
264  kPoint64f* kneePoint = kArrayList_AtT(obj->kneePoints, index, kPoint64f);
265 
266  return kneePoint->y;
267 }
268 
269 kInlineFx(kStatus) kHxCameraState_EnableAutoBlack(kHxCameraState state, kBool enabled)
270 {
271  kObj(kHxCameraState, state);
272 
273  obj->autoBlack = enabled;
274 
275  return kOK;
276 }
277 
278 kInlineFx(kBool) kHxCameraState_AutoBlackEnabled(kHxCameraState state)
279 {
280  kObj(kHxCameraState, state);
281 
282  return obj->autoBlack;
283 }
284 
285 kInlineFx(kStatus) kHxCameraState_SetBlack(kHxCameraState state, k32s level)
286 {
287  kObj(kHxCameraState, state);
288 
289  obj->blackLevel = level;
290 
291  return kOK;
292 }
293 
294 kInlineFx(k32s) kHxCameraState_Black(kHxCameraState state)
295 {
296  kObj(kHxCameraState, state);
297 
298  return obj->blackLevel;
299 }
300 
301 kInlineFx(kStatus) kHxCameraState_SetTop(kHxCameraState state, k32u top)
302 {
303  kObj(kHxCameraState, state);
304 
305  obj->top = top;
306 
307  return kOK;
308 }
309 
310 kInlineFx(k32u) kHxCameraState_Top(kHxCameraState state)
311 {
312  kObj(kHxCameraState, state);
313 
314  return obj->top;
315 }
316 
317 kInlineFx(kStatus) kHxCameraState_SetLeft(kHxCameraState state, k32u left)
318 {
319  kObj(kHxCameraState, state);
320 
321  obj->left = left;
322 
323  return kOK;
324 }
325 
326 kInlineFx(k32u) kHxCameraState_Left(kHxCameraState state)
327 {
328  kObj(kHxCameraState, state);
329 
330  return obj->left;
331 }
332 
333 kInlineFx(kStatus) kHxCameraState_SetWidth(kHxCameraState state, k32u width)
334 {
335  kObj(kHxCameraState, state);
336 
337  obj->width = width;
338 
339  return kOK;
340 }
341 
342 kInlineFx(k32u) kHxCameraState_Width(kHxCameraState state)
343 {
344  kObj(kHxCameraState, state);
345 
346  return obj->width;
347 }
348 
349 kInlineFx(kStatus) kHxCameraState_SetHeight(kHxCameraState state, k32u height)
350 {
351  kObj(kHxCameraState, state);
352 
353  obj->height = height;
354 
355  return kOK;
356 }
357 
358 kInlineFx(k32u) kHxCameraState_Height(kHxCameraState state)
359 {
360  kObj(kHxCameraState, state);
361 
362  return obj->height;
363 }
364 
365 kInlineFx(kStatus) kHxCameraState_SetXSubsampling(kHxCameraState state, k32u sub)
366 {
367  kObj(kHxCameraState, state);
368 
369  obj->xSub = sub;
370 
371  return kOK;
372 }
373 
374 kInlineFx(k32u) kHxCameraState_XSubsampling(kHxCameraState state)
375 {
376  kObj(kHxCameraState, state);
377 
378  return obj->xSub;
379 }
380 
381 kInlineFx(kStatus) kHxCameraState_SetXSubsamplingMode(kHxCameraState state, kCameraSubsampling mode)
382 {
383  kObj(kHxCameraState, state);
384 
385  obj->xSubMode = mode;
386 
387  return kOK;
388 }
389 
390 kInlineFx(kCameraSubsampling) kHxCameraState_XSubsamplingMode(kHxCameraState state)
391 {
392  kObj(kHxCameraState, state);
393 
394  return obj->xSubMode;
395 }
396 
397 kInlineFx(kStatus) kHxCameraState_SetYSubsampling(kHxCameraState state, k32u sub)
398 {
399  kObj(kHxCameraState, state);
400 
401  obj->ySub = sub;
402 
403  return kOK;
404 }
405 
406 kInlineFx(k32u) kHxCameraState_YSubsampling(kHxCameraState state)
407 {
408  kObj(kHxCameraState, state);
409 
410  return obj->ySub;
411 }
412 
413 kInlineFx(kStatus) kHxCameraState_SetYSubsamplingMode(kHxCameraState state, kCameraSubsampling mode)
414 {
415  kObj(kHxCameraState, state);
416 
417  obj->ySubMode = mode;
418 
419  return kOK;
420 }
421 
422 kInlineFx(kCameraSubsampling) kHxCameraState_YSubsamplingMode(kHxCameraState state)
423 {
424  kObj(kHxCameraState, state);
425 
426  return obj->ySubMode;
427 }
428 
429 kInlineFx(kStatus) kHxCameraState_EnableXInversion(kHxCameraState state, kBool enabled)
430 {
431  kObj(kHxCameraState, state);
432 
433  obj->invertX = enabled;
434 
435  return kOK;
436 }
437 
438 kInlineFx(kBool) kHxCameraState_XInversionEnabled(kHxCameraState state)
439 {
440  kObj(kHxCameraState, state);
441 
442  return obj->invertX;
443 }
444 
445 kInlineFx(kStatus) kHxCameraState_EnableYInversion(kHxCameraState state, kBool enabled)
446 {
447  kObj(kHxCameraState, state);
448 
449  obj->invertY = enabled;
450 
451  return kOK;
452 }
453 
454 kInlineFx(kBool) kHxCameraState_YInversionEnabled(kHxCameraState state)
455 {
456  kObj(kHxCameraState, state);
457 
458  return obj->invertY;
459 }
460 
461 //ownership of 'info' not transferred
462 kFsFx(kStatus) kHxCameraState_SetAlgorithmConfig(kHxCameraState state, kAlgInfo info);
463 
464 //emits 'info' object that must be destroyed by caller
465 kFsFx(kStatus) kHxCameraState_AlgorithmConfig(kHxCameraState state, kAlgInfo* info, kAlloc allocator);
466 
467 kInlineFx(kStatus) kHxCameraState_SetRamImageCount(kHxCameraState state, kSize count)
468 {
469  return xkHxCameraState_VTable(state)->VSetRamImageCount(state, count);
470 }
471 
472 kInlineFx(kSize) kHxCameraState_RamImageCount(kHxCameraState state)
473 {
474  return xkHxCameraState_VTable(state)->VRamImageCount(state);
475 }
476 
477 kInlineFx(kStatus) kHxCameraState_WriteRamImage(kHxCameraState state, kSize imageIndex, kImage image)
478 {
479  return xkHxCameraState_VTable(state)->VWriteRamImage(state, imageIndex, image);
480 }
481 
482 
483 #endif
Abstract base class for camera algorithm parameters.
Represents camera subsampling modes.
#define kInlineFx(TYPE)
Essential declarations related to FireSync nodes.
Represents camera gain channels.
Represents camera exposure mode.
#define kObj(TypeName_T, T_object)
#define kCAMERA_GAIN_CAPACITY
Count of defined camera gain channels.
Definition: kNodeDef.h:566
#define kAssert(EXPRESSION)
#define kOK
#define kArrayList_AtT(kArrayList_list, kSize_index, T)