FX3Cam SDK for FCB-MA130 Programmer’s Guide

FX3Cam SDK for FCB-MA130 Programmer’s Guide

Rev 1.3.0

Infinitegra Inc. www.infinitegra.co.jp

Infinitegra Inc. 1 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Notice for this document  Infinitegra, Inc. (indicate as “Infinitegra” hereinafter) have a right for all of information in this document. Infinitegra do not allow reproducing/redistribution any information in this document without approval from Infinitegra.  Infinitegra may change the information in this document without further notice.  Please contact Infinitegra if you find wrong information and /or have any unclear points in this document.  This document is an English translation version from Japanese (original) version for reference purpose. If there are any discrepancy between English version and Japanese version, Japanese version should prevail.

Notice for the product / Disclaimer  Please do not operate the product against the contents of this document. It may be cause of troubles. Infinitegra may not accept any responsibility for any troubles those are caused by illegal operation.  This application is for experiment/evaluation purpose. Please do not use for the usage those require safety and/or reliability and have a possibility to affect one’s life.  Infinitegra will not accept any responsibility for any loss, damage or mal state incurred by this application.  Infinitegra do not allow to modify, dis-assemble, change, alter, reverse assemble, reverse compile, reverse engineer or to undertake any similar action to SW, FW and/or HW of the product.

Copyright © Infinitegra, INC. All Rights Reserved.

All product names of other companies mentioned in this document are trademarks or registered trademarks owned by the respective corporations.

Infinitegra Inc. 2 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Index 1. Introduction ...... 10 1.1. Content of SDK ...... 10 1.2. Requirements ...... 11 1.2.1. Host ...... 11 1.2.2. Build Environment ...... 11 1.3. Reference Materials ...... 11 2. Limitations ...... 12 3. Host Library Overview ...... 13 3.1. System Structure ...... 13 3.2. Relationship between Application and Host Library ...... 14 3.3. Classification of ...... 14 3.4. Sample Source Codes ...... 15 3.4.1. CamControlTest ...... 15 3.4.2. CamControlTest_CS ...... 15 3.4.3. DirectShow Sample ...... 15 3.4.4. DirectShowBaseClasses ...... 15 3.4.5. IFTCamCon ...... 17 4. Host Library Installation ...... 18 4.1. Deployment ...... 18 4.2. Compilation ...... 18 4.3. Runtime Requirements ...... 18 5. C API ...... 19 5.1. Common Types ...... 19 5.1.1. CamcFunc ...... 19 5.1.2. CamcStatus_t ...... 19 5.1.3. CamcSensorErrorCode_t ...... 20 5.1.4. CamcHostErrorCode_t ...... 21 5.1.5. CamcFX3ErrorCode_t ...... 21 5.2. Error Code Sets ...... 22 5.2.1. Error Code Set 1 ...... 22 5.2.2. Error Code Set 2 ...... 22 5.2.3. Error Code Set 3 ...... 22 5.2.4. Error Code Set 4 ...... 22 5.3. Functions ...... 23 5.3.1. CamcFunc_GetFuncs ...... 23 5.3.2. CamcFunc_GetFuncByCaptureFilter ...... 23

Infinitegra Inc. 3 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.3. CamcFunc_GetCaptureFilter ...... 24 5.3.4. CamcFunc_Invalidate ...... 24 5.3.5. CamcFunc_Release ...... 25 5.3.6. CamcFunc_ReleaseArray ...... 25 5.3.7. CamcFunc_GetLibVersion ...... 26 5.3.8. CamcFunc_GetVendorID ...... 26 5.3.9. CamcFunc_GetProductID ...... 26 5.3.10. CamcFunc_GetFirmwareVersion ...... 27 5.3.11. CamcFunc_GetReleaseNumber ...... 27 5.3.12. CamcFunc_GetDeviceName...... 27 5.3.13. CamcFunc_GetActive ...... 28 5.3.14. CamcFunc_GetHostError ...... 29 5.3.15. CamcFunc_GetSensorError ...... 29 5.3.16. CamcFunc_GetFX3Error ...... 29 5.3.17. CamcFunc_GetErrorMessage ...... 30 5.3.18. CamcFunc_GetTimeoutMilliSec ...... 30 5.3.19. CamcFunc_SetTimeoutMilliSec ...... 31 5.3.20. CamcFunc_CommandWrite ...... 32 5.3.21. CamcFunc_EventRead ...... 32 5.3.22. CamcFunc_EventWait ...... 33 5.3.23. CamcFunc_ParamRead, CamcFunc_ParamRead8, CamcFunc_ParamRead16 ...... 33 5.3.24. CamcFunc_ParamWrite, CamcFunc_ParamWrite8, CamcFunc_ParamWrite16 ...... 34 5.3.25. CamcFunc_Set_PICT_BRIGHTNESS ...... 35 5.3.26. CamcFunc_Set_PICT_CONTRAST ...... 36 5.3.27. CamcFunc_Set_PICT_SHARPNESS ...... 36 5.3.28. CamcFunc_Set_PICT_COLORHUE ...... 37 5.3.29. CamcFunc_Set_PICT_COLORGAIN ...... 37 5.3.30. CamcFunc_Set_PICT_MIRROR ...... 38 5.3.31. CamcFunc_Set_CC_MODE ...... 39 5.3.32. CamcFunc_Set_CC_SPEED ...... 39 5.3.33. CamcFunc_Set_CC_OFFSET ...... 40 5.3.34. CamcFunc_Set_CC_R_OFFSET ...... 40 5.3.35. CamcFunc_Set_CC_B_OFFSET ...... 41 5.3.36. CamcFunc_Get_CC_R_LEVEL ...... 41 5.3.37. CamcFunc_Get_CC_B_LEVEL ...... 42 5.3.38. CamcFunc_Set_COLOR_BRK ...... 42 5.3.39. CamcFunc_Set_ATR ...... 43 5.3.40. CamcFunc_Set_ATR_GAIN ...... 43

Infinitegra Inc. 4 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.41. CamcFunc_Set_ATR_WIDE_D ...... 44 5.3.42. CamcFunc_Set_ATR_CONTRAST...... 44 5.3.43. CamcFunc_Set_ATR_CHROMA ...... 45 5.3.44. CamcFunc_Set_MODE_IMST ...... 45 5.3.45. CamcFunc_Set_IMST_PREVIEW ...... 46 5.3.46. CamcFunc_Set_SCNR_SW ...... 46 5.3.47. CamcFunc_Set_ZOOM ...... 47 5.3.48. CamcFunc_Set_ZM_SMTH_SPEED ...... 48 5.3.49. CamcFunc_Set_ZM_SMTH_INTERVAL ...... 48 5.3.50. CamcFunc_Set_ZM_STEP ...... 49 5.3.51. CamcFunc_OnePushAF ...... 49 5.3.52. CamcFunc_Set_SCANAF_MODE_0 ...... 51 5.3.53. CamcFunc_Set_SCANAF_MODE_1 ...... 52 5.3.54. CamcFunc_Set_SCANAF_FRMRATE ...... 52 5.3.55. CamcFunc_Set_MANUAL_FOCUS ...... 53 5.3.56. CamcFunc_Set_AE_MODE ...... 54 5.3.57. CamcFunc_Set_AE_SHUTTER ...... 54 5.3.58. CamcFunc_Set_AE_ISO ...... 56 5.3.59. CamcFunc_Set_AE_EV_CORRECT ...... 56 5.3.60. CamcFunc_Set_AE_FORCE_BLC ...... 57 5.3.61. CamcFunc_Set_AE_PHOTOMETRY...... 57 5.3.62. CamcFunc_Set_AE_FLC_MODE...... 58 5.3.63. CamcFunc_Set_SLOW_SHUTTER ...... 58 5.3.64. CamcFunc_Set_SLOW_SHUTTER_SPEED ...... 59 5.3.65. CamcFunc_Set_HS_DRAFT_MIN_FRMRATE ...... 60 5.3.66. CamcFunc_Set_FDT_MODE ...... 61 5.3.67. CamcFunc_Get_FDT_DETECTED_FACE_NUM ...... 61 5.3.68. CamcFunc_Get_FDT_FACE ...... 62 5.3.69. CamcFunc_Set_FDT_WND ...... 63 5.3.70. CamcFunc_Set_FDT_WND_TTL ...... 63 5.3.71. CamcFunc_Set_FDT_WND_COLOR_H_PRI ...... 64 5.3.72. CamcFunc_Set_FDT_WND_COLOR_L_PRI ...... 64 5.3.73. CamcFunc_Set_FDT_WND_WIDTH_PRIORITY ...... 65 5.3.74. CamcFunc_Set_FDT_ANGLE_MODE ...... 65 5.3.75. CamcFunc_Set_FDT_SEARCH_WND_HALF ...... 66 5.3.76. CamcFunc_Set_FDT_DISTANCE_THRESHOLD ...... 67 5.3.77. CamcFunc_Set_WND_PHOTOMETRY...... 68 5.3.78. CamcFunc_Set_WND_PHOTOMETRY_AE ...... 68

Infinitegra Inc. 5 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.79. CamcFunc_Set_WND_PHOTOMETRY_CC ...... 69 5.3.80. CamcFunc_Set_WND_PHOTOMETRY_AF ...... 69 5.3.81. CamcFunc_Set_AE_WND_PHOTOMETRY ...... 70 5.3.82. CamcFunc_Set_AF_WND_PHOTOMETRY ...... 71 5.3.83. CamcFunc_Set_INFO_GET_CONV ...... 72 5.3.84. CamcFunc_Set_AE_CC_CONV_EVENT_CONDITION ...... 72 5.3.85. CamcFunc_Set_INFO_GET_DATA ...... 73 5.3.86. CamcFunc_Get_AE_LEVEL_LIMITED ...... 74 5.3.87. CamcFunc_Get_AE_LEVEL ...... 74 5.3.88. CamcFunc_Get_INFO_ISO ...... 75 5.3.89. CamcFunc_Get_INFO_SHUTTER ...... 75 5.3.90. CamcFunc_Get_INFO_CC ...... 75 5.3.91. CamcFunc_Get_INFO_DISTANCE ...... 76 5.3.92. CamcFunc_Get_INFO_FLICKER_FREQ ...... 77 5.3.93. CamcFunc_Set_DEFINITION_SW ...... 77 5.3.94. CamcFunc_Set_FLASH_SW ...... 78 5.3.95. CamcFunc_Set_SHARPNESS_CONTROL_SW ...... 79 5.3.96. CamcFunc_Set_SHUTTER_GAIN_CONTROL_SW ...... 79 5.3.97. CamcFunc_Set_COLOR_CONTROL_SW ...... 80 5.3.98. CamcFunc_Set_TEST_CHART_OUT ...... 81 5.3.99. CamcFunc_Set_TEST_CHART_FIXED_YDATA ...... 81 5.3.100. CamcFunc_Set_TEST_CHART_FIXED_CDATA ...... 82 5.3.101. CamcFunc_Set_TEST_CHART_PG_CODE ...... 82 5.3.102. CamcFunc_Set_TEST_CHART_PG_COLOR ...... 83 5.3.103. CamcFunc_Get_CURRENT_MODE ...... 83 5.3.104. CamcFunc_Rewrite_MODE ...... 84 5.3.105. CamcFunc_SetForStillCapt_HALF_REL ...... 84 5.3.106. CamcFunc_WaitUntil_MODE_HS_DRAFT ...... 85 6. .NET API ...... 86 6.1. Namespace ...... 86 6.2. Error Code Set...... 86 6.2.1. Error Code Set 1 ...... 86 6.2.2. Error Code Set 2 ...... 86 6.2.3. Error Code Set 3 ...... 87 6.2.4. Error Code Set 4 ...... 87 6.3. CamcStatus Enum ...... 88 6.4. CamcHostErrorCode Enum ...... 89 6.5. CamcSensorErrorCode Enum ...... 89

Infinitegra Inc. 6 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.6. CamcFX3ErrorCode Enum ...... 90 6.7. CamcValue Class ...... 90 6.8. CamcFunc Class ...... 91 6.8.1. GetFuncs ...... 92 6.8.2. GetFuncByCaptureFilter ...... 92 6.8.3. Invalidate ...... 93 6.8.4. Release ...... 93 6.8.5. GetActive ...... 93 6.8.6. GetErrorMessage...... 94 6.8.7. CommandWrite ...... 94 6.8.8. EventRead ...... 95 6.8.9. EventWait ...... 95 6.8.10. ParamRead, ParamRead8, ParamRead16 ...... 96 6.8.11. ParamWrite, ParamWrite8, ParamWrite16 ...... 96 6.8.12. Set_PICT_BRIGHTNESS ...... 97 6.8.13. Set_PICT_CONTRAST...... 98 6.8.14. Set_PICT_SHARPNESS ...... 98 6.8.15. Set_PICT_COLORHUE ...... 98 6.8.16. Set_PICT_COLORGAIN ...... 99 6.8.17. Set_PICT_MIRROR ...... 99 6.8.18. Set_CC_MODE ...... 100 6.8.19. Set_CC_SPEED ...... 101 6.8.20. Set_CC_OFFSET ...... 101 6.8.21. Set_CC_R_OFFSET ...... 102 6.8.22. Set_CC_B_OFFSET ...... 102 6.8.23. Get_CC_R_LEVEL ...... 103 6.8.24. Get_CC_B_LEVEL ...... 103 6.8.25. Set_COLOR_BRK ...... 103 6.8.26. Set_ATR ...... 104 6.8.27. Set_ATR_GAIN ...... 104 6.8.28. Set_ATR_WIDE_D...... 105 6.8.29. Set_ATR_CONTRAST ...... 105 6.8.30. Set_ATR_CHROMA...... 106 6.8.31. Set_MODE_IMST ...... 106 6.8.32. Set_IMST_PREVIEW ...... 106 6.8.33. Set_SCNR_SW ...... 107 6.8.34. Set_ZOOM ...... 107 6.8.35. Set_ZM_SMTH_SPEED ...... 109

Infinitegra Inc. 7 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.36. Set_ZM_SMTH_INTERVAL...... 109 6.8.37. Set_ZM_STEP ...... 110 6.8.38. OnePushAF ...... 110 6.8.39. Set_SCANAF_MODE_0 ...... 111 6.8.40. Set_SCANAF_MODE_1 ...... 112 6.8.41. Set_SCANAF_FRMRATE ...... 113 6.8.42. Set_MANUAL_FOCUS ...... 114 6.8.43. Set_AE_MODE ...... 115 6.8.44. Set_AE_SHUTTER...... 115 6.8.45. Set_AE_ISO ...... 117 6.8.46. Set_AE_EV_CORRECT ...... 117 6.8.47. Set_AE_FORCE_BLC ...... 118 6.8.48. Set_AE_PHOTOMETRY ...... 118 6.8.49. Set_AE_FLC_MODE ...... 119 6.8.50. Set_SLOW_SHUTTER ...... 119 6.8.51. Set_SLOW_SHUTTER_SPEED ...... 120 6.8.52. Set_HS_DRAFT_MIN_FRMRATE ...... 121 6.8.53. Set_FDT_MODE ...... 122 6.8.54. Get_FDT_DETECTED_FACE_NUM ...... 122 6.8.55. Get_FDT_FACE ...... 123 6.8.56. Set_FDT_WND ...... 124 6.8.57. Set_FDT_WND_TTL ...... 124 6.8.58. Set_FDT_WND_COLOR_H_PRI ...... 125 6.8.59. Set_FDT_WND_COLOR_L_PRI ...... 125 6.8.60. Set_FDT_WND_WIDTH_PRIORITY ...... 126 6.8.61. Set_FDT_ANGLE_MODE ...... 126 6.8.62. Set_FDT_SEARCH_WND_HALF ...... 127 6.8.63. Set_FDT_DISTANCE_THRESHOLD ...... 128 6.8.64. Set_WND_PHOTOMETRY ...... 128 6.8.65. Set_WND_PHOTOMETRY_AE ...... 129 6.8.66. Set_WND_PHOTOMETRY_CC ...... 129 6.8.67. Set_WND_PHOTOMETRY_AF ...... 130 6.8.68. Set_AE_WND_PHOTOMETRY ...... 131 6.8.69. Set_AF_WND_PHOTOMETRY ...... 131 6.8.70. Set_INFO_GET_CONV ...... 132 6.8.71. Set_AE_CC_CONV_EVENT_CONDITION ...... 133 6.8.72. Set_INFO_GET_DATA ...... 133 6.8.73. Get_AE_LEVEL_LIMITED ...... 134

Infinitegra Inc. 8 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.74. Get_AE_LEVEL...... 134 6.8.75. Get_INFO_ISO ...... 134 6.8.76. Get_INFO_SHUTTER ...... 135 6.8.77. Get_INFO_CC...... 135 6.8.78. Get_INFO_DISTANCE ...... 136 6.8.79. Get_INFO_FLICKER_FREQ ...... 137 6.8.80. Set_DEFINITION_SW ...... 137 6.8.81. Set_FLASH_SW ...... 138 6.8.82. Set_SHARPNESS_CONTROL_SW ...... 138 6.8.83. Set_SHUTTER_GAIN_CONTROL_SW ...... 139 6.8.84. Set_COLOR_CONTROL_SW ...... 139 6.8.85. Set_TEST_CHART_OUT ...... 140 6.8.86. Set_TEST_CHART_FIXED_YDATA ...... 140 6.8.87. Set_TEST_CHART_FIXED_CDATA ...... 141 6.8.88. Set_TEST_CHART_PG_CODE ...... 141 6.8.89. Set_TEST_CHART_PG_COLOR ...... 142 6.8.90. Get_CURRENT_MODE ...... 142 6.8.91. Rewrite_MODE ...... 143 6.8.92. SetForStillCapt_HALF_REL ...... 143 6.8.93. WaitUntil_MODE_HS_DRAFT ...... 144 7. Tips ...... 145 7.1. How to get CamcFunc from DirectShow Capture Filter ...... 145 7.2. How to capture still image ...... 145 7.3. How to apply SCNR_SW, HS_DRAFT_MIN_FRMRATE ...... 145 7.4. How to access to DirectShow with .NET Framework ...... 145 8. Release Note ...... 146

Infinitegra Inc. 9 FX3Cam SDK for FCB-MA130 Programmer’s Guide

1. Introduction

This document describes FX3Cam SDK which controls FCB-MA130 USB3.0 Board.

1.1. Content of SDK

SDK consists of the following elements.

Host Library Host Library controls FCB-MA130 USB3.0 Board from a host OS. The files are located under “host” directory. FX3 Firmware (UVC Device Firmware) FX3 Firmware works as an UVC device on FCB-MA130 USB3.0 Board. The file is located under “firmware” directory. Please refer to“FCB-MA130 UVC Device Firmware User’s Guide” to know the specification. Sample Source Codes The sample source codes which use Host Library. The files are located under “sample” directory. Documents The files are located under “doc” directory.

Host Library has function for accessing to registers in the camera module. The functions for fetching images is NOT Host Library’s role. You can get images from the device as a general UVC device by standard frameworks such as DirectShow.

Host Library DirectShow

Camera Module Preview / Registers Still image

Device

Fig. 1-1 The role of Host Library

Infinitegra Inc. 10 FX3Cam SDK for FCB-MA130 Programmer’s Guide

1.2. Requirements 1.2.1. Host Library

OS SP1 x86, x64 Windows 8.1 x86, x64 (Host Library can be used on Windows 8 but we tested on Windows 7 SP1 and Windows 8.1.) FX3 Firmware UVC Device Firmware Image 1.2.0 or upper versions

1.2.2. Build Environment

OS Windows 7 SP1 x86, x64 Compiler Visual Studio 2010

1.3. Reference Materials

・ Please get the following documents from SONY.  FCB-MA130 User Interface Control Specification  FCB-MA130 User Interface Command / Event Specifications  FCB-MA130 User Interface Supplementary Registers Specifications Note: We can not answer inquiries about the documents which are provided by SONY.

Infinitegra Inc. 11 FX3Cam SDK for FCB-MA130 Programmer’s Guide

2. Limitations  Content of inquires We can not answer inquires about the following topics.  The specification of FCB-MA130  The specification of FCB-MA130 USB3.0 Board  The specification and the usage of Cypress EZ-USB FX3  The specification and the usage of Cypress SuperSpeed USB Suite  The specification and the usage of DirectShow.  The specification and the usage of Windows SDK.  Image Outout Mode  Getting images in IMST Draft and HS Draft are not supported.  Command/Event/Parameter  The following Commands/Events/Parameters are controlled by Host Library internally and FX3 Firmware internally. We can not guarantee the behevior when you access them directly by the low-level APIs. CM_MODE_HALF_REL, CM_MODE_MAIN, CM_MODE_DRAFT, CM_MODE_IMST_DRAFT, CM_MODE_STILL_CAPT, CM_MODE_HS_DRAFT, CM_MODE_IMST_HS_DRAFT, EV_CAMREADY , EV_CAPTURE_STATUS , EV_LENSINIT_COMPLETE , EV_HALF_REL , EV_MODE_CHANGED , EV_MUTE_OFF , STILL_IMAGE_SIZE_H, STILL_IMAGE_SIZE_V, STILL_OUT_REPEAT, DRAFT_IMAGE_SIZE_H, DRAFT_IMAGE_SIZE_V, HS_DRAFT_IMAGE_SIZE_H, HS_DRAFT_IMAGE_SIZE_V, DRAFT_MAX_FRMRATE, DRAFT_MIN_FRMRATE, HS_DRAFT_MAX_FRMRATE  Please access HS_DRAFT_MIN_FRMRATE by CamcFunc_Set_HS_DRAFT_MIN_FRMRATE (). We can not guarantee the behavior when you access it directly by the low-level APIs.

Infinitegra Inc. 12 FX3Cam SDK for FCB-MA130 Programmer’s Guide

3. Host Library Overview 3.1. System Structure

Because the bundled FX3 Firmware works as an UVC device, a vendor-specific kernel driver is unnecessary and a standard built-in UVC driver on host-side OS is used. However, the function of the camera module is drawn enough by Host Library. UVC Device Firmware provides the Extension Unit (XU) which is an extended interface of UVC standard. Host Library accesses registers of the camera module via XU. To set formats (resolution/frame rate) of preview/still images and get images, you can access the devices as a general UVC device without Host Library. FX3 Firmware will set proper registers when you set resolution and frame rate to the device via a standard UVC driver.

Host OS UVC Device Firmware (on FCB-MA130 USB3.0 Board) Camera

User App UVC/USB Driver Module Registers Host Library Extension Unit

Video Control Interface DirectShow Format Video Streaming Interface Preview/ Still image

Fig. 3-1 System Structure

Infinitegra Inc. 13 FX3Cam SDK for FCB-MA130 Programmer’s Guide

3.2. Relationship between Application and Host Library

In general, a single application controls the camera module and gets images (Fig. 3-2). On the other hand, an application which controls the camera module and an application which gets images can access the device simultaneously as you can see in Fig. 3-3. You can use third-party applications to get images which play a general UVC camera.

User App User App Third Party App

Host Library DirectShow Host Library DirectShow

Camera Module Preview / Camera Module Preview / Registers Still image Registers Still image

Device Device

Fig. 3-2 Accesses from a single app. Fig. 3-3 Accesses from multiple apps.

3.3. Classification of APIs

APIs in Host Library can be classified in the followings. a) APIs for searching and getting device. b) APIs that correspond to each Command/Event/Parameter of the camera module. c) APIs for low-level access to the registers of the camera module.

a) and b) are necessary to develop applications basically. c) is optional and can be used for debugging or complementing b). For example, in the case of getting multiple parameters in sequential addresses, you may be call b) multiple times, but you can get them by a single call of c).

Infinitegra Inc. 14 FX3Cam SDK for FCB-MA130 Programmer’s Guide

3.4. Sample Source Codes 3.4.1. CamControlTest

CamControlTest is a command line application which controls the camera module. Almost all APIs in Host Library are used in this program. We provide this program for prompting you to understand APIs and also suppose that it is useful as a testing tool for FCB-MA130 USB3.0 Board. The type of this program is described in Fig. 3-3. You can access registers of the camera module by this program and observe variations of images by an other application. Please refer to help message displayed when this program is executed without arguments.

3.4.2. CamControlTest_CS

CamControlTest_CS is an implementation of CamControlTest by C#.

3.4.3. DirectShow Sample

StillImageCapt is an application which displays preview image and captures still image. This uses DirectShow. This is a sample program to show the following processes that are not included in Host Library. ・ Set frame size and frame rate for preview image. ・ Get preview image. ・ Set frame size for still image. ・ Get still image. Theses methods are same as ones for a general USB Camera.

* We can not answer inquires about DirectShow.

3.4.4. DirectShowBaseClasses

DirectShowBaseClasses includes files required for compiling programs using DirectShow. StillImageCapt links this. DirectShowBaseClasses consists of the following elements. ・ baseclasses and dshowutil.h in SDK 7.1. ・ Customised qedit.h in Microsoft Windows SDK 6.0 (Software Development Kit Update for ). The original is qedit.h.org.

* We can not answer inquires about Microsoft Windows SDK.

Infinitegra Inc. 15 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Infinitegra Inc. 16 FX3Cam SDK for FCB-MA130 Programmer’s Guide

3.4.5. IFTCamCon IFTCamCon is a GUI application which controls the camera module. Same as CamConrolTest, the type of this program is described in Fig. 3-3. This program is used with third-party applications that display images. IFTCamCon has the following functions. ・ Modify camera parameters. ・ Save, load and reset configuration. In addition, last configuration will be loaded at starting this application. See the source code directly to know detail. This application was developed supposing the following usage. ・ As a sample code. ・ To embed in user’s applications. ・ As a testing tool.  If you use this program as a testing tool , use the installer in SDK. The file name of the installer is IFTCamConInstaller-x86.msi.

Fig. 3-4 IFTCamCon

Infinitegra Inc. 17 FX3Cam SDK for FCB-MA130 Programmer’s Guide

4. Host Library Installation 4.1. Deployment

Copy “host” directory in SDK files to an arbitary directory. We call the directory as %SDKHOSTDIR% in this document.

4.2. Compilation

Configure a compiler as follows to compile your program with Host Library.

1. Add %SDKHOSTDIR%¥include to Include Path. 2. Add the following paths to Library Path. ・ Windows x86 Architechture … %SDKHOSTDIR%¥lib¥win7¥x86 ・ Windows x64 Architechture … %SDKHOSTDIR%¥lib¥win7¥x64 3. Add iftcamc.lib to Link Libraries.

4.3. Runtime Requirements

To execute your program with Host Library, the following file must be on PATH at runtime.

・ C API  Windows x86 Architecture … %SDKHOSTDIR%¥bin¥win7¥x86¥iftcamc.dll  Windows x64 Architecture … %SDKHOSTDIR%¥bin¥win7¥x64¥iftcamc.dll

・ .NET API  Windows x86 Architecture … %SDKHOSTDIR%¥bin¥win7¥x86¥iftcamc.dll, iftcamcs.dll  Windows x64 Architecture … %SDKHOSTDIR%¥bin¥win7¥x64¥iftcamc.dll, iftcamcs.dll

Infinitegra Inc. 18 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5. C API 5.1. Common Types

5.1.1. CamcFunc

 Description

A handle that represents the target device.

 Value

This object can be gotten by CamcFunc_GetFuncs() or CamcFunc_GetFuncByCaptureFilter().

5.1.2. CamcStatus_t

 Description

An enum type that represents error codes.

 Value

Constants Description CCST_OK Success.

CCST_INTERNAL_ERROR Internal library error.

CCST_NO_MEMORY No enough memory.

CCST_DEVICE_NOT_FOUND Device was not found.

CCST_DEVICE_NOT_READY Device is not ready.

CCST_INVALIDATED CamcFunc_Invalidate() was called.

CCST_TIMEOUT Can not receive the specified event within the timeout period.

CCST_DEVICE_UNSUPPORTED Unsupported device or firmware was found.

CCST_SENSOR_ERROR Camera module returs an error code. Please refer to CamcFunc_GetSensorError().

CCST_FX3_ERROR EZ-USB FX3 returns an error code. Please refer to CamcFunc_GetFX3Error().

CCST_DIRECTSHOW_ERROR DirectShow returns an error code.

Please refer to CamcFunc_GetHostError().

Infinitegra Inc. 19 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Constants Description CCST_NULL_POINTER One of the function parameters is NULL.

CCST_INVALID_VALUE One of function parameters is invalid value.

CCST_UNEXPECTED_EVENT Received an unexpected event.

CCST_INVALID_MODE The operation that can not be executed in current Image Output

Mode is specified.

CCST_IN_PROGRESS An other process is executed. This error is not returned essentially.

CCST_INVALID_ADDR Invalid address of parameter.

5.1.3. CamcSensorErrorCode_t

 Description

An enum type that represents error types returned by the camera module described as “Camera Module Error” in this document.

 Value

Constants Description

CAMC_SENSOR_ERROR_NONE Success.

CAMC_SENSOR_ERROR_UNDER_WRITE Represent Camera Register Read/Write Access Error Code 0x01.

CAMC_SENSOR_ERROR_OVER_WRITE Represent Camera Register Read/Write Access Error Code 0x02.

CAMC_SENSOR_ERROR_NO_DATA Represent Camera Register Read/Write Access Error Code 0x03.

CAMC_SENSOR_ERROR_UNDEFINED_CODE Represent Camera Register Read/Write Access Error Code

0x11.

CAMC_SENSOR_ERROR_UNDEFINED_ADDRESS Represent Camera Register Read/Write Access Error Code

0x21.

CAMC_SENSOR_ERROR_INVALID_ACCESS Represent Camera Register Read/Write Access Error Code 0x22.

CAMC_SENSOR_ERROR_COMMAND_UNMATCH Represent “Comman Unmatch”.

CAMC_SENSOR_ERROR_QUEUE_EMPTY Represent “Queue Empty”.

CAMC_SENSOR_ERROR_ECHOBACK_UNMATCH echo-back is different from original value.

CAMC_SENSOR_ERROR_UNKNOWN Undefined error.

Infinitegra Inc. 20 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.1.4. CamcHostErrorCode_t

 Description

An error code that occurrs in host.

 Value

This value is Windows HRESULT value. See the following link for detail. ・ HRESULT Values http://msdn.microsoft.com/en-us/library/cc704587.aspx

5.1.5. CamcFX3ErrorCode_t

 Description

An error code that is returned by EZ-USB FX3 on the device.

 Value

This value is CyU3PErrorCode_t of EZ-USB FX3 SDK. See the follwing link for detail. ・ Cypress EZ-USB FX3 SDK Firmware API Guide http://jp.cypress.com/?rID=57990

Infinitegra Inc. 21 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.2. Error Code Sets

Error code sets that are returned by functions that have return value as CamcStatus_t can be classified in some groups. Error code sets are described in the following and they are referred from descriptions for return value of each function.

5.2.1. Error Code Set 1 ・ CCST_OK ・ CCST_NULL_POINTER ・ CCST_DEVICE_NOT_READY ・ CCST_DEVICE_NOT_FOUND ・ CCST_DEVICE_UNSUPPORTED ・ CCST_FX3_ERROR ・ CCST_DIRECTSHOW_ERROR ・ CCST_NO_MEMORY

5.2.2. Error Code Set 2 ・ CCST_OK ・ CCST_NULL_POINTER ・ CCST_DEVICE_NOT_READY ・ CCST_SENSOR_ERROR ・ CCST_FX3_ERROR ・ CCST_DIRECTSHOW_ERROR ・ CCST_INVALIDATED

5.2.3. Error Code Set 3 Error Code Set 2 and the following error codes. ・ CCST_TIMEOUT ・ CCST_UNEXPECTED_EVENT

5.2.4. Error Code Set 4 Error Code Set 2 and the following error codes. ・ CCST_INVALID_ADDR

Infinitegra Inc. 22 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3. Functions

5.3.1. CamcFunc_GetFuncs  Declaration

CamcStatus_t CamcFunc_GetFuncs(CamcFunc **camcFuncsp, int *numFuncsp, CamcHostErrorCode_t *hep);

 Description Get operational device list.

 Parameters camcFuncsp

[out] The pointer that receives CamcFunc array. Caller takes responsibility for releasing *camcFuncsp by CamcFunc_ReleaseArray(). Caller takes responsibility for releasing each CamcFunc object in *camcFuncsp by CamcFunc_Release(). numFuncsp

[out] The pointer that receives the array size of *camcFuncsp. hep

[out] A host error will be set when the return value is CCST_DIRECTSHOW_ERROR.

 Return Value Error Code Set 1.

5.3.2. CamcFunc_GetFuncByCaptureFilter  Declaration

CamcStatus_t CamcFunc_GetFuncByCaptureFilter(void *baseFilter, CamcFunc *camcFuncp);

 Description Get CamcFunc object corresponding to DirectShow capture filter. If the capture filter is not operational, CCST_DEVICE_NOT_FOUND is returned. If the firmware version is invalid, CamcStatus.CCST_DEVICE_UNSUPPORTED is returned and a CamcFunc object which in in an invalid state will be saved to camcFuncp. You can not call any functions against an invalid-state CamcFunc object except getters such as CamcFunc_GetFirmwareVersion() and CamcFunc_Release().

 Parameters baseFilter

[in] An object that represents a capture filter of which type is IBaseFilter*.

Infinitegra Inc. 23 FX3Cam SDK for FCB-MA130 Programmer’s Guide camcFuncsp

[out] The pointer that receives CamcFunc object. Caller takes responsibility for releasing *camcFuncsp by CamcFunc_Release().

 Return Value Error Code Set 1.

5.3.3. CamcFunc_GetCaptureFilter  Declaration

void *CamcFunc_GetCaptureFilter(CamcFunc camcFunc);

 Description Get DirectShow capture filter related to CamcFunc object.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value An object of IBaseFilter* type.

5.3.4. CamcFunc_Invalidate  Declaration

void CamcFunc_Invalidate(CamcFunc camcFunc);

 Description Stop accessing CamcFunc object. This function is used for canceling a process in the case of multi-threaded access against CamcFunc object. If a thread calls this function while another thread is waiting for an event from the device, a thread waiting for an event returns CCST_INVALIDATED immediately.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value None.

Infinitegra Inc. 24 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.5. CamcFunc_Release  Declaration

void CamcFunc_Release(CamcFunc camcFunc);

 Description Release CamcFunc object.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value None.

5.3.6. CamcFunc_ReleaseArray  Declaration

void CamcFunc_ReleaseArray(CamcFunc *camcFuncs);

 Description Release CamcFunc object array. This function releases only an array’s region, not each element.

 Parameters camcFunc

[in/out] CamcFunc object array.

 Return Value None.

Infinitegra Inc. 25 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.7. CamcFunc_GetLibVersion  Declaration

UINT32 CamcFunc_GetLibVersion(void);

 Description Get Host Library version number.

 Parameters None..

 Return Value Assuming that the version number is x.y.z, return value is (x << 16 | y << 8 | z).

5.3.8. CamcFunc_GetVendorID  Declaration

UINT16 CamcFunc_GetVendorID(CamcFunc camcFunc);

 Description Get Vendor ID of the device.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value Vendor ID of the device.

5.3.9. CamcFunc_GetProductID  Declaration

UINT16 CamcFunc_GetProductID(CamcFunc camcFunc);

 Description Get Product ID of the device.

 Parameters camcFunc

Infinitegra Inc. 26 FX3Cam SDK for FCB-MA130 Programmer’s Guide

[in/out] CamcFunc object.

 Return Value Product ID of the device.

5.3.10. CamcFunc_GetFirmwareVersion  Declaration

UINT16 CamcFunc_GetFirmwareVersion(CamcFunc camcFunc);

 Description Get FX3 Firmware version number.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value Assuming that the version number is x.y.z, return value is (x << 8 | y << 4 | z).

5.3.11. CamcFunc_GetReleaseNumber  Declaration

UINT16 CamcFunc_GetReleaseNumber(CamcFunc camcFunc);

 Description Get Release Number (bcdDevice) of the device.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value Release Number of the device.

5.3.12. CamcFunc_GetDeviceName  Declaration

void CamcFunc_GetDeviceName(CamcFunc camcFunc, char *name, int nameSz);

Infinitegra Inc. 27 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Description Get a device name. Note that this function gets an empty string when camcFunc is got by CamcFunc_GetFuncByCaptureFilter().

 Parameters camcFunc

[in/out] CamcFunc object. name

[out] The pointer that receives a device name. nameSz

[in] Memory size of name.

 Return Value None.

5.3.13. CamcFunc_GetActive  Declaration

CamcStatus_t CamcFunc_GetActive(CamcFunc camcFunc, int *activep);

 Description Get whether the device is playing or not.

 Parameters camcFunc

[in/out] CamcFunc object. activep

[out] The pointer that receives whether the device is playing or not. 0: Playing, 1:Not playing.

 Return Value Error Code Set 2.

Infinitegra Inc. 28 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.14. CamcFunc_GetHostError  Declaration

CamcHostErrorCode_t CamcFunc_GetHostError(CamcFunc camcFunc);

 Description Get Host Error that occurred by the function executed last.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value Host Error.

5.3.15. CamcFunc_GetSensorError  Declaration

CamcSensorErrorCode_t CamcFunc_GetSensorError(CamcFunc camcFunc);

 Description Get Camera Module Error that occurred by the function executed last.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value Camera Module Error.

5.3.16. CamcFunc_GetFX3Error  Declaration

CamcFX3ErrorCode_t CamcFunc_GetFX3Error(CamcFunc camcFunc);

 Description Get EZ-USB FX3 Error that occurred by the function executed last.

 Parameters

Infinitegra Inc. 29 FX3Cam SDK for FCB-MA130 Programmer’s Guide camcFunc

[in/out] CamcFunc object.

 Return Value EZ-USB FX3 Error.

5.3.17. CamcFunc_GetErrorMessage  Declaration

const char* CamcFunc_GetErrorMessage(CamcStatus_t st);

 Description Get the error message corresponding to the specified error code.

 Parameters st

[in] Error code.

 Return Value Error message.

5.3.18. CamcFunc_GetTimeoutMilliSec  Declaration

UINT32 CamcFunc_GetTimeoutMilliSec(CamcFunc camcFunc);

 Description Get timeout period for waiting events. This values is used in CamcFunc_EventWait() and other functions that wait events.

 Parameters camcFunc

[in/out] CamcFunc object.

 Return Value Timeout period in milli seconds.

Infinitegra Inc. 30 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.19. CamcFunc_SetTimeoutMilliSec

 Declaration

void CamcFunc_SetTimeoutMilliSec(CamcFunc camcFunc, UINT32 timeoutMilliSec);

 Description Set timeout period for waiting events.

 Parameters camcFunc

[in/out] CamcFunc object. timeoutMilliSec

[in] Timeout period in milli seconds.

 Return Value None..

Infinitegra Inc. 31 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.20. CamcFunc_CommandWrite  Declaration

CamcStatus_t CamcFunc_CommandWrite(CamcFunc camcFunc, UINT8 id, UINT8 param);

 Description Execute a command of the camera module.

 Parameters camcFunc

[in/out] CamcFunc object. id

[in] Command ID. param

[in] Command Parameter.

 Return Value Error Code Set 2.

5.3.21. CamcFunc_EventRead  Declaration

CamcStatus_t CamcFunc_EventRead(CamcFunc camcFunc, CamcEvent *evtp);

 Description Receive an event from the camera module. If there is no event, this function hands back control and no error is returned.

 Parameters camcFunc

[in/out] CamcFunc object. evtp

[out] The pointer that receives a gotten event. typedef struct { UINT8 id; UINT8 int_source; UINT8 event_info; } CamcEvent; id

Event ID.

Infinitegra Inc. 32 FX3Cam SDK for FCB-MA130 Programmer’s Guide

int_source

Interruption source register. event_info

Event information.

 Return Value Error Code Set 2.

5.3.22. CamcFunc_EventWait  Declaration

CamcStatus_t CamcFunc_EventWait(CamcFunc camcFunc, UINT8 eventId, CamcEvent *retEvtp);

 Description Wait until receive events from the camera module. Return CCST_UNEXPECTED_EVENT if receive events besides the specified event.

 Parameters camcFunc

[in/out] CamcFunc object. eventId

[in] Event ID. retEvtp

[out] The pointer that receives a gotten event. If NULL is specified, no data is received. Please refer to CamcFunc_EventRead() about CamcEvent.

 Return Value Error Code Set 3.

5.3.23. CamcFunc_ParamRead, CamcFunc_ParamRead8, CamcFunc_ParamRead16  Declaration

CamcStatus_t CamcFunc_ParamRead(CamcFunc camcFunc, UINT16 addr, UINT8 len, UINT8 *data, UINT8 *retLenp);

CamcStatus_t CamcFunc_ParamRead8(CamcFunc camcFunc, UINT16 addr, UINT8 *data); CamcStatus_t CamcFunc_ParamRead16(CamcFunc camcFunc, UINT16 addr, UINT16 *data);

 Description Read Supplementary Registers’ values of the camera module. ・ CamcFunc_ParamRead() … Read data of arbitary length within ParamRead_LEN_MAX(=32) bytes starting from the specified address.

Infinitegra Inc. 33 FX3Cam SDK for FCB-MA130 Programmer’s Guide

・ CamcFunc_ParamRead8() … Read a byte from the specified address. ・ CamcFunc_ParamRead16() … Read tow bytes from the specified address.

 Parameters camcFunc

[in/out] CamcFunc object. addr

[in] Start address. len (only for CamcFunc_ParamRead)

[in] Data length in bytes. 1 to ParamRead_LEN_MAX(=32). data

[out] The pointer that receives read data. retLenp (only for CamcFunc_ParamRead)

[out] The pointer that receives read length.

 Return Value Error Code Set 4.

5.3.24. CamcFunc_ParamWrite, CamcFunc_ParamWrite8, CamcFunc_ParamWrite16  Declaration

CamcStatus_t CamcFunc_ParamWrite(CamcFunc camcFunc, UINT16 addr, UINT8 len, const UINT8 *data); CamcStatus_t CamcFunc_ParamWrite8(CamcFunc camcFunc, UINT16 addr, UINT8 data); CamcStatus_t CamcFunc_ParamWrite16(CamcFunc camcFunc, UINT16 addr, UINT16 data);

 Description Write values to Supplementary Registers of the camera module. ・ CamcFunc_ParamWrite … Write data of arbitary length within ParamWrite_LEN_MAX(=32) bytes starting from the specified address. ・ CamcFunc_ParamWrite8 … Write a byte to the specified address. ・ CamcFunc_ParamWrite16 … Write tow bytes to the specified address.

 Parameters camcFunc

[in/out] CamcFunc object. addr

[in] Start address. len (only for CamcFunc_ParamWrite)

[in] Data length in bytes. 1 to ParamWrite_LEN_MAX(=32).

Infinitegra Inc. 34 FX3Cam SDK for FCB-MA130 Programmer’s Guide data

[in] Data to write.

 Return Value Error Code Set 4.

5.3.25. CamcFunc_Set_PICT_BRIGHTNESS  Declaration

CamcStatus_t CamcFunc_Set_PICT_BRIGHTNESS(CamcFunc camcFunc, const Param_PICT_BRIGHTNESS *param);

 Description Set CM_PICT_BRIGHTNESS.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 brightness : 4; UINT8 bit47 : 4; }; UINT8 u8; }; } Param_PICT_BRIGHTNESS; brightness Min.: Param_PICT_BRIGHTNESS_MIN Max.: Param_PICT_BRIGHTNESS_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 35 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.26. CamcFunc_Set_PICT_CONTRAST  Declaration

CamcStatus_t CamcFunc_Set_PICT_CONTRAST(CamcFunc camcFunc, const INT8 param);

 Description Set CM_PICT_CONTRAST.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. Min.: Param_PICT_CONTRAST_MIN Max.: Param_PICT_CONTRAST_MAX

 Return Value Error Code Set 2.

5.3.27. CamcFunc_Set_PICT_SHARPNESS  Declaration

CamcStatus_t CamcFunc_Set_PICT_SHARPNESS(CamcFunc camcFunc, const INT8 param);

 Description Set CM_PICT_SHARPNESS.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. Min.: Param_PICT_SHARPNESS_MIN Max.: Param_PICT_SHARPNESS_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 36 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.28. CamcFunc_Set_PICT_COLORHUE  Declaration

CamcStatus_t CamcFunc_Set_PICT_COLORHUE(CamcFunc camcFunc, const INT8 param);

 Description Set CM_PICT_COLORHUE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. Min.: Param_PICT_COLORHUE_MIN Max.: Param_PICT_COLORHUE_MAX

 Return Value Error Code Set 2.

5.3.29. CamcFunc_Set_PICT_COLORGAIN  Declaration

CamcStatus_t CamcFunc_Set_PICT_COLORGAIN(CamcFunc camcFunc, const INT8 param);

 Description Set CM_PICT_COLORGAIN.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter.

Min.: Param_PICT_COLORGAIN_MIN Max.: Param_PICT_COLORGAIN_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 37 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.30. CamcFunc_Set_PICT_MIRROR  Declaration

CamcStatus_t CamcFunc_Set_PICT_MIRROR(CamcFunc camcFunc, const Param_PICT_MIRROR *param);

 Description Set CM_PICT_MIRROR and wait EV_MIRRORFLIP_END.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 dmirror : 1; UINT8 dflip : 1; UINT8 cmirror : 1; UINT8 cflip : 1; UINT8 bit47 : 4; }; UINT8 u8; }; } Param_PICT_MIRROR;

 Return Value Error Code Set 3.

Infinitegra Inc. 38 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.31. CamcFunc_Set_CC_MODE  Declaration

CamcStatus_t CamcFunc_Set_CC_MODE(CamcFunc camcFunc, const Param_CC_MODE param);

 Description Set CM_CC_MODE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_CC_MODE_AUTO = 0, Param_CC_MODE_HOLD, Param_CC_MODE_ATW, Param_CC_MODE_LIGHT_BULB, Param_CC_MODE_NEUTRAL_COLOR_FLUORESCENT_LIGHT, Param_CC_MODE_CLEAR_SKY, Param_CC_MODE_CLOUDY_SKY, Param_CC_MODE_DAYLIGHT_COLOR_FLUORESCENT_LIGHT = 9, Param_CC_MODE_LIGHT_BULB_COLOR_FLUORESCENT_LIGHT, } Param_CC_MODE;

 Return Value Error Code Set 2.

5.3.32. CamcFunc_Set_CC_SPEED  Declaration

CamcStatus_t CamcFunc_Set_CC_SPEED(CamcFunc camcFunc, const Param_CC_SPEED param);

 Description Set CM_CC_SPEED.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_CC_SPEED_NORMAL = 0,

Infinitegra Inc. 39 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Param_CC_SPEED_HIGH_SPEED, Param_CC_SPEED_LOW_SPEED, } Param_CC_SPEED;

 Return Value Error Code Set 2.

5.3.33. CamcFunc_Set_CC_OFFSET  Declaration

CamcStatus_t CamcFunc_Set_CC_OFFSET(CamcFunc camcFunc, const Param_CC_OFFSET param);

 Description Set CM_CC_OFFSET.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_CC_OFFSET_OFF = 0, Param_CC_OFFSET_ON, } Param_CC_OFFSET;

 Return Value Error Code Set 2.

5.3.34. CamcFunc_Set_CC_R_OFFSET  Declaration

CamcStatus_t CamcFunc_Set_CC_R_OFFSET(CamcFunc camcFunc, const INT8 param);

 Description Set CC_R_OFFSET.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_CC_R_OFFSET_MIN

Infinitegra Inc. 40 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Max.: Param_CC_R_OFFSET_MAX

 Return Value Error Code Set 2.

5.3.35. CamcFunc_Set_CC_B_OFFSET  Declaration

CamcStatus_t CamcFunc_Set_CC_B_OFFSET(CamcFunc camcFunc, const INT8 param);

 Description Set CC_B_OFFSET.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

Min.: Param_CC_B_OFFSET_MIN Max.: Param_CC_B_OFFSET_MAX

 Return Value Error Code Set 2.

5.3.36. CamcFunc_Get_CC_R_LEVEL  Declaration

CamcStatus_t CamcFunc_Get_CC_R_LEVEL(CamcFunc camcFunc, UINT8 *paramp);

 Description Get CC_R_LEVEL.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value.

 Return Value Error Code Set 2.

Infinitegra Inc. 41 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.37. CamcFunc_Get_CC_B_LEVEL  Declaration

CamcStatus_t CamcFunc_Get_CC_B_LEVEL(CamcFunc camcFunc, UINT8 *paramp);

 Description Get CC_B_LEVEL.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value.

 Return Value Error Code Set 2.

5.3.38. CamcFunc_Set_COLOR_BRK  Declaration

CamcStatus_t CamcFunc_Set_COLOR_BRK(CamcFunc camcFunc, const Param_COLOR_BRK param);

 Description Set COLOR_BRK.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_Set_COLOR_BRK_OFF, Param_Set_COLOR_BRK_COOL_FILTER, Param_Set_COLOR_BRK_WARM_FILTER, } Param_COLOR_BRK;

 Return Value Error Code Set 2.

Infinitegra Inc. 42 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.39. CamcFunc_Set_ATR  Declaration

CamcStatus_t CamcFunc_Set_ATR(CamcFunc camcFunc, const Param_ATR *param);

 Description Set CM_ATR and wait EV_ATR_END.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 atr_on : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } Param_ATR;

 Return Value Error Code Set 3.

5.3.40. CamcFunc_Set_ATR_GAIN  Declaration

CamcStatus_t CamcFunc_Set_ATR_GAIN(CamcFunc camcFunc, const UINT8 param);

 Description Set ATR_GAIN.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

Infinitegra Inc. 43 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.41. CamcFunc_Set_ATR_WIDE_D  Declaration

CamcStatus_t CamcFunc_Set_ATR_WIDE_D(CamcFunc camcFunc, const Param_ATR_WIDE_D *param);

 Description Set ATR_WIDE_D.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 atr_wide_d : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } Param_ATR_WIDE_D;

 Return Value Error Code Set 2.

5.3.42. CamcFunc_Set_ATR_CONTRAST  Declaration

CamcStatus_t CamcFunc_Set_ATR_CONTRAST(CamcFunc camcFunc, const UINT8 param);

 Description Set ATR_CONTRAST.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_ATR_CONTRAST_MIN

Max.: Param_ATR_CONTRAST_MAX

Infinitegra Inc. 44 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Return Value Error Code Set 2.

5.3.43. CamcFunc_Set_ATR_CHROMA  Declaration

CamcStatus_t CamcFunc_Set_ATR_CHROMA(CamcFunc camcFunc, const UINT8 param);

 Description Set ATR_CHROMA.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_ATR_CHROMA_MIN Max.: Param_ATR_CHROMA_MAX

 Return Value Error Code Set 2.

5.3.44. CamcFunc_Set_MODE_IMST  Declaration

CamcStatus_t CamcFunc_Set_MODE_IMST(CamcFunc camcFunc, BOOL enable);

 Description Set CM_MODE_IMST_HS_DRAFT or CM_MODE_HS_DRAFT, and wait EV_MODE_CHANGED.

 Parameters camcFunc

[in/out] CamcFunc object. enable

[in] TRUE … CM_MODE_IMST_HS_DRAFT FALSE … CM_MODE_HS_DRAFT

 Return Value Error Code Set 3 and CCST_INVALID_MODE.

Infinitegra Inc. 45 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.45. CamcFunc_Set_IMST_PREVIEW  Declaration

CamcStatus_t CamcFunc_Set_IMST_PREVIEW(CamcFunc camcFunc, const Param_IMST_PREVIEW param);

 Description Set IMST_PREVIEW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef enum { Param_IMST_PREVIEW_ON = 0, Param_IMST_PREVIEW_OFF, } Param_IMST_PREVIEW;

 Return Value Error Code Set 2.

5.3.46. CamcFunc_Set_SCNR_SW  Declaration

CamcStatus_t CamcFunc_Set_SCNR_SW(CamcFunc camcFunc, const Param_SCNR_SW *param);

 Description Set SCNR_SW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 scnrSw : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } Param_SCNR_SW;

Infinitegra Inc. 46 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Return Value Error Code Set 2.

5.3.47. CamcFunc_Set_ZOOM  Declaration

CamcStatus_t CamcFunc_Set_ZOOM(CamcFunc camcFunc, const Param_ZOOM *param, EventInfo_ZOOM_END *evtInfop);

 Description Set CM_ZOOM and wait EV_ZOOM_END. If a thread calls this function with stop=1 while another thread is calling this function with stop=0, the another thread with stop=0 receives an event and the thread with stop=1 receives no event.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 mag : 7; UINT8 stop : 1; }; UINT8 u8; }; } Param_ZOOM; mag

Min.: Param_ZOOM_mag_MIN Max.: Param_ZOOM_mag_MAX evtInfop

[out] The pointer that receives a gotten event. typedef struct { union { struct { UINT8 mag : 7; UINT8 stop : 1; }; UINT8 u8; }; } EventInfo_ZOOM_END;

 Return Value Error Code Set 3.

Infinitegra Inc. 47 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.48. CamcFunc_Set_ZM_SMTH_SPEED  Declaration

CamcStatus_t CamcFunc_Set_ZM_SMTH_SPEED(CamcFunc camcFunc, const UINT8 param);

 Description Set ZM_SMTH_SPEED.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_ZM_SMTH_SPEED_MIN Max.: Param_ZM_SMTH_SPEED_MAX

 Return Value Error Code Set 2.

5.3.49. CamcFunc_Set_ZM_SMTH_INTERVAL  Declaration

CamcStatus_t CamcFunc_Set_ZM_SMTH_INTERVAL(CamcFunc camcFunc, const UINT8 param);

 Description Set ZM_SMTH_INTERVAL.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_ZM_SMTH_INTERVAL_MIN Max.: Param_ZM_SMTH_INTERVAL_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 48 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.50. CamcFunc_Set_ZM_STEP  Declaration

CamcStatus_t CamcFunc_Set_ZM_STEP(CamcFunc camcFunc, const UINT8 param);

 Description Set ZM_STEP.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_ZM_STEP_MIN Max.: Param_ZM_STEP_MAX

 Return Value Error Code Set 2.

5.3.51. CamcFunc_OnePushAF  Declaration

CamcStatus_t CamcFunc_OnePushAF(CamcFunc camcFunc, const Param_MODE_HALF_REL *param,

EventInfo_DETECT_FOCUS *detectFocusEvtInfop, EventInfo_HALF_REL *halfRelEvtInfop);

 Description Execute One-push AF. This function accesses CM_MODE_HALF_REL, CM_MODE_HALF_REL, CM_MODE_MAIN, EV_MODE_CHANGED, EV_DETECT_FOCUS and EV_HALF_REL internally.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter of CM_HALF_REL. typedef struct { union { struct { UINT8 acc : 1; UINT8 ae : 1; UINT8 af : 1; UINT8 bit37 : 5; };

Infinitegra Inc. 49 FX3Cam SDK for FCB-MA130 Programmer’s Guide

UINT8 u8; }; } Param_MODE_HALF_REL; af is always overwritten with 1. detectFocusEvtInfop

[out] The pointer that receives the information of EV_DETECT_FOCUS. typedef enum { EventInfo_DETECT_FOCUS_LOW_CONTRAST_JUDGEMENT = 0, EventInfo_DETECT_FOCUS_FOCUS_DETECTION, } EventInfo_DETECT_FOCUS; halfRelEvtInfop

[out] The pointer that receives the information of EV_HALF_REL. typedef struct { union { struct { UINT8 af_status : 3; UINT8 bit36 : 4; UINT8 stop : 1; }; UINT8 u8; }; } EventInfo_HALF_REL;

 Return Value Error Code Set 3.

Infinitegra Inc. 50 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.52. CamcFunc_Set_SCANAF_MODE_0  Declaration

CamcStatus_t CamcFunc_Set_SCANAF_MODE_0(CamcFunc camcFunc, const Param_SCANAF_MODE_0 *param);

 Description Set SCANAF_MODE_0.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 scanRange : 2; UINT8 bits23 : 2; UINT8 bits45 : 2; UINT8 adjacentScan : 2; }; UINT8 u8; }; } Param_SCANAF_MODE_0; Valid values of scanRange: Param_SCANAF_MODE_0_scanRange_ON Param_SCANAF_MODE_0_scanRange_OFF

Param_SCANAF_MODE_0_scanRange_AUTO Valid values of adjacentScan: Param_SCANAF_MODE_0_adjacentScan_INF Param_SCANAF_MODE_0_adjacentScan_ENTIRE Param_SCANAF_MODE_0_adjacentScan_MACRO

 Return Value Error Code Set 2.

Infinitegra Inc. 51 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.53. CamcFunc_Set_SCANAF_MODE_1  Declaration

CamcStatus_t CamcFunc_Set_SCANAF_MODE_1(CamcFunc camcFunc, const Param_SCANAF_MODE_1 *param);

 Description Set SCANAF_MODE_1.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 bit0 : 1; UINT8 brightness_correction : 1; UINT8 frame_rate_control : 1; UINT8 b37 : 5; }; UINT8 u8; }; } Param_SCANAF_MODE_1;

 Return Value Error Code Set 2.

5.3.54. CamcFunc_Set_SCANAF_FRMRATE  Declaration

CamcStatus_t CamcFunc_Set_SCANAF_FRMRATE(CamcFunc camcFunc, UINT8 minFrmrate, UINT8 maxFrmrate);

 Description Set SCANAF_MIN_FRMRATE and SCANAF_MAX_FRMRATE.

 Parameters camcFunc

[in/out] CamcFunc object. minFrmrate

[in] Supplementary Register value of SCANAF_MIN_FRMRATE.

Min.: Param_SCANAF_FRMRATE_MIN

Infinitegra Inc. 52 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Max.: Param_SCANAF_FRMRATE_MAX maxFrmrate

[in] Supplementary Register value of SCANAF_MAX_FRMRATE. Min.: Param_SCANAF_FRMRATE_MIN Max.: Param_SCANAF_FRMRATE_MAX

 Return Value Error Code Set 2.

5.3.55. CamcFunc_Set_MANUAL_FOCUS  Declaration

CamcStatus_t CamcFunc_Set_MANUAL_FOCUS(CamcFunc camcFunc, const Param_MANUAL_FOCUS *param, EventInfo_LENSMOVE_COMPLETE *evtInfop);

 Description Set CM_MANUAL_FOCUS and wait EV_LENSMOVE_COMPLETE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 moveCount : 6; UINT8 mode : 2; }; UINT8 u8; }; } Param_MANUAL_FOCUS; moveCount Min.: Param_MANUAL_FOCUS_moveCount_MIN

Max.: Param_MANUAL_FOCUS_moveCount_MAX Valid values of mode: Param_MANUAL_FOCUS_mode_INF Param_MANUAL_FOCUS_mode_INF_STEP Param_MANUAL_FOCUS_mode_MACRO Param_MANUAL_FOCUS_mode_MACRO_STEP evtInfop

[out] The pointer that receives a gotten event.

Infinitegra Inc. 53 FX3Cam SDK for FCB-MA130 Programmer’s Guide

typedef struct { union { struct { UINT8 bit06 : 7; UINT8 stop : 1; }; UINT8 u8; }; } EventInfo_LENSMOVE_COMPLETE;

 Return Value Error Code Set 3.

5.3.56. CamcFunc_Set_AE_MODE  Declaration

CamcStatus_t CamcFunc_Set_AE_MODE(CamcFunc camcFunc, const Param_AE_MODE param);

 Description Set CM_AE_MODE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_AE_MODE_AUTO = 0, Param_AE_MODE_HOLD, Param_AE_MODE_MANUAL, Param_AE_MODE_SHUTTER_PRIORITY, Param_AE_MODE_GAIN_PRIORIY, } Param_AE_MODE;

 Return Value Error Code Set 2.

5.3.57. CamcFunc_Set_AE_SHUTTER  Declaration

CamcStatus_t CamcFunc_Set_AE_SHUTTER(CamcFunc camcFunc, const Param_AE_SHUTTER param);

 Description Set AE_SHUTTER.

Infinitegra Inc. 54 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

Min.: Param_AE_SHUTTER_MIN Max.: Param_AE_SHUTTER_MAX typedef enum { Param_AE_SHUTTER_1_5000 = 1, Param_AE_SHUTTER_1_4000, Param_AE_SHUTTER_1_3000, Param_AE_SHUTTER_1_2500, Param_AE_SHUTTER_1_2000, Param_AE_SHUTTER_1_1500, Param_AE_SHUTTER_1_1250, Param_AE_SHUTTER_1_1000, Param_AE_SHUTTER_1_800, Param_AE_SHUTTER_1_600, Param_AE_SHUTTER_1_500, Param_AE_SHUTTER_1_400, Param_AE_SHUTTER_1_300, Param_AE_SHUTTER_1_250, Param_AE_SHUTTER_1_200, Param_AE_SHUTTER_1_150, Param_AE_SHUTTER_1_120, Param_AE_SHUTTER_1_100, Param_AE_SHUTTER_1_80, Param_AE_SHUTTER_1_60, Param_AE_SHUTTER_1_50, Param_AE_SHUTTER_1_40, Param_AE_SHUTTER_1_30, Param_AE_SHUTTER_1_25, Param_AE_SHUTTER_1_20, Param_AE_SHUTTER_1_15, Param_AE_SHUTTER_1_12, Param_AE_SHUTTER_1_10, Param_AE_SHUTTER_1_8, Param_AE_SHUTTER_1_6, Param_AE_SHUTTER_1_5, Param_AE_SHUTTER_1_4, Param_AE_SHUTTER_1_3, Param_AE_SHUTTER_0p4, Param_AE_SHUTTER_0p5, Param_AE_SHUTTER_0p65, Param_AE_SHUTTER_0p8, Param_AE_SHUTTER_1, // 38 } Param_AE_SHUTTER;

 Return Value Error Code Set 2.

Infinitegra Inc. 55 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.58. CamcFunc_Set_AE_ISO  Declaration

CamcStatus_t CamcFunc_Set_AE_ISO(CamcFunc camcFunc, const UINT16 param);

 Description Set AE_ISO.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_AE_ISO_MIN Max.: Param_AE_ISO_MAX

 Return Value Error Code Set 2.

5.3.59. CamcFunc_Set_AE_EV_CORRECT  Declaration

CamcStatus_t CamcFunc_Set_AE_EV_CORRECT(CamcFunc camcFunc, const INT8 param);

 Description Set CM_AE_EV_CORRECT.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter.

Min.: Param_AE_EV_CORRECT_MIN Max.: Param_AE_EV_CORRECT_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 56 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.60. CamcFunc_Set_AE_FORCE_BLC  Declaration

CamcStatus_t CamcFunc_Set_AE_FORCE_BLC(CamcFunc camcFunc, const Param_AE_FORCE_BLC param);

 Description Set CM_AE_FORCE_BLC.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_AE_FORCE_BLC_OFF = 0, Param_AE_FORCE_BLC_ON, } Param_AE_FORCE_BLC;

 Return Value Error Code Set 2.

5.3.61. CamcFunc_Set_AE_PHOTOMETRY  Declaration

CamcStatus_t CamcFunc_Set_AE_PHOTOMETRY(CamcFunc camcFunc, const Param_AE_PHOTOMETRY param);

 Description Set CM_AE_PHOTOMETRY.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_AE_PHOTOMETRY_CENTER_WEIGHTED = 0, Param_AE_PHOTOMETRY_SPOT, Param_AE_PHOTOMETRY_AVERAGE, } Param_AE_PHOTOMETRY;

 Return Value Error Code Set 2.

Infinitegra Inc. 57 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.62. CamcFunc_Set_AE_FLC_MODE  Declaration

CamcStatus_t CamcFunc_Set_AE_FLC_MODE(CamcFunc camcFunc, const Param_AE_FLC_MODE param);

 Description Set CM_AE_FLC_MODE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef enum { Param_AE_FLC_MODE_OFF = 0, Param_AE_FLC_MODE_AUTO, Param_AE_FLC_MODE_50HZ_FIXED, Param_AE_FLC_MODE_60HZ_FIXED, Param_AE_FLC_MODE_50HZ_AUTO, Param_AE_FLC_MODE_60HZ_AUTO, } Param_AE_FLC_MODE;

 Return Value Error Code Set 2.

5.3.63. CamcFunc_Set_SLOW_SHUTTER  Declaration

CamcStatus_t CamcFunc_Set_SLOW_SHUTTER(CamcFunc camcFunc, const void *reserved, EventInfo_SLOW_SHUTTER *evtInfop);

 Description Set CM_SLOW_SHUTTER and wait EV_SLOW_SHUTTER.

 Parameters camcFunc

[in/out] CamcFunc object. reserved

[in] Specify NULL. evtInfop

[out] The pointer that receives a gotten event.

Infinitegra Inc. 58 FX3Cam SDK for FCB-MA130 Programmer’s Guide

typedef enum { EventInfo_SLOW_SHUTTER_COMPLETE, } EventInfo_SLOW_SHUTTER;

 Return Value Error Code Set 3.

5.3.64. CamcFunc_Set_SLOW_SHUTTER_SPEED  Declaration

CamcStatus_t CamcFunc_Set_SLOW_SHUTTER_SPEED(CamcFunc camcFunc, const Param_SLOW_SHUTTER_SPEED param);

 Description Set SLOW_SHUTTER_SPEED.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_SLOW_SHUTTER_SPEED_MIN Max.: Param_SLOW_SHUTTER_SPEED_MAX typedef enum { Param_SLOW_SHUTTER_SPEED_OFF = 0, Param_SLOW_SHUTTER_SPEED_1_5000, Param_SLOW_SHUTTER_SPEED_1_4000, Param_SLOW_SHUTTER_SPEED_1_3000, Param_SLOW_SHUTTER_SPEED_1_2500, Param_SLOW_SHUTTER_SPEED_1_2000, Param_SLOW_SHUTTER_SPEED_1_1500, Param_SLOW_SHUTTER_SPEED_1_1250, Param_SLOW_SHUTTER_SPEED_1_1000, Param_SLOW_SHUTTER_SPEED_1_800, Param_SLOW_SHUTTER_SPEED_1_600, Param_SLOW_SHUTTER_SPEED_1_500, Param_SLOW_SHUTTER_SPEED_1_400, Param_SLOW_SHUTTER_SPEED_1_300, Param_SLOW_SHUTTER_SPEED_1_250, Param_SLOW_SHUTTER_SPEED_1_200, Param_SLOW_SHUTTER_SPEED_1_150, Param_SLOW_SHUTTER_SPEED_1_120, Param_SLOW_SHUTTER_SPEED_1_100, Param_SLOW_SHUTTER_SPEED_1_80, Param_SLOW_SHUTTER_SPEED_1_60, Param_SLOW_SHUTTER_SPEED_1_50, Param_SLOW_SHUTTER_SPEED_1_40, Param_SLOW_SHUTTER_SPEED_1_30, Param_SLOW_SHUTTER_SPEED_1_25, Param_SLOW_SHUTTER_SPEED_1_20,

Infinitegra Inc. 59 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Param_SLOW_SHUTTER_SPEED_1_15, Param_SLOW_SHUTTER_SPEED_1_12, Param_SLOW_SHUTTER_SPEED_1_10, Param_SLOW_SHUTTER_SPEED_1_8, Param_SLOW_SHUTTER_SPEED_1_6, Param_SLOW_SHUTTER_SPEED_1_5, Param_SLOW_SHUTTER_SPEED_1_4, Param_SLOW_SHUTTER_SPEED_1_3, Param_SLOW_SHUTTER_SPEED_0p4, Param_SLOW_SHUTTER_SPEED_0p5, Param_SLOW_SHUTTER_SPEED_0p65, Param_SLOW_SHUTTER_SPEED_0p8, Param_SLOW_SHUTTER_SPEED_1, // 38 } Param_SLOW_SHUTTER_SPEED;

 Return Value Error Code Set 2.

5.3.65. CamcFunc_Set_HS_DRAFT_MIN_FRMRATE  Declaration

CamcStatus_t CamcFunc_Set_HS_DRAFT_MIN_FRMRATE(CamcFunc camcFunc, UINT8 param);

 Description Set HS_DRAFT_MIN_FRMRATE. HS_DRAFT_MAX_FRMRATE cannot be set. Do not set HS_DRAFT_MAX_FRMRATE from a host because HS_DRAFT_MAX_FRMRATE is controlled by FX3 Firmware internally.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. Min.: Param_HS_DRAFT_MIN_FRMRATE_MIN Max.: Param_HS_DRAFT_MIN_FRMRATE_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 60 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.66. CamcFunc_Set_FDT_MODE  Declaration

CamcStatus_t CamcFunc_Set_FDT_MODE(CamcFunc camcFunc, const Param_FDT_MODE *param);

 Description Set CM_FDT_MODE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 bit06 : 7; UINT8 enable : 1; }; UINT8 u8; }; } Param_FDT_MODE;

 Return Value Error Code Set 2.

5.3.67. CamcFunc_Get_FDT_DETECTED_FACE_NUM

 Declaration

CamcStatus_t CamcFunc_Get_FDT_DETECTED_FACE_NUM(CamcFunc camcFunc, Param_FDT_DETECTED_FACE_NUM *paramp);

 Description Set FDT_DETECTED_FACE_NUM.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value. typedef struct { UINT8 num:4;

Infinitegra Inc. 61 FX3Cam SDK for FCB-MA130 Programmer’s Guide

UINT8 bit47:4; } Param_FDT_DETECTED_FACE_NUM;

 Return Value Error Code Set 2.

5.3.68. CamcFunc_Get_FDT_FACE  Declaration

CamcStatus_t CamcFunc_Get_FDT_FACE(CamcFunc camcFunc, UINT8 index, Param_FDT_FACE *paramp);

 Description Get one of the grouped values that is composed with POS_X/POS_Y/SIZE/ANGLE within FDT_FACE_1_POS_X ~ FDT_FACE_8_POS_X, FDT_FACE_1_POS_Y ~ FDT_FACE_8_POS_Y, FDT_FACE_1_SIZE ~ FDT_FACE_8_SIZE, and FDT_FACE_1_ANGLE ~ FDT_FACE_8_ANGLE.

 Parameters camcFunc

[in/out] CamcFunc object. index

[in] Face ID. Min.: Param_FDT_FACE_index_MIN Min.: Param_FDT_FACE_index_MAX paramp

[out] The pointer that receives a gotten value. typedef struct { UINT16 pos_x; UINT16 pos_y; UINT16 size; struct { UINT8 NA : 2; UINT8 node : 4; UINT8 angle : 2; }; } Param_FDT_FACE;

 Return Value Error Code Set 2.

Infinitegra Inc. 62 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.69. CamcFunc_Set_FDT_WND  Declaration

CamcStatus_t CamcFunc_Set_FDT_WND(CamcFunc camcFunc, const void *reserved);

 Description Set CM_FDT_WND.

 Parameters camcFunc

[in/out] CamcFunc object. reserved

[in] Specify NULL.

 Return Value Error Code Set 2.

5.3.70. CamcFunc_Set_FDT_WND_TTL  Declaration

CamcStatus_t CamcFunc_Set_FDT_WND_TTL(CamcFunc camcFunc, const Param_FDT_WND_TTL *param);

 Description Set FDT_WND_TTL.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 number_of_frames : 4; UINT8 bit47 : 4; }; UINT8 u8; }; } Param_FDT_WND_TTL; number_of_frames Min.: Param_FDT_WND_TTL_number_of_frames_MIN

Infinitegra Inc. 63 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Max.: Param_FDT_WND_TTL_number_of_frames_MAX

 Return Value Error Code Set 2.

5.3.71. CamcFunc_Set_FDT_WND_COLOR_H_PRI  Declaration

CamcStatus_t CamcFunc_Set_FDT_WND_COLOR_H_PRI(CamcFunc camcFunc, const UINT8 r, const UINT8 g, const UINT8 b);

 Description Set FDT_WND_COLOR_H_PRI_R, FDT_WND_COLOR_H_PRI_G and FDT_WND_COLOR_H_PRI_B.

 Parameters camcFunc

[in/out] CamcFunc object. r

[in] Supplementary Register value of FDT_WND_COLOR_H_PRI_R. g

[in] Supplementary Register value of FDT_WND_COLOR_H_PRI_G. b

[in] Supplementary Register value of FDT_WND_COLOR_H_PRI_B.

 Return Value Error Code Set 2.

5.3.72. CamcFunc_Set_FDT_WND_COLOR_L_PRI  Declaration

CamcStatus_t CamcFunc_Set_FDT_WND_COLOR_L_PRI(CamcFunc camcFunc,

const UINT8 r, const UINT8 g, const UINT8 b);

 Description Set FDT_WND_COLOR_L_PRI_R, FDT_WND_COLOR_L_PRI_G and FDT_WND_COLOR_L_PRI_B.

 Parameters camcFunc

[in/out] CamcFunc object. r

Infinitegra Inc. 64 FX3Cam SDK for FCB-MA130 Programmer’s Guide

[in] Supplementary Register value of FDT_WND_COLOR_L_PRI_R. g

[in] Supplementary Register value of FDT_WND_COLOR_L_PRI_G. b

[in] Supplementary Register value of FDT_WND_COLOR_L_PRI_B.

 Return Value Error Code Set 2.

5.3.73. CamcFunc_Set_FDT_WND_WIDTH_PRIORITY  Declaration

CamcStatus_t CamcFunc_Set_FDT_WND_WIDTH_PRIORITY(CamcFunc camcFunc, const Param_FDT_WND_WIDTH_PRIORITY *param);

 Description Set FDT_WND_WIDTH_PRIORITY.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 l_priority : 4; UINT8 h_priority : 4; }; UINT8 u8; }; } Param_FDT_WND_WIDTH_PRIORITY;

 Return Value Error Code Set 2.

5.3.74. CamcFunc_Set_FDT_ANGLE_MODE  Declaration

CamcStatus_t CamcFunc_Set_FDT_ANGLE_MODE(CamcFunc camcFunc, const Param_FDT_ANGLE_MODE *param);

 Description Set FDT_ANGLE_MODE.

Infinitegra Inc. 65 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 angle : 2; UINT8 mode : 2; UINT8 bit47 : 4; }; UINT8 u8; }; } Param_FDT_ANGLE_MODE; Valid values of angle: Param_FDT_ANGLE_MODE_angle_0DEG Param_FDT_ANGLE_MODE_angle_270DEG Param_FDT_ANGLE_MODE_angle_90DEG Valid values of mode:

Param_FDT_ANGLE_MODE_mode_ANGLE_SPEC Param_FDT_ANGLE_MODE_mode_1ST_DETECT Param_FDT_ANGLE_MODE_mode_COMPLEX Param_FDT_ANGLE_MODE_mode_SIMPLE

 Return Value Error Code Set 2.

5.3.75. CamcFunc_Set_FDT_SEARCH_WND_HALF  Declaration

CamcStatus_t CamcFunc_Set_FDT_SEARCH_WND_HALF(CamcFunc camcFunc,

const UINT8 start_x, const UINT8 start_y, const UINT8 size_x, const UINT8 size_y);

 Description Set FDT_SEARCH_WND_HALF_START_X, FDT_SEARCH_WND_HALF_START_Y, FDT_SEARCH_WND_HALF_SIZE_X and FDT_SEARCH_WND_HALF_SIZE_Y.

 Parameters camcFunc

[in/out] CamcFunc object.

Infinitegra Inc. 66 FX3Cam SDK for FCB-MA130 Programmer’s Guide start_x

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_START_X. start_y

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_START_Y. size_x

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_SIZE_X. size_y

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_SIZE_Y.

 Return Value Error Code Set 2.

5.3.76. CamcFunc_Set_FDT_DISTANCE_THRESHOLD  Declaration

CamcStatus_t CamcFunc_Set_FDT_DISTANCE_THRESHOLD(CamcFunc camcFunc, const UINT8 param);

 Description Set FDT_DISTANCE_THRESHOLD.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

Infinitegra Inc. 67 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.77. CamcFunc_Set_WND_PHOTOMETRY  Declaration

CamcStatus_t CamcFunc_Set_WND_PHOTOMETRY(CamcFunc camcFunc, const Param_WND_PHOTOMETRY *param);

 Description Set CM_WND_PHOTOMETRY.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 b0 : 1; UINT8 ae : 1; UINT8 af : 1; UINT8 bit37 : 5; }; UINT8 u8; }; } Param_WND_PHOTOMETRY;

 Return Value Error Code Set 2.

5.3.78. CamcFunc_Set_WND_PHOTOMETRY_AE  Declaration

CamcStatus_t CamcFunc_Set_WND_PHOTOMETRY_AE(CamcFunc camcFunc, const Param_WND_PHOTOMETRY_AE *param);

 Description Set WND_PHOTOMETRY_AE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union {

Infinitegra Inc. 68 FX3Cam SDK for FCB-MA130 Programmer’s Guide

struct { UINT8 frame_position_selection : 2; UINT8 bit27 : 6; }; UINT8 u8; }; } Param_WND_PHOTOMETRY_AE; Valid values of frame_position_selection: Param_WND_PHOTOMETRY_AE_HOST Param_WND_PHOTOMETRY_AE_STANDARD Param_WND_PHOTOMETRY_AE_FACE_DETECTION_RESULTS

 Return Value Error Code Set 2.

5.3.79. CamcFunc_Set_WND_PHOTOMETRY_CC  Declaration

CamcStatus_t CamcFunc_Set_WND_PHOTOMETRY_CC(CamcFunc camcFunc, const Param_WND_PHOTOMETRY_CC *param);

 Description Set WND_PHOTOMETRY_CC.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 frame_position_selection : 2; UINT8 bit27 : 6; }; UINT8 u8; }; } Param_WND_PHOTOMETRY_CC;

 Return Value Error Code Set 2.

5.3.80. CamcFunc_Set_WND_PHOTOMETRY_AF  Declaration

CamcStatus_t CamcFunc_Set_WND_PHOTOMETRY_AF(CamcFunc camcFunc, const Param_WND_PHOTOMETRY_AF *param);

Infinitegra Inc. 69 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Description Set WND_PHOTOMETRY_AF.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 frame_position_selection : 2; UINT8 bit27 : 6; }; UINT8 u8; }; } Param_WND_PHOTOMETRY_AF; Valid values of frame_position_selection: Param_WND_PHOTOMETRY_AF_HOST Param_WND_PHOTOMETRY_AF_STANDARD

 Return Value Error Code Set 2.

5.3.81. CamcFunc_Set_AE_WND_PHOTOMETRY  Declaration

CamcStatus_t CamcFunc_Set_AE_WND_PHOTOMETRY(CamcFunc camcFunc, const INT8 offset_h, const INT8 offset_v, const UINT8 size_h, const UINT8 size_v);

 Description Set AE_WND_PHOTOMETRY_OFFSET_H, AE_WND_PHOTOMETRY_OFFSET_V, AE_WND_PHOTOMETRY_SIZE_H and AE_WND_PHOTOMETRY_SIZE_V.

 Parameters camcFunc

[in/out] CamcFunc object. offset_h

[in] Supplementary Register value of AE_WND_PHOTOMETRY_OFFSET_H.

Min.: Param_AE_WND_PHOTOMETRY_OFFSET_H_MIN Max.: Param_AE_WND_PHOTOMETRY_OFFSET_H_MAX

Infinitegra Inc. 70 FX3Cam SDK for FCB-MA130 Programmer’s Guide offset_v

[in] Supplementary Register value of AE_WND_PHOTOMETRY_OFFSET_V. Min.: Param_AE_WND_PHOTOMETRY_OFFSET_V_MIN Max.: Param_AE_WND_PHOTOMETRY_OFFSET_V_MAX size_h

[in] Supplementary Register value of AE_WND_PHOTOMETRY_SIZE_H. Min.: Param_AE_WND_PHOTOMETRY_SIZE_H_MIN Max.: Param_AE_WND_PHOTOMETRY_SIZE_H_MAX size_v

[in] Supplementary Register value of AE_WND_PHOTOMETRY_SIZE_V. Min.: Param_AE_WND_PHOTOMETRY_SIZE_V_MIN

Max.: Param_AE_WND_PHOTOMETRY_SIZE_V_MAX

 Return Value Error Code Set 2.

5.3.82. CamcFunc_Set_AF_WND_PHOTOMETRY  Declaration

CamcStatus_t CamcFunc_Set_AF_WND_PHOTOMETRY(CamcFunc camcFunc, const INT8 offset_h, const INT8 offset_v);

 Description Set AF_WND_PHOTOMETRY_OFFSET_H, AF_WND_PHOTOMETRY_OFFSET_V.

 Parameters camcFunc

[in/out] CamcFunc object. offset_h

[in] Supplementary Register value of AF_WND_PHOTOMETRY_OFFSET_H.

Min.: Param_AF_WND_PHOTOMETRY_OFFSET_H_MIN Max.: Param_AF_WND_PHOTOMETRY_OFFSET_H_MAX offset_v

[in] Supplementary Register value of AF_WND_PHOTOMETRY_OFFSET_V. Min.: Param_AF_WND_PHOTOMETRY_OFFSET_V_MIN Max.: Param_AF_WND_PHOTOMETRY_OFFSET_V_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 71 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.83. CamcFunc_Set_INFO_GET_CONV  Declaration

CamcStatus_t CamcFunc_Set_INFO_GET_CONV(CamcFunc camcFunc, UINT8 param, EventInfo_CONVERGENCE *evtInfop);

 Description Set CM_INFO_GET_CONV and wait EV_CONVERGENCE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. Min.: Param_INFO_GET_CONV_MIN Max.: Param_INFO_GET_CONV_MAX evtInfop

[out] The pointer that receives a gotten event. typedef struct { union { struct { UINT8 ae_conv : 2; UINT8 cc_conv : 1; UINT8 bit36 : 4; UINT8 stop : 1; }; UINT8 u8; }; } EventInfo_CONVERGENCE;

 Return Value Error Code Set 3.

5.3.84. CamcFunc_Set_AE_CC_CONV_EVENT_CONDITION  Declaration

CamcStatus_t CamcFunc_Set_AE_CC_CONV_EVENT_CONDITION(CamcFunc camcFunc, const Param_AE_CC_CONV_EVENT_CONDITION param);

 Description Set AE_CC_CONV_EVENT_CONDITION.

 Parameters

Infinitegra Inc. 72 FX3Cam SDK for FCB-MA130 Programmer’s Guide camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef enum { Param_AE_CC_CONV_EVENT_CONDITION_AE_AND_CC = 0, Param_AE_CC_CONV_EVENT_CONDITION_AE, Param_AE_CC_CONV_EVENT_CONDITION_CC, Param_AE_CC_CONV_EVENT_CONDITION_AE_OR_CC, } Param_AE_CC_CONV_EVENT_CONDITION;

 Return Value Error Code Set 2.

5.3.85. CamcFunc_Set_INFO_GET_DATA  Declaration

CamcStatus_t CamcFunc_Set_INFO_GET_DATA(CamcFunc camcFunc, const void *reserved, EventInfo_INFO_DATA *evtInfop);

 Description Set CM_INFO_GET_DATA and wait EV_INFO_DATA.

 Parameters camcFunc

[in/out] CamcFunc object. reserved

[in] Specify NULL. evtInfop

[out] The pointer that receives a gotten event. typedef struct { union { struct { UINT8 get_data : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } EventInfo_INFO_DATA;

 Return Value Error Code Set 3.

Infinitegra Inc. 73 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.86. CamcFunc_Get_AE_LEVEL_LIMITED  Declaration

CamcStatus_t CamcFunc_Get_AE_LEVEL_LIMITED(CamcFunc camcFunc, UINT16 *paramp);

 Description Get AE_LEVEL_LIMITED.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value.

 Return Value Error Code Set 2.

5.3.87. CamcFunc_Get_AE_LEVEL  Declaration

CamcStatus_t CamcFunc_Get_AE_LEVEL(CamcFunc camcFunc, UINT16 *paramp);

 Description Get AE_LEVEL.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value.

 Return Value Error Code Set 2.

Infinitegra Inc. 74 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.88. CamcFunc_Get_INFO_ISO  Declaration

CamcStatus_t CamcFunc_Get_INFO_ISO(CamcFunc camcFunc, UINT16 *paramp);

 Description Get INFO_ISO.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value.

 Return Value Error Code Set 2.

5.3.89. CamcFunc_Get_INFO_SHUTTER  Declaration

CamcStatus_t CamcFunc_Get_INFO_SHUTTER(CamcFunc camcFunc, UINT16 *paramp);

 Description Get INFO_SHUTTER.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value.

 Return Value Error Code Set 2.

5.3.90. CamcFunc_Get_INFO_CC

 Declaration

CamcStatus_t CamcFunc_Get_INFO_CC(CamcFunc camcFunc, Param_INFO_CC *paramp);

Infinitegra Inc. 75 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Description Get INFO_CC.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value. typedef enum { Param_INFO_CC_AUTO = 0, Param_INFO_CC_HOLD, Param_INFO_CC_ATW, Param_INFO_CC_LIGHT_BULB, Param_INFO_CC_DAYLIGHT_COLOR_FLUORESCENT_LIGH, Param_INFO_CC_CLEAR_SKY, Param_INFO_CC_CLOUDY_SKY, Param_INFO_CC_FOUORESCENT_LIGHT_FIXED, Param_INFO_CC_LIGHT_BULB_COLOR_FLUORESCENT_LIGHT, // 8 } Param_INFO_CC;

 Return Value Error Code Set 2.

5.3.91. CamcFunc_Get_INFO_DISTANCE  Declaration

CamcStatus_t CamcFunc_Get_INFO_DISTANCE(CamcFunc camcFunc, Param_INFO_DISTANCE *paramp);

 Description Get INFO_DISTANCE.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value. typedef enum { Param_INFO_DISTANCE_RESERVED = 0, Param_INFO_DISTANCE_MACRO_RANGE, Param_INFO_DISTANCE_NEAR_VIEW, Param_INFO_DISTANCE_DISTANT_VIEW, Param_INFO_DISTANCE_UNKNOWN = 255, } Param_INFO_DISTANCE;

Infinitegra Inc. 76 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Return Value Error Code Set 2.

5.3.92. CamcFunc_Get_INFO_FLICKER_FREQ  Declaration

CamcStatus_t CamcFunc_Get_INFO_FLICKER_FREQ(CamcFunc camcFunc, Param_INFO_FLICKER_FREQ *paramp);

 Description Get INFO_FLICKER_FREQ.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value. typedef enum { Param_INFO_FLICKER_FREQ_NO_CORRECTION = 0, Param_INFO_FLICKER_FREQ_50HZ, Param_INFO_FLICKER_FREQ_60HZ, } Param_INFO_FLICKER_FREQ;

 Return Value Error Code Set 2.

5.3.93. CamcFunc_Set_DEFINITION_SW  Declaration

CamcStatus_t CamcFunc_Set_DEFINITION_SW(CamcFunc camcFunc, const Param_DEFINITION_SW *param);

 Description Set DEFINITION_SW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 luminance_generation_method : 1; UINT8 output_range : 1;

Infinitegra Inc. 77 FX3Cam SDK for FCB-MA130 Programmer’s Guide

UINT8 bit27 : 6; }; UINT8 u8; }; } Param_DEFINITION_SW;

 Return Value Error Code Set 2.

5.3.94. CamcFunc_Set_FLASH_SW  Declaration

CamcStatus_t CamcFunc_Set_FLASH_SW(CamcFunc camcFunc, const Param_FLASH_SW *param);

 Description Set FLASH_SW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 flash_sw : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } Param_FLASH_SW;

 Return Value Error Code Set 2.

Infinitegra Inc. 78 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.95. CamcFunc_Set_SHARPNESS_CONTROL_SW  Declaration

CamcStatus_t CamcFunc_Set_SHARPNESS_CONTROL_SW(CamcFunc camcFunc, const Param_SHARPNESS_CONTROL_SW *param);

 Description Set SHARPNESS_CONTROL_SW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 bit0 : 1; UINT8 aperture_correction_switch : 1; UINT8 bit27 : 6; }; UINT8 u8; }; } Param_SHARPNESS_CONTROL_SW;

 Return Value Error Code Set 2.

5.3.96. CamcFunc_Set_SHUTTER_GAIN_CONTROL_SW  Declaration

CamcStatus_t CamcFunc_Set_SHUTTER_GAIN_CONTROL_SW(CamcFunc camcFunc, const Param_SHUTTER_GAIN_CONTROL_SW *param);

 Description Set SHUTTER_GAIN_CONTROL_SW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct {

Infinitegra Inc. 79 FX3Cam SDK for FCB-MA130 Programmer’s Guide

union { struct { UINT8 shutter_gain_control_switch : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } Param_SHUTTER_GAIN_CONTROL_SW;

 Return Value Error Code Set 2.

5.3.97. CamcFunc_Set_COLOR_CONTROL_SW  Declaration

CamcStatus_t CamcFunc_Set_COLOR_CONTROL_SW(CamcFunc camcFunc, const Param_COLOR_CONTROL_SW *param);

 Description Set COLOR_CONTROL_SW.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct { union { struct { UINT8 color_control_switch : 1; UINT8 bit17 : 7; }; UINT8 u8; }; } Param_COLOR_CONTROL_SW;

 Return Value Error Code Set 2.

Infinitegra Inc. 80 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.98. CamcFunc_Set_TEST_CHART_OUT  Declaration

CamcStatus_t CamcFunc_Set_TEST_CHART_OUT(CamcFunc camcFunc, const Param_TEST_CHART_OUT *param);

 Description Set CM_TEST_CHART_OUT.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter. typedef struct { union { struct { UINT8 chart_out_mode : 2; UINT8 bit27 : 6; }; UINT8 u8; }; } Param_TEST_CHART_OUT; chart_out_mode Min.: Param_TEST_CHART_OUT_chart_out_mode_MIN Max.: Param_TEST_CHART_OUT_chart_out_mode_MAX

 Return Value Error Code Set 2.

5.3.99. CamcFunc_Set_TEST_CHART_FIXED_YDATA  Declaration

CamcStatus_t CamcFunc_Set_TEST_CHART_FIXED_YDATA(CamcFunc camcFunc, const UINT8 param);

 Description Set TEST_CHART_FIXED_YDATA.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

Infinitegra Inc. 81 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Return Value Error Code Set 2.

5.3.100. CamcFunc_Set_TEST_CHART_FIXED_CDATA  Declaration

CamcStatus_t CamcFunc_Set_TEST_CHART_FIXED_CDATA(CamcFunc camcFunc, const UINT8 param);

 Description Set TEST_CHART_FIXED_CDATA.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

5.3.101. CamcFunc_Set_TEST_CHART_PG_CODE  Declaration

CamcStatus_t CamcFunc_Set_TEST_CHART_PG_CODE(CamcFunc camcFunc, const UINT8 param);

 Description Set TEST_CHART_PG_CODE.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

Infinitegra Inc. 82 FX3Cam SDK for FCB-MA130 Programmer’s Guide

5.3.102. CamcFunc_Set_TEST_CHART_PG_COLOR  Declaration

CamcStatus_t CamcFunc_Set_TEST_CHART_PG_COLOR(CamcFunc camcFunc, const UINT8 param);

 Description Set TEST_CHART_PG_COLOR.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter.

 Return Value Error Code Set 2.

5.3.103. CamcFunc_Get_CURRENT_MODE  Declaration

CamcStatus_t CamcFunc_Get_CURRENT_MODE(CamcFunc camcFunc, Param_CURRENT_MODE *paramp);

 Description Get CURRENT_MODE.

 Parameters camcFunc

[in/out] CamcFunc object. paramp

[out] The pointer that receives a gotten value. typedef enum { Param_CURRENT_MODE_DRAFT = 0x10, Param_CURRENT_MODE_IMST_DRAFT = 0x11, Param_CURRENT_MODE_HS_DRAFT = 0x12, Param_CURRENT_MODE_IMST_HS_DRAFT = 0x13, Param_CURRENT_MODE_HALF_RELEASE = 0x20, Param_CURRENT_MODE_IMST_HALF_RELEASE = 0x21, Param_CURRENT_MODE_HS_HALF_RELEASE = 0x22, Param_CURRENT_MODE_IMST_HS_HALF_RELEASE = 0x23, Param_CURRENT_MODE_STILL_CAPTURE = 0x30, Param_CURRENT_MODE_IMST_STILL_CAPTURE = 0x31, Param_CURRENT_MODE_HS_STILL_CAPTURE = 0x32, Param_CURRENT_MODE_IMST_HS_STILL_CAPTURE = 0x33,

Infinitegra Inc. 83 FX3Cam SDK for FCB-MA130 Programmer’s Guide

} Param_CURRENT_MODE;

 Return Value Error Code Set 2.

5.3.104. CamcFunc_Rewrite_MODE  Declaration

CamcStatus_t CamcFunc_Rewrite_MODE(CamcFunc camcFunc, UINT8 param);

 Description Get CURRENT_MODE and set Image Output Mode as the corresponding value. The values of Import Output Mode before and after calling this function are same. This function is used to apply some Supplementary Registers.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Command Parameter of MODE_HS_DRAFT or MODE_IMST_HS_DRAFT.

 Return Value Error Code Set 2.

5.3.105. CamcFunc_SetForStillCapt_HALF_REL  Declaration

CamcStatus_t CamcFunc_SetForStillCapt_HALF_REL(CamcFunc camcFunc, const Param_MODE_HALF_REL *param);

 Description Set Command Parameter of CM_MODE_HALF_REL that is used for still image capture. The value passed by this function is memorized by FX3 Firmware and is used when Image Output Mode changes to Half Rel to execute still image capture.

 Parameters camcFunc

[in/out] CamcFunc object. param

[in] Supplementary Register value. typedef struct {

Infinitegra Inc. 84 FX3Cam SDK for FCB-MA130 Programmer’s Guide

union { struct { UINT8 acc : 1; UINT8 ae : 1; UINT8 af : 1; UINT8 bit37 : 5; }; UINT8 u8; }; } Param_MODE_HALF_REL;

 Return Value Error Code Set 2.

5.3.106. CamcFunc_WaitUntil_MODE_HS_DRAFT  Declaration

CamcStatus_t CamcFunc_WaitUntil_MODE_HS_DRAFT(CamcFunc camcFunc, UINT32 timeoutMilliSec);

 Description Wait until Import Output Mode changes to MODE_HS_DRAFT or MODE_IMST_HS_DRAFT. This function is used to wait for a preview mode after getting a still image.

 Parameters camcFunc

[in/out] CamcFunc object. timeoutMilliSec

[in] Timeout period in milli seconds.

 Return Value Error Code Set 2. CCST_TIMEOUT when the mode is not changed within the timeout period.

Infinitegra Inc. 85 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6. .NET API 6.1. Namespace

Namesapce: CamControlLib

Use the following codes to import the library.

C#.NET

using CamControlLib;

VB.NET

import CamControlLib

6.2. Error Code Set Error code sets that are returned by functions that have return value as CamcStatus can be classified in some groups. Error code sets are described in the following and they are referred from descriptions for return value of each function.

6.2.1. Error Code Set 1

・ CamcStatus.OK ・ CamcStatus.NULL_POINTER ・ CamcStatus.DEVICE_NOT_READY ・ CamcStatus.DEVICE_NOT_FOUND ・ CamcStatus.DEVICE_UNSUPPORTED ・ CamcStatus.FX3_ERROR ・ CamcStatus.DIRECTSHOW_ERROR ・ CamcStatus.NO_MEMORY

6.2.2. Error Code Set 2

・ CamcStatus.OK ・ CamcStatus.NULL_POINTER ・ CamcStatus.DEVICE_NOT_READY ・ CamcStatus.SENSOR_ERROR ・ CamcStatus.FX3_ERROR

Infinitegra Inc. 86 FX3Cam SDK for FCB-MA130 Programmer’s Guide

・ CamcStatus.DIRECTSHOW_ERROR ・ CamcStatus.INVALIDATED

6.2.3. Error Code Set 3

Error Code Set 2 and the following error codes. ・ CamcStatus.TIMEOUT ・ CamcStatus.UNEXPECTED_EVENT

6.2.4. Error Code Set 4

Error Code Set 2 and the following error codes. ・ CamcStatus.INVALID_ADDR

Infinitegra Inc. 87 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.3. CamcStatus Enum  Declaration

public enum CamcStatus : int

 Description

An enum type that represents error codes.

 Value

Constants Description OK Success.

INTERNAL_ERROR Internal library error.

NO_MEMORY No enough memory.

DEVICE_NOT_FOUND Device was not found.

DEVICE_NOT_READY Device is not ready.

INVALIDATED CamcFunc_Invalidate() was called.

TIMEOUT Can not receive the specified event within the timeout period.

DEVICE_UNSUPPORTED Unsupported device or firmware was found.

SENSOR_ERROR Camera module returs an error code. Please refer to the property SensorError of CamcFunc Class.

FX3_ERROR EZ-USB FX3 returns an error code.

Please refer to the property FX3Error of CamcFunc Class..

DIRECTSHOW_ERROR DirectShow returns an error code. Please refer to the property HostError of CamcFunc Class.

NULL_POINTER One of the function parameters is NULL.

INVALID_VALUE One of function parameters is invalid value.

UNEXPECTED_EVENT Received an unexpected event.

INVALID_MODE The operation that can not be executed in current Image Output Mode is specified.

IN_PROGRESSS An other process is executed. This error is not returned essentially.

INVALID_ADDR Invalid address of parameter.

Infinitegra Inc. 88 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.4. CamcHostErrorCode Enum  Declaration

public enum CamcHostErrorCode : int

 Description

An error code that occurrs in host.

 Value

This value is Windows HRESULT value. See the following link for detail. ・ HRESULT Values http://msdn.microsoft.com/en-us/library/cc704587.aspx

Only the following value is defined, but it can be set to other values.

Constants Description OK Success.

6.5. CamcSensorErrorCode Enum  Declaration

public enum CamcSensorErrorCode : int

 Description

An enum type that represents error types returned by the camera module described as “Camera Module Error” in this document.

 Value

Constants Description

NONE Success.

UNDER_WRITE Represent Camera Register Read/Write Access Error Code 0x01.

OVER_WRITE Represent Camera Register Read/Write Access Error Code

0x02.

Infinitegra Inc. 89 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Constants Description NO_DATA Represent Camera Register Read/Write Access Error Code 0x03.

UNDEFINED_CODE Represent Camera Register Read/Write Access Error Code 0x11.

UNDEFINED_ADDRESS Represent Camera Register Read/Write Access Error Code 0x21.

INVALID_ACCESS Represent Camera Register Read/Write Access Error Code 0x22.

COMMAND_UNMATCH Represent “Comman Unmatch”.

QUEUE_EMPTY Represent “Queue Empty”.

ECHOBACK_UNMATCH echo-back is different from original value.

UNKNOWN Undefined error.

6.6. CamcFX3ErrorCode Enum  Declaration

public enum CamcFX3ErrorCode : int

 Description

An error code that is returned by EZ-USB FX3 on the device.

 Value

This value is CyU3PErrorCode_t of EZ-USB FX3 SDK. See the follwing link for detail. ・ Cypress EZ-USB FX3 SDK Firmware API Guide http://jp.cypress.com/?rID=57990

Only the following value is defined, but it can be set to other values.

Constants Description OK Success.

6.7. CamcValue Class  Declaration

public class CamcValue

Infinitegra Inc. 90 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Description

A base class which represents the values such as command parameter and Supplementary Registers.

 Property

Property Type Description r/w u8 byte 8bit value. The default is 0. rw

6.8. CamcFunc Class  Declaration

public unsafe class CamcFunc

 Description

A class that represents the target device.

 Property

Property Type Description r/w

static LibVersion uint Host Library version number. r

FirmwareVersion UInt16 FX3 Firmware version number. r

VendorID UInt16 Vendor ID of the device. r

ProductID UInt16 Product ID of the device. r

DeviceName UInt16 Device name. r Note: This is empty when the CamcFunc object is got by GetFuncByCaptureFilter().

ReleaseNumber UInt16 Release Number of the device (bcdDevice). r

HostError CamcHostErrorCode Host Error that occurred by the function executed r last.

SensorError CamcSensorErrorCode Camera Module Error that occurred by the function r executed last.

FX3Error CamcFX3ErrorCode EZ-USB FX3 Error that occurred by the function r executed last.

TimeoutMilliSec uint Timeout period for waiting events in milli seconds. rw

CaptureFilter UIntPtr DirectShow capture filter related to CamcFunc r

object. The type is IBaseFilter*.

Infinitegra Inc. 91 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.1. GetFuncs  Declaration

public static CamcStatus GetFuncs(out CamcFunc[] camcFuncs, out CamcHostErrorCode he)

 Description Get operational device list.

 Parameters camcFuncs

[out] The array that receives CamcFunc objects. Caller takes responsibility for releasing each CamcFunc object

by Release(). he

[out] A host error will be set when the return value is CamcStatus.DIRECTSHOW_ERROR.

 Return Value Error Code Set 1.

6.8.2. GetFuncByCaptureFilter  Declaration

public static CamcStatus GetFuncByCaptureFilter(UIntPtr baseFilter, out CamcFunc camcFunc)

 Description Get CamcFunc object corresponding to DirectShow capture filter. If the capture filter is not operational, CamcStatus.DEVICE_NOT_FOUND is returned. If the firmware version is invalid, CamcStatus.CCST_DEVICE_UNSUPPORTED is returned and a CamcFunc object which in in an invalid state will be saved to camcFunc. You can not access to an invalid-state CamcFunc object except properties and Release().

 Parameters baseFilter

[in] An object that represents a capture filter of which type is IBaseFilter*. camcFunc

[out] Receives CamcFunc object. Caller takes responsibility for releasing a CamcFunc object by Release().

 Return Value Error Code Set 1.

Infinitegra Inc. 92 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.3. Invalidate  Declaration

public void Invalidate()

 Description Stop accessing CamcFunc object. This function is used for canceling a process in the case of multi-threaded access against CamcFunc object. If a thread calls this function while another thread is waiting for an event from the device, a thread waiting for an event returns CamcStatus.INVALIDATED immediately.

 Parameters None.

 Return Value None.

6.8.4. Release  Declaration

public void Release()

 Description Release CamcFunc object.

 Parameters None.

 Return Value None.

6.8.5. GetActive  Declaration

public CamcStatus GetActive(out bool active)

 Description Get whether the device is playing or not.

 Parameters

Infinitegra Inc. 93 FX3Cam SDK for FCB-MA130 Programmer’s Guide active

[out] Receives whether the device is playing or not. true: Playing, false:Not playing.

 Return Value Error Code Set 2.

6.8.6. GetErrorMessage  Declaration

public static string GetErrorMessage(CamcStatus st)

 Description Get the error message corresponding to the specified error code.

 Parameters st

[in] Error code.

 Return Value Error message.

6.8.7. CommandWrite  Declaration

public CamcStatus CommandWrite(byte id, byte param)

 Description Execute a command of the camera module.

 Parameters id

[in] Comman ID. param

[in] Command Parameter.

 Return Value Error Code Set 2.

Infinitegra Inc. 94 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.8. EventRead  Declaration

public CamcStatus EventRead(out CamcEvent evt)

 Description Receive an event from the camera module. If there is no event, this function hands back control and no error is returned.

 Parameters evt

[out] Receives a gotten event.

public struct CamcEvent { public byte id; public byte int_source; public byte event_info; } id

Event ID. int_source

Interruption source register. event_info

Event information.

 Return Value Error Code Set 2.

6.8.9. EventWait  Declaration

public CamcStatus EventWait(byte eventId, out CamcEvent evt)

 Description Wait until receive events from the camera module. Return CamcStatus.UNEXPECTED_EVENT if receive events besides the specified event.

 Parameters eventId

[in] Event ID.

Infinitegra Inc. 95 FX3Cam SDK for FCB-MA130 Programmer’s Guide evt

[out] Receives a gotten event. If null is specified, no data is received. Please refer to EventRead() about CamcEvent.

 Return Value Error Code Set 3.

6.8.10. ParamRead, ParamRead8, ParamRead16  Declaration

public CamcStatus ParamRead(UInt16 addr, byte len, out byte[] data) public CamcStatus ParamRead8(UInt16 addr, out byte data)

public CamcStatus ParamRead16(UInt16 addr, out UInt16 data)

 Description Read Supplementary Registers’ values of the camera module. ・ ParamRead() … Read data of arbitary length within ParamRead.LEN_MAX(=32) bytes starting from the specified address. ・ ParamRead8() … Read a byte from the specified address. ・ ParamRead16() … Read tow bytes from the specified address.

 Parameters addr

[in] Start address. len (only for ParamRead())

[in] Data length in bytes. 1 to ParamRead.LEN_MAX(=32). data

[out] Receives read data.

 Return Value Error Code Set 4.

6.8.11. ParamWrite, ParamWrite8, ParamWrite16  Declaration

public CamcStatus ParamWrite(UInt16 addr, byte len, byte[] data)

public CamcStatus ParamWrite8(UInt16 addr, byte data) public CamcStatus ParamWrite16(UInt16 addr, UInt16 data)

 Description

Infinitegra Inc. 96 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Write values to Supplementary Registers of the camera module. ・ ParamWrite … Write data of arbitary length within ParamWrite.LEN_MAX(=32) bytes starting from the specified address. ・ ParamWrite8 … Write a byte to the specified address. ・ ParamWrite16 … Write tow bytes to the specified address.

 Parameters addr

[in] Start address. len (only for ParamWrite())

[in] Data length in bytes. 1 to ParamWrite.LEN_MAX(=32). data

[in] Data to write.

 Return Value Error Code Set 4.

6.8.12. Set_PICT_BRIGHTNESS  Declaration

public CamcStatus Set_PICT_BRIGHTNESS(Param_PICT_BRIGHTNESS param)

 Description Set CM_PICT_BRIGHTNESS.

 Parameters param

[in] Command Parameter. public class Param_PICT_BRIGHTNESS : CamcValue { public static readonly byte MIN = 0; public static readonly byte MAX = 15;

public Param_PICT_BRIGHTNESS(); public byte brightness { get; set; } } brightness Min.: Param_PICT_BRIGHTNESS.MIN Max.: Param_PICT_BRIGHTNESS.MAX

 Return Value

Infinitegra Inc. 97 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Error Code Set 2.

6.8.13. Set_PICT_CONTRAST  Declaration

public CamcStatus Set_PICT_CONTRAST(sbyte param)

 Description Set CM_PICT_CONTRAST.

 Parameters param

[in] Command Parameter. Min.: Param_PICT_CONTRAST.MIN Max.: Param_PICT_CONTRAST.MAX

 Return Value Error Code Set 2.

6.8.14. Set_PICT_SHARPNESS  Declaration

public CamcStatus Set_PICT_SHARPNESS(sbyte param)

 Description Set CM_PICT_SHARPNESS.

 Parameters param

[in] Command Parameter. Min.: Param_PICT_SHARPNESS.MIN Max.: Param_PICT_SHARPNESS.MAX

 Return Value Error Code Set 2.

6.8.15. Set_PICT_COLORHUE  Declaration

public CamcStatus Set_PICT_COLORHUE(sbyte param)

Infinitegra Inc. 98 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Description Set CM_PICT_COLORHUE.

 Parameters param

[in] Command Parameter. Min.: Param_PICT_COLORHUE.MIN Max.: Param_PICT_COLORHUE.MAX

 Return Value Error Code Set 2.

6.8.16. Set_PICT_COLORGAIN  Declaration

public CamcStatus Set_PICT_COLORGAIN(sbyte param)

 Description Set CM_PICT_COLORGAIN.

 Parameters param

[in] Command Parameter. Min.: Param_PICT_COLORGAIN.MIN

Max.: Param_PICT_COLORGAIN.MAX

 Return Value Error Code Set 2.

6.8.17. Set_PICT_MIRROR  Declaration

public CamcStatus Set_PICT_MIRROR(Param_PICT_MIRROR param)

 Description Set CM_PICT_MIRROR and wait EV_MIRRORFLIP_END.

 Parameters param

Infinitegra Inc. 99 FX3Cam SDK for FCB-MA130 Programmer’s Guide

[in] Command Parameter. public class Param_PICT_MIRROR : CamcValue { public Param_PICT_MIRROR(); public byte dmirror { get; set; } public byte dflip { get; set; } public byte cmirror { get; set; } public byte cflip { get; set; } }

 Return Value Error Code Set 3.

6.8.18. Set_CC_MODE  Declaration

public CamcStatus Set_CC_MODE(Param_CC_MODE param)

 Description Set CM_CC_MODE.

 Parameters param

[in] Command Parameter. public enum Param_CC_MODE : int { AUTO = 0, HOLD, ATW, LIGHT_BULB, NEUTRAL_COLOR_FLUORESCENT_LIGHT, CLEAR_SKY, CLOUDY_SKY, DAYLIGHT_COLOR_FLUORESCENT_LIGHT = 9, LIGHT_BULB_COLOR_FLUORESCENT_LIGHT, }

 Return Value Error Code Set 2.

Infinitegra Inc. 100 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.19. Set_CC_SPEED  Declaration

public CamcStatus Set_CC_SPEED(Param_CC_SPEED param)

 Description Set CM_CC_SPEED.

 Parameters param

[in] Command Parameter. public enum Param_CC_SPEED : int { NORMAL = 0, HIGH_SPEED, LOW_SPEED, }

 Return Value Error Code Set 2.

6.8.20. Set_CC_OFFSET  Declaration

public CamcStatus Set_CC_OFFSET(Param_CC_OFFSET param)

 Description Set CM_CC_OFFSET.

 Parameters param

[in] Command Parameter. public enum Param_CC_OFFSET : int { OFF = 0, ON, }

 Return Value Error Code Set 2.

Infinitegra Inc. 101 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.21. Set_CC_R_OFFSET  Declaration

public CamcStatus Set_CC_R_OFFSET(sbyte param)

 Description Set CC_R_OFFSET.

 Parameters param

[in] Supplementary Register value. Min.: Param_CC_R_OFFSET.MIN

Max.: Param_CC_R_OFFSET.MAX

 Return Value Error Code Set 2.

6.8.22. Set_CC_B_OFFSET  Declaration

public CamcStatus Set_CC_B_OFFSET(sbyte param)

 Description Set CC_B_OFFSET.

 Parameters param

[in] Supplementary Register value. Min.: Param_CC_B_OFFSET.MIN Max.: Param_CC_B_OFFSET.MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 102 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.23. Get_CC_R_LEVEL  Declaration

public CamcStatus Get_CC_R_LEVEL(out byte paramp)

 Description Get CC_R_LEVEL.

 Parameters paramp

[out] Receives a gotten value.

 Return Value Error Code Set 2.

6.8.24. Get_CC_B_LEVEL  Declaration

public CamcStatus Get_CC_B_LEVEL(out byte paramp)

 Description Get CC_B_LEVEL.

 Parameters paramp

[out] Receives a gotten value.

 Return Value Error Code Set 2.

6.8.25. Set_COLOR_BRK  Declaration

public CamcStatus Set_COLOR_BRK(Param_COLOR_BRK param)

 Description Set COLOR_BRK.

 Parameters

Infinitegra Inc. 103 FX3Cam SDK for FCB-MA130 Programmer’s Guide param

[in] Command Parameter. public enum Param_COLOR_BRK : int { OFF = 0, COOL_FILTER, WARM_FILTER, }

 Return Value Error Code Set 2.

6.8.26. Set_ATR  Declaration

public CamcStatus Set_ATR(Param_ATR param)

 Description Set CM_ATR and wait EV_ATR_END.

 Parameters param

[in] Command Parameter. public class Param_ATR : CamcValue { public Param_ATR(); public byte atr_on { get; set; } }

 Return Value Error Code Set 3.

6.8.27. Set_ATR_GAIN  Declaration

public CamcStatus Set_ATR_GAIN(byte param)

 Description Set ATR_GAIN.

 Parameters param

[in] Supplementary Register value.

Infinitegra Inc. 104 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Return Value Error Code Set 2.

6.8.28. Set_ATR_WIDE_D  Declaration

public CamcStatus Set_ATR_WIDE_D(Param_ATR_WIDE_D param)

 Description Set ATR_WIDE_D.

 Parameters param

[in] Supplementary Register value. public class Param_ATR_WIDE_D : CamcValue { public Param_ATR_WIDE_D(); public byte atr_wide_d { get; set; } }

 Return Value Error Code Set 2.

6.8.29. Set_ATR_CONTRAST  Declaration

public CamcStatus Set_ATR_CONTRAST(byte param)

 Description Set ATR_CONTRAST.

 Parameters param

[in] Supplementary Register value. Min.: Param_ATR_CONTRAST.MIN Max.: Param_ATR_CONTRAST.MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 105 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.30. Set_ATR_CHROMA  Declaration

public CamcStatus Set_ATR_CHROMA(byte param)

 Description Set ATR_CHROMA.

 Parameters param

[in] Supplementary Register value. Min.: Param_ATR_CHROMA.MIN

Max.: Param_ATR_CHROMA.MAX

 Return Value Error Code Set 2.

6.8.31. Set_MODE_IMST  Declaration

public CamcStatus Set_MODE_IMST(bool enable)

 Description Set CM_MODE_IMST_HS_DRAFT or CM_MODE_HS_DRAFT and wait EV_MODE_CHANGED.

 Parameters enable

[in] true … CM_MODE_IMST_HS_DRAFT false … CM_MODE_HS_DRAFT

 Return Value Error Code Set 3 and CamcStatus.INVALID_MODE.

6.8.32. Set_IMST_PREVIEW  Declaration

public CamcStatus Set_IMST_PREVIEW(Param_IMST_PREVIEW param)

 Description Set IMST_PREVIEW.

Infinitegra Inc. 106 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Parameters param

[in] Supplementary Register value. public enum Param_IMST_PREVIEW : int { ON = 0, OFF, }

 Return Value Error Code Set 2.

6.8.33. Set_SCNR_SW  Declaration

public CamcStatus Set_SCNR_SW(Param_SCNR_SW param)

 Description Set SCNR_SW.

 Parameters param

[in] Supplementary Register value. public class Param_SCNR_SW : CamcValue { public Param_SCNR_SW(); public byte scnrSw { get; set; } }

 Return Value Error Code Set 2.

6.8.34. Set_ZOOM  Declaration

public CamcStatus Set_ZOOM(Param_ZOOM param, EventInfo_ZOOM_END evtInfo)

 Description Set CM_ZOOM and wait EV_ZOOM_END. If a thread calls this function with stop=1 while another thread is calling this function with stop=0, the another thread with stop=0 receives an event and the thread with stop=1 receives no event.

Infinitegra Inc. 107 FX3Cam SDK for FCB-MA130 Programmer’s Guide

 Parameters Param

[in] Command Parameter. public class Param_ZOOM : CamcValue { public static readonly byte mag_MIN = 4; public static readonly byte mag_MAX = 64;

public Param_ZOOM(); public byte mag { get; set; } public byte stop { get; set; } } mag Min.: Param_ZOOM.mag_MIN

Max.: Param_ZOOM.mag_MAX evtInfo

[out] Receives a gotten event. public class EventInfo_ZOOM_END : CamcValue { public EventInfo_ZOOM_END(); public byte mag { get; set; } public byte stop { get; set; } }

 Return Value Error Code Set 3.

Infinitegra Inc. 108 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.35. Set_ZM_SMTH_SPEED  Declaration

public CamcStatus Set_ZM_SMTH_SPEED(byte param)

 Description Set ZM_SMTH_SPEED.

 Parameters param

[in] Supplementary Register value.

Min.: Param_ZM_SMTH_SPEED.MIN Max.: Param_ZM_SMTH_SPEED.MAX

 Return Value Error Code Set 2.

6.8.36. Set_ZM_SMTH_INTERVAL  Declaration

public CamcStatus Set_ZM_SMTH_INTERVAL(byte param)

 Description Set ZM_SMTH_INTERVAL.

 Parameters param

[in] Supplementary Register value. Min.: Param_ZM_SMTH_INTERVAL.MIN Max.: Param_ZM_SMTH_INTERVAL.MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 109 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.37. Set_ZM_STEP  Declaration

public CamcStatus Set_ZM_STEP(byte param)

 Description Set ZM_STEP.

 Parameters param

[in] Supplementary Register value.

Min.: Param_ZM_STEP.MIN Max.: Param_ZM_STEP.MAX

 Return Value Error Code Set 2.

6.8.38. OnePushAF  Declaration

public CamcStatus OnePushAF(Param_MODE_HALF_REL param,

out EventInfo_DETECT_FOCUS detectFocusEvtInfo, EventInfo_HALF_REL halfRelEvtInfo)

 Description Execute One-push AF. This function accesses CM_MODE_HALF_REL, CM_MODE_HALF_REL, CM_MODE_MAIN, EV_MODE_CHANGED, EV_DETECT_FOCUS and EV_HALF_REL internally.

 Parameters param

[in] Command Parameter of CM_HALF_REL. public class Param_MODE_HALF_REL : CamcValue { public Param_MODE_HALF_REL(); public byte acc { get; set; } public byte ae { get; set; } public byte af { get; set; } } af is always overwritten with 1. detectFocusEvtInfo

[out] Receives the information of EV_DETECT_FOCUS. public enum EventInfo_DETECT_FOCUS : int

Infinitegra Inc. 110 FX3Cam SDK for FCB-MA130 Programmer’s Guide

{ LOW_CONTRAST_JUDGEMENT = 0, FOCUS_DETECTION, } halfRelEvtInfo

[out] Receives the information of EV_HALF_REL. public class EventInfo_HALF_REL : CamcValue { public EventInfo_HALF_REL(); public byte af_status { get; set; } public byte stop { get; set; } }

 Return Value Error Code Set 3.

6.8.39. Set_SCANAF_MODE_0  Declaration

public CamcStatus Set_SCANAF_MODE_0(Param_SCANAF_MODE_0 param)

 Description Set SCANAF_MODE_0.

 Parameters param

[in] Supplementary Register value. public class Param_SCANAF_MODE_0 : CamcValue { public static readonly byte scanRange_ON = 0; public static readonly byte scanRange_OFF = 1; public static readonly byte scanRange_AUTO = 2;

public static readonly byte adjacentScan_INF = 0; public static readonly byte adjacentScan_ENTIRE = 1; public static readonly byte adjacentScan_MACRO = 2;

public Param_SCANAF_MODE_0(); public byte scanRange { get; set; } public byte adjacentScan { get; set; } } Valid values of scanRange: Param_SCANAF_MODE_0.scanRange_ON Param_SCANAF_MODE_0.scanRange_OFF Param_SCANAF_MODE_0.scanRange_AUTO

Valid values of adjacentScan: Param_SCANAF_MODE_0.adjacentScan_INF

Infinitegra Inc. 111 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Param_SCANAF_MODE_0.adjacentScan_ENTIRE Param_SCANAF_MODE_0.adjacentScan_MACRO

 Return Value Error Code Set 2.

6.8.40. Set_SCANAF_MODE_1  Declaration

public CamcStatus Set_SCANAF_MODE_1(Param_SCANAF_MODE_1 param)

 Description Set SCANAF_MODE_1.

 Parameters param

[in] Supplementary Register value. public class Param_SCANAF_MODE_1 : CamcValue { public Param_SCANAF_MODE_1(); public byte brightness_correction { get; set; } public byte frame_rate_control { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 112 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.41. Set_SCANAF_FRMRATE  Declaration

public CamcStatus Set_SCANAF_FRMRATE(byte minFrmrate, byte maxFrmrate)

 Description Set SCANAF_MIN_FRMRATE and SCANAF_MAX_FRMRATE.

 Parameters minFrmrate

[in] Supplementary Register value of SCANAF_MIN_FRMRATE.

Min.: Param_SCANAF_FRMRATE.MIN Max.: Param_SCANAF_FRMRATE.MAX maxFrmrate

[in] Supplementary Register value of SCANAF_MAX_FRMRATE. Min.: Param_SCANAF_FRMRATE.MIN Max.: Param_SCANAF_FRMRATE.MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 113 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.42. Set_MANUAL_FOCUS  Declaration

public CamcStatus Set_MANUAL_FOCUS(Param_MANUAL_FOCUS param, EventInfo_LENSMOVE_COMPLETE evtInfo)

 Description Set CM_MANUAL_FOCUS and wait EV_LENSMOVE_COMPLETE.

 Parameters param

[in] Command Parameter. public class Param_MANUAL_FOCUS : CamcValue { public static readonly byte mode_INF = 0; public static readonly byte mode_INF_STEP = 1; public static readonly byte mode_MACRO = 2; public static readonly byte mode_MACRO_STEP = 3;

public static readonly byte moveCount_MIN = 0; public static readonly byte moveCount_MAX = 63;

public Param_MANUAL_FOCUS(); public byte moveCount { get; set; } public byte mode { get; set; } } moveCount Min.: Param_MANUAL_FOCUS.moveCount_MIN Max.: Param_MANUAL_FOCUS.moveCount_MAX

Valie values of mode: Param_MANUAL_FOCUS.mode_INF Param_MANUAL_FOCUS.mode_INF_STEP Param_MANUAL_FOCUS.mode_MACRO Param_MANUAL_FOCUS.mode_MACRO_STEP evtInfo

[out] Receives a gotten event.. public class EventInfo_LENSMOVE_COMPLETE : CamcValue { public EventInfo_LENSMOVE_COMPLETE(); public byte stop { get; set; } }

 Return Value Error Code Set 3.

Infinitegra Inc. 114 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.43. Set_AE_MODE  Declaration

public CamcStatus Set_AE_MODE(Param_AE_MODE param)

 Description Set CM_AE_MODE.

 Parameters param

[in] Command Parameter. public enum Param_AE_MODE : int { AUTO = 0, HOLD, MANUAL, SHUTTER_PRIORITY, GAIN_PRIORIY, }

 Return Value Error Code Set 2.

6.8.44. Set_AE_SHUTTER  Declaration

public CamcStatus Set_AE_SHUTTER(Param_AE_SHUTTER param)

 Description Set AE_SHUTTER.

 Parameters param

[in] Supplementary Register value. public enum Param_AE_SHUTTER : int { S_1_5000 = 1, S_1_4000, S_1_3000, S_1_2500, S_1_2000, S_1_1500, S_1_1250, S_1_1000, S_1_800,

Infinitegra Inc. 115 FX3Cam SDK for FCB-MA130 Programmer’s Guide

S_1_600, S_1_500, S_1_400, S_1_300, S_1_250, S_1_200, S_1_150, S_1_120, S_1_100, S_1_80, S_1_60, S_1_50, S_1_40, S_1_30, S_1_25, S_1_20, S_1_15, S_1_12, S_1_10, S_1_8, S_1_6, S_1_5, S_1_4, S_1_3, S_0p4, S_0p5, S_0p65, S_0p8, S_1, MIN = S_1_5000, MAX = S_1, }

 Return Value Error Code Set 2.

Infinitegra Inc. 116 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.45. Set_AE_ISO  Declaration

public CamcStatus Set_AE_ISO(UInt16 param)

 Description Set AE_ISO.

 Parameters param

[in] Supplementary Register value.

Min.: Param_AE_ISO.MIN Max.: Param_AE_ISO.MAX

 Return Value Error Code Set 2.

6.8.46. Set_AE_EV_CORRECT  Declaration

public CamcStatus Set_AE_EV_CORRECT(sbyte param)

 Description Set CM_AE_EV_CORRECT.

 Parameters param

[in] Command Parameter. Min.: Param_AE_EV_CORRECT.MIN Max.: Param_AE_EV_CORRECT.MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 117 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.47. Set_AE_FORCE_BLC  Declaration

public CamcStatus Set_AE_FORCE_BLC(Param_AE_FORCE_BLC param)

 Description Set CM_AE_FORCE_BLC.

 Parameters param

[in] Command Parameter. public enum Param_AE_FORCE_BLC : int { OFF = 0, ON, }

 Return Value Error Code Set 2.

6.8.48. Set_AE_PHOTOMETRY  Declaration

public CamcStatus Set_AE_PHOTOMETRY(Param_AE_PHOTOMETRY param)

 Description Set CM_AE_PHOTOMETRY.

 Parameters param

[in] Command Parameter. public enum Param_AE_PHOTOMETRY : int { CENTER_WEIGHTED = 0, SPOT, AVERAGE, }

 Return Value Error Code Set 2.

Infinitegra Inc. 118 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.49. Set_AE_FLC_MODE  Declaration

public CamcStatus Set_AE_FLC_MODE(Param_AE_FLC_MODE param)

 Description Set CM_AE_FLC_MODE.

 Parameters param

[in] Command Parameter. public enum Param_AE_FLC_MODE : int { OFF = 0, AUTO, FIXED_50HZ, FIXED_60HZ, AUTO_50HZ, AUTO_60HZ, }

 Return Value Error Code Set 2.

6.8.50. Set_SLOW_SHUTTER  Declaration

public CamcStatus Set_SLOW_SHUTTER(out EventInfo_SLOW_SHUTTER evtInfop)

 Description Set CM_SLOW_SHUTTER and wait EV_SLOW_SHUTTER.

 Parameters evtInfop

[out] Receives a gotten event.. public enum EventInfo_SLOW_SHUTTER { COMPLETE, }

 Return Value Error Code Set 3.

Infinitegra Inc. 119 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.51. Set_SLOW_SHUTTER_SPEED  Declaration

public CamcStatus Set_SLOW_SHUTTER_SPEED(Param_SLOW_SHUTTER_SPEED param)

 Description Set SLOW_SHUTTER_SPEED.

 Parameters param

[in] Supplementary Register value. public enum Param_SLOW_SHUTTER_SPEED : int { S_OFF = 0, S_1_5000, S_1_4000, S_1_3000, S_1_2500, S_1_2000, S_1_1500, S_1_1250, S_1_1000, S_1_800, S_1_600, S_1_500, S_1_400, S_1_300, S_1_250, S_1_200, S_1_150, S_1_120, S_1_100, S_1_80, S_1_60, S_1_50, S_1_40, S_1_30, S_1_25, S_1_20, S_1_15, S_1_12, S_1_10, S_1_8, S_1_6, S_1_5, S_1_4, S_1_3, S_0p4, S_0p5, S_0p65, S_0p8, S_1, // 38

Infinitegra Inc. 120 FX3Cam SDK for FCB-MA130 Programmer’s Guide

MIN = S_OFF, MAX = S_1, }

 Return Value Error Code Set 2.

6.8.52. Set_HS_DRAFT_MIN_FRMRATE  Declaration

public CamcStatus Set_HS_DRAFT_MIN_FRMRATE(byte param)

 Description Set HS_DRAFT_MIN_FRMRATE. HS_DRAFT_MAX_FRMRATE cannot be set. Do not set HS_DRAFT_MAX_FRMRATE from a host because HS_DRAFT_MAX_FRMRATE is controlled by FX3 Firmware internally.

 Parameters param

[in] Supplementary Register value. Min.: Param_HS_DRAFT_MIN_FRMRATE.MIN Max.: Param_HS_DRAFT_MIN_FRMRATE.MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 121 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.53. Set_FDT_MODE  Declaration

public CamcStatus Set_FDT_MODE(Param_FDT_MODE param)

 Description Set CM_FDT_MODE.

 Parameters param

[in] Command Parameter. public class Param_FDT_MODE : CamcValue { public Param_FDT_MODE(); public byte enable { get; set; } }

 Return Value Error Code Set 2.

6.8.54. Get_FDT_DETECTED_FACE_NUM

 Declaration

public CamcStatus Get_FDT_DETECTED_FACE_NUM(Param_FDT_DETECTED_FACE_NUM paramp)

 Description Get FDT_DETECTED_FACE_NUM.

 Parameters paramp

[out] Receives a gotten value. public class Param_FDT_DETECTED_FACE_NUM : CamcValue { public Param_FDT_DETECTED_FACE_NUM(); public byte num { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 122 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.55. Get_FDT_FACE  Declaration

public CamcStatus Get_FDT_FACE(byte index, Param_FDT_FACE paramp)

 Description Get one of the grouped values that is composed with POS_X/POS_Y/SIZE/ANGLE within FDT_FACE_1_POS_X ~ FDT_FACE_8_POS_X, FDT_FACE_1_POS_Y ~ FDT_FACE_8_POS_Y, FDT_FACE_1_SIZE ~ FDT_FACE_8_SIZE, and FDT_FACE_1_ANGLE ~ FDT_FACE_8_ANGLE.

 Parameters index

[in] Face ID. Min.: Param_FDT_FACE.index_MIN Min.: Param_FDT_FACE.index_MAX paramp

[out] Receives a gotten value. public class Param_FDT_FACE { public static readonly byte index_MIN = 1; public static readonly byte index_MAX = 8;

public UInt16 pos_x, pos_y, size;

public Param_FDT_FACE(); public byte node { get; } public byte angle { get; } public byte u8 { set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 123 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.56. Set_FDT_WND  Declaration

public CamcStatus Set_FDT_WND()

 Description Set CM_FDT_WND.

 Parameters None.

 Return Value Error Code Set 2.

6.8.57. Set_FDT_WND_TTL  Declaration

public CamcStatus Set_FDT_WND_TTL(Param_FDT_WND_TTL param)

 Description Set FDT_WND_TTL.

 Parameters param

[in] Supplementary Register value. public class Param_FDT_WND_TTL : CamcValue { public static byte number_of_frames_MIN = 0; public static byte number_of_frames_MAX = 8;

public Param_FDT_WND_TTL() public byte number_of_frames { get; set; } } number_of_frames Min.: Param_FDT_WND_TTL.number_of_frames_MIN Max.: Param_FDT_WND_TTL.number_of_frames_MAX

 Return Value Error Code Set 2.

Infinitegra Inc. 124 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.58. Set_FDT_WND_COLOR_H_PRI  Declaration

public CamcStatus Set_FDT_WND_COLOR_H_PRI(byte r, byte g, byte b)

 Description Set FDT_WND_COLOR_H_PRI_R, FDT_WND_COLOR_H_PRI_G and FDT_WND_COLOR_H_PRI_B.

 Parameters r

[in] Supplementary Register value of FDT_WND_COLOR_H_PRI_R. g

[in] Supplementary Register value of FDT_WND_COLOR_H_PRI_G. b

[in] Supplementary Register value of FDT_WND_COLOR_H_PRI_B.

 Return Value Error Code Set 2.

6.8.59. Set_FDT_WND_COLOR_L_PRI  Declaration

public CamcStatus Set_FDT_WND_COLOR_L_PRI(byte r, byte g, byte b)

 Description Set FDT_WND_COLOR_L_PRI_R, FDT_WND_COLOR_L_PRI_G and FDT_WND_COLOR_L_PRI_B.

 Parameters r

[in] Supplementary Register value of FDT_WND_COLOR_L_PRI_R. g

[in] Supplementary Register value of FDT_WND_COLOR_L_PRI_G. b

[in] Supplementary Register value of FDT_WND_COLOR_L_PRI_B.

 Return Value Error Code Set 2.

Infinitegra Inc. 125 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.60. Set_FDT_WND_WIDTH_PRIORITY  Declaration

public CamcStatus Set_FDT_WND_WIDTH_PRIORITY(Param_FDT_WND_WIDTH_PRIORITY param)

 Description Set FDT_WND_WIDTH_PRIORITY.

 Parameters param

[in] Supplementary Register value. public class Param_FDT_WND_WIDTH_PRIORITY : CamcValue { public Param_FDT_WND_WIDTH_PRIORITY(); public byte l_priority { get; set; } public byte h_priority { get; set; } }

 Return Value Error Code Set 2.

6.8.61. Set_FDT_ANGLE_MODE  Declaration

public CamcStatus Set_FDT_ANGLE_MODE(Param_FDT_ANGLE_MODE param)

 Description Set FDT_ANGLE_MODE.

 Parameters param

[in] Supplementary Register value. public class Param_FDT_ANGLE_MODE : CamcValue { public static readonly byte angle_0DEG = 0; public static readonly byte angle_270DEG = 1; public static readonly byte angle_90DEG = 2;

public static readonly byte mode_ANGLE_SPEC = 0; public static readonly byte mode_1ST_DETECT = 1; public static readonly byte mode_COMPLEX = 2; public static readonly byte mode_SIMPLE = 3;

public Param_FDT_ANGLE_MODE(); public byte angle { get; set; }

Infinitegra Inc. 126 FX3Cam SDK for FCB-MA130 Programmer’s Guide

public byte mode { get; set; } } Valid values of angle: Param_FDT_ANGLE_MODE.angle_0DEG Param_FDT_ANGLE_MODE.angle_270DEG Param_FDT_ANGLE_MODE.angle_90DEG

Valid values of mode: Param_FDT_ANGLE_MODE.mode_ANGLE_SPEC Param_FDT_ANGLE_MODE.mode_1ST_DETECT Param_FDT_ANGLE_MODE.mode_COMPLEX Param_FDT_ANGLE_MODE.mode_SIMPLE

 Return Value Error Code Set 2.

6.8.62. Set_FDT_SEARCH_WND_HALF  Declaration

public CamcStatus Set_FDT_SEARCH_WND_HALF(byte start_x, byte start_y, byte size_x, byte size_y)

 Description Set FDT_SEARCH_WND_HALF_START_X, FDT_SEARCH_WND_HALF_START_Y, FDT_SEARCH_WND_HALF_SIZE_X and FDT_SEARCH_WND_HALF_SIZE_Y.

 Parameters start_x

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_START_X. start_y

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_START_Y. size_x

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_SIZE_X. size_y

[in] Supplementary Register value of FDT_SEARCH_WND_HALF_SIZE_Y.

 Return Value Error Code Set 2.

Infinitegra Inc. 127 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.63. Set_FDT_DISTANCE_THRESHOLD  Declaration

public CamcStatus Set_FDT_DISTANCE_THRESHOLD(byte param)

 Description Set FDT_DISTANCE_THRESHOLD.

 Parameters param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

6.8.64. Set_WND_PHOTOMETRY  Declaration

public CamcStatus Set_WND_PHOTOMETRY(Param_WND_PHOTOMETRY param)

 Description Set CM_WND_PHOTOMETRY.

 Parameters param

[in] Supplementary Register value. public class Param_WND_PHOTOMETRY : CamcValue { public Param_WND_PHOTOMETRY(); public byte ae { get; set; } public byte af { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 128 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.65. Set_WND_PHOTOMETRY_AE  Declaration

public CamcStatus Set_WND_PHOTOMETRY_AE(Param_WND_PHOTOMETRY_AE param)

 Description Set WND_PHOTOMETRY_AE.

 Parameters param

[in] Supplementary Register value. public class Param_WND_PHOTOMETRY_AE : CamcValue { public static readonly byte HOST = 0; public static readonly byte STANDARD = 1; public static readonly byte FACE_DETECTION_RESULTS = 2;

public Param_WND_PHOTOMETRY_AE(); public byte frame_position_selection { get; set; } } Valid values of frame_position_selection: Param_WND_PHOTOMETRY_AE.HOST Param_WND_PHOTOMETRY_AE.STANDARD Param_WND_PHOTOMETRY_AE.FACE_DETECTION_RESULTS

 Return Value Error Code Set 2.

6.8.66. Set_WND_PHOTOMETRY_CC  Declaration

public CamcStatus Set_WND_PHOTOMETRY_CC(Param_WND_PHOTOMETRY_CC param)

 Description Set WND_PHOTOMETRY_CC.

 Parameters param

[in] Supplementary Register value. public class Param_WND_PHOTOMETRY_CC : CamcValue { public Param_WND_PHOTOMETRY_CC(); public byte frame_position_selection { get; set; }

Infinitegra Inc. 129 FX3Cam SDK for FCB-MA130 Programmer’s Guide

}

 Return Value Error Code Set 2.

6.8.67. Set_WND_PHOTOMETRY_AF  Declaration

public CamcStatus Set_WND_PHOTOMETRY_AF(Param_WND_PHOTOMETRY_AF param)

 Description Set WND_PHOTOMETRY_AF.

 Parameters param

[in] Command Parameter. public class Param_WND_PHOTOMETRY_AF : CamcValue { public static readonly byte HOST = 0; public static readonly byte STANDARD = 1;

public Param_WND_PHOTOMETRY_AF(); public byte frame_position_selection { get; set; } } Valid values of frame_position_selection: Param_WND_PHOTOMETRY_AF.HOST Param_WND_PHOTOMETRY_AF.STANDARD

 Return Value Error Code Set 2.

Infinitegra Inc. 130 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.68. Set_AE_WND_PHOTOMETRY  Declaration

public CamcStatus Set_AE_WND_PHOTOMETRY(sbyte offset_h, sbyte offset_v, byte size_h, byte size_v)

 Description Set AE_WND_PHOTOMETRY_OFFSET_H, AE_WND_PHOTOMETRY_OFFSET_V, AE_WND_PHOTOMETRY_SIZE_H and AE_WND_PHOTOMETRY_SIZE_V.

 Parameters offset_h

[in] Supplementary Register value of AE_WND_PHOTOMETRY_OFFSET_H. Min.: Param_AE_WND_PHOTOMETRY.OFFSET_H_MIN Max.: Param_AE_WND_PHOTOMETRY.OFFSET_H_MAX offset_v

[in] Supplementary Register value of AE_WND_PHOTOMETRY_OFFSET_V. Min.: Param_AE_WND_PHOTOMETRY.OFFSET_V_MIN

Max.: Param_AE_WND_PHOTOMETRY.OFFSET_V_MAX size_h

[in] Supplementary Register value of AE_WND_PHOTOMETRY_SIZE_H. Min.: Param_AE_WND_PHOTOMETRY.SIZE_H_MIN Max.: Param_AE_WND_PHOTOMETRY.SIZE_H_MAX size_v

[in] Supplementary Register value of AE_WND_PHOTOMETRY_SIZE_V.

Min.: Param_AE_WND_PHOTOMETRY.SIZE_V_MIN Max.: Param_AE_WND_PHOTOMETRY.SIZE_V_MAX

 Return Value Error Code Set 2.

6.8.69. Set_AF_WND_PHOTOMETRY  Declaration

public CamcStatus Set_AF_WND_PHOTOMETRY(sbyte offset_h, sbyte offset_v)

 Description Set AF_WND_PHOTOMETRY_OFFSET_H and AF_WND_PHOTOMETRY_OFFSET_V.

 Parameters

Infinitegra Inc. 131 FX3Cam SDK for FCB-MA130 Programmer’s Guide offset_h

[in] Supplementary Register value of AF_WND_PHOTOMETRY_OFFSET_H. Min.: Param_AF_WND_PHOTOMETRY.OFFSET_H_MIN Max.: Param_AF_WND_PHOTOMETRY.OFFSET_H_MAX offset_v

[in] Supplementary Register value of AF_WND_PHOTOMETRY_OFFSET_V. Min.: Param_AF_WND_PHOTOMETRY.OFFSET_V_MIN Max.: Param_AF_WND_PHOTOMETRY.OFFSET_V_MAX

 Return Value Error Code Set 2.

6.8.70. Set_INFO_GET_CONV  Declaration

public CamcStatus Set_INFO_GET_CONV(byte param, EventInfo_CONVERGENCE evtInfop)

 Description Set CM_INFO_GET_CONV and wait EV_CONVERGENCE.

 Parameters param

[in] Command Parameter. Min.: Param_INFO_GET_CONV.MIN

Max.: Param_INFO_GET_CONV.MAX evtInfop

[out] Receives a gotten event.. public class EventInfo_CONVERGENCE : CamcValue { public EventInfo_CONVERGENCE(); public byte ae_conv { get; set; } public byte cc_conv { get; set; } public byte stop { get; set; } }

 Return Value Error Code Set 3.

Infinitegra Inc. 132 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.71. Set_AE_CC_CONV_EVENT_CONDITION  Declaration

public CamcStatus Set_AE_CC_CONV_EVENT_CONDITION(Param_AE_CC_CONV_EVENT_CONDITION param)

 Description Set AE_CC_CONV_EVENT_CONDITION.

 Parameters param

[in] Supplementary Register value. public enum Param_AE_CC_CONV_EVENT_CONDITION : int { AE_AND_CC = 0, AE, CC, AE_OR_CC, }

 Return Value Error Code Set 2.

6.8.72. Set_INFO_GET_DATA  Declaration

public CamcStatus Set_INFO_GET_DATA(EventInfo_INFO_DATA evtInfop)

 Description Set CM_INFO_GET_DATA and wait EV_INFO_DATA.

 Parameters evtInfop

[out] Receives a gotten event.. public class EventInfo_INFO_DATA : CamcValue { public EventInfo_INFO_DATA() public byte get_data { get; set; } }

 Return Value Error Code Set 3.

Infinitegra Inc. 133 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.73. Get_AE_LEVEL_LIMITED  Declaration

public CamcStatus Get_AE_LEVEL_LIMITED(out UInt16 paramp)

 Description Get AE_LEVEL_LIMITED.

 Parameters paramp

[out] Receives a gotten value.

 Return Value Error Code Set 2.

6.8.74. Get_AE_LEVEL  Declaration

public CamcStatus Get_AE_LEVEL(out UInt16 paramp)

 Description Get AE_LEVEL.

 Parameters paramp

[out] Receives a gotten value.

 Return Value Error Code Set 2.

6.8.75. Get_INFO_ISO  Declaration

public CamcStatus Get_INFO_ISO(out UInt16 paramp)

 Description Get INFO_ISO.

 Parameters

Infinitegra Inc. 134 FX3Cam SDK for FCB-MA130 Programmer’s Guide paramp

[out] Receives a gotten value.

 Return Value Error Code Set 2.

6.8.76. Get_INFO_SHUTTER  Declaration

public CamcStatus Get_INFO_SHUTTER(out UInt16 paramp)

 Description Get INFO_SHUTTER.

 Parameters paramp

[out] Receives a gotten value.

 Return Value Error Code Set 2.

6.8.77. Get_INFO_CC

 Declaration

public CamcStatus Get_INFO_CC(out Param_INFO_CC paramp)

 Description Get INFO_CC.

 Parameters paramp

[out] Receives a gotten value. public enum Param_INFO_CC : int { AUTO = 0, HOLD, ATW, LIGHT_BULB, DAYLIGHT_COLOR_FLUORESCENT_LIGH, CLEAR_SKY, CLOUDY_SKY, FOUORESCENT_LIGHT_FIXED,

Infinitegra Inc. 135 FX3Cam SDK for FCB-MA130 Programmer’s Guide

LIGHT_BULB_COLOR_FLUORESCENT_LIGHT, }

 Return Value Error Code Set 2.

6.8.78. Get_INFO_DISTANCE  Declaration

public CamcStatus Get_INFO_DISTANCE(out Param_INFO_DISTANCE paramp)

 Description Get INFO_DISTANCE.

 Parameters paramp

[out] Receives a gotten value. public enum Param_INFO_DISTANCE : int { RESERVED = 0, MACRO_RANGE, NEAR_VIEW, DISTANT_VIEW, UNKNOWN = 255, }

 Return Value Error Code Set 2.

Infinitegra Inc. 136 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.79. Get_INFO_FLICKER_FREQ  Declaration

public CamcStatus Get_INFO_FLICKER_FREQ(out Param_INFO_FLICKER_FREQ paramp)

 Description Get INFO_FLICKER_FREQ.

 Parameters paramp

[out] Receives a gotten value. public enum Param_INFO_FLICKER_FREQ : int { NO_CORRECTION = 0, F_50HZ, F_60HZ, }

 Return Value Error Code Set 2.

6.8.80. Set_DEFINITION_SW  Declaration

public CamcStatus Set_DEFINITION_SW(Param_DEFINITION_SW param)

 Description Set DEFINITION_SW.

 Parameters param

[in] Supplementary Register value. public class Param_DEFINITION_SW : CamcValue { public Param_DEFINITION_SW(); public byte luminance_generation_method { get; set; } public byte output_range { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 137 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.81. Set_FLASH_SW  Declaration

public CamcStatus Set_FLASH_SW(Param_FLASH_SW param)

 Description Set FLASH_SW.

 Parameters param

[in] Supplementary Register value. public class Param_FLASH_SW : CamcValue { public Param_FLASH_SW(); public byte flash_sw { get; set; } }

 Return Value Error Code Set 2.

6.8.82. Set_SHARPNESS_CONTROL_SW  Declaration

public CamcStatus Set_SHARPNESS_CONTROL_SW(Param_SHARPNESS_CONTROL_SW param)

 Description Set SHARPNESS_CONTROL_SW.

 Parameters param

[in] Command Parameter. public class Param_SHARPNESS_CONTROL_SW : CamcValue { public Param_SHARPNESS_CONTROL_SW(); public byte aperture_correction_switch { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 138 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.83. Set_SHUTTER_GAIN_CONTROL_SW  Declaration

public CamcStatus Set_SHUTTER_GAIN_CONTROL_SW(Param_SHUTTER_GAIN_CONTROL_SW param)

 Description Set SHUTTER_GAIN_CONTROL_SW.

 Parameters param

[in] Supplementary Register value. public class Param_SHUTTER_GAIN_CONTROL_SW : CamcValue { public Param_SHUTTER_GAIN_CONTROL_SW() public byte shutter_gain_control_switch { get; set; } }

 Return Value Error Code Set 2.

6.8.84. Set_COLOR_CONTROL_SW  Declaration

public CamcStatus Set_COLOR_CONTROL_SW(Param_COLOR_CONTROL_SW param)

 Description Set COLOR_CONTROL_SW.

 Parameters param

[in] Supplementary Register value. public class Param_COLOR_CONTROL_SW : CamcValue { public Param_COLOR_CONTROL_SW() public byte color_control_switch { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 139 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.85. Set_TEST_CHART_OUT  Declaration

public CamcStatus Set_TEST_CHART_OUT(Param_TEST_CHART_OUT param)

 Description Set CM_TEST_CHART_OUT.

 Parameters param

[in] Command Parameter. public class Param_TEST_CHART_OUT : CamcValue { public static readonly byte chart_out_mode_MIN = 0; public static readonly byte chart_out_mode_MAX = 2;

public Param_TEST_CHART_OUT() public byte chart_out_mode { get; set; } } chart_out_mode

Min.: Param_TEST_CHART_OUT.chart_out_mode_MIN Max.: Param_TEST_CHART_OUT.chart_out_mode_MAX

 Return Value Error Code Set 2.

6.8.86. Set_TEST_CHART_FIXED_YDATA  Declaration

public CamcStatus Set_TEST_CHART_FIXED_YDATA(byte param)

 Description Set TEST_CHART_FIXED_YDATA.

 Parameters param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

Infinitegra Inc. 140 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.87. Set_TEST_CHART_FIXED_CDATA  Declaration

public CamcStatus Set_TEST_CHART_FIXED_CDATA(byte param)

 Description Set TEST_CHART_FIXED_CDATA.

 Parameters param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

6.8.88. Set_TEST_CHART_PG_CODE  Declaration

public CamcStatus Set_TEST_CHART_PG_CODE(byte param)

 Description Set TEST_CHART_PG_CODE.

 Parameters param

[in] Supplementary Register value.

 Return Value Error Code Set 2.

Infinitegra Inc. 141 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.89. Set_TEST_CHART_PG_COLOR  Declaration

public CamcStatus Set_TEST_CHART_PG_COLOR(byte param)

 Description Set TEST_CHART_PG_COLOR.

 Parameters param

[in] Command Parameter.

 Return Value Error Code Set 2.

6.8.90. Get_CURRENT_MODE  Declaration

public CamcStatus Get_CURRENT_MODE(out Param_CURRENT_MODE paramp)

 Description Get CURRENT_MODE.

 Parameters paramp

[out] Receives a gotten value. public enum Param_CURRENT_MODE : int { DRAFT = 0x10, IMST_DRAFT = 0x11, HS_DRAFT = 0x12, IMST_HS_DRAFT = 0x13, HALF_RELEASE = 0x20, IMST_HALF_RELEASE = 0x21, HS_HALF_RELEASE = 0x22, IMST_HS_HALF_RELEASE = 0x23, STILL_CAPTURE = 0x30, IMST_STILL_CAPTURE = 0x31, HS_STILL_CAPTURE = 0x32, IMST_HS_STILL_CAPTURE = 0x33, }

 Return Value Error Code Set 2.

Infinitegra Inc. 142 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.91. Rewrite_MODE  Declaration

public CamcStatus Rewrite_MODE(byte param)

 Description Get CURRENT_MODE and set Image Output Mode as the corresponding value. The values of Import Output Mode before and after calling this function are same. This function is used to apply some Supplementary Registers.

 Parameters param

[in] Command Parameter of MODE_HS_DRAFT or MODE_IMST_HS_DRAFT.

 Return Value Error Code Set 2.

6.8.92. SetForStillCapt_HALF_REL  Declaration

public CamcStatus SetForStillCapt_HALF_REL(Param_MODE_HALF_REL param)

 Description Set Command Parameter of CM_MODE_HALF_REL that is used for still image capture. The value passed by this function is memorized by FX3 Firmware and is used when Image Output Mode changes to Half Rel to execute still image capture.

 Parameters param

[in] Supplementary Register value. public class Param_MODE_HALF_REL : CamcValue { public Param_MODE_HALF_REL() public byte acc { get; set; } public byte ae { get; set; } public byte af { get; set; } }

 Return Value Error Code Set 2.

Infinitegra Inc. 143 FX3Cam SDK for FCB-MA130 Programmer’s Guide

6.8.93. WaitUntil_MODE_HS_DRAFT  Declaration

public CamcStatus WaitUntil_MODE_HS_DRAFT(UInt32 timeoutMilliSec)

 Description Wait until Image Output Mode changes to MODE_HS_DRAFT or MODE_IMST_HS_DRAFT. This function is used to wait for a preview mode after getting a still image.

 Parameters timeoutMilliSec

[in] Timeout period in milli seconds.

 Return Value Error Code Set 2. CamcStatus.TIMEOUT when the mode is not changed within the timeout period.

Infinitegra Inc. 144 FX3Cam SDK for FCB-MA130 Programmer’s Guide

7. Tips 7.1. How to get CamcFunc from DirectShow Capture Filter

1. Get IBaseFilter object by DirectShow APIs. 2. Call CamcFunc_GetFuncByCaptureFilter() with the object gotten in 1.

7.2. How to capture still image

1. Get an still image by firing a trigger of still image capture in DirectShow as the following reference information. 2. Call CamcFunc_WaitUntil_MODE_HS_DRAFT(). This function waits until the devices transits to preivew mode.

 Reference Information “Capturing an Image From a Still Image Pin” http://msdn.microsoft.com/en-us/library/windows/desktop/dd318622(v=vs.85).aspx

7.3. How to apply SCNR_SW, HS_DRAFT_MIN_FRMRATE

The effects of images produced by some Supplementary Registers such as SCNR_SW, HS_DRAFT_MIN_FRMRATE and so on are applied when Image Output Mode is changed. To set Image Output Mode again without change it, call CamcFunc_Rewrite_MODE() after set the Supplementary Registers.

7.4. How to access to DirectShow with .NET Framework Microsoft does not provide a .NET Framework library equivalent to the DirectShow library (BaseClasses) by C++ in Microsoft SDK. There are the following methods to access to DirectShow with .NET Framework.

・ Expose DirectShow COM Components to .NET Framework. See: http://msdn.microsoft.com/en-us/library/z6tx9dw3 ・ Import a DLL implemented by C++ in .NET Framework. We use this method in FX3 SDK /.NET API. ・ Use a third-party’s library such as DirectShow .NET. See: http://directshownet.sourceforge.net/ Note: We can not answer inquiries about .NET Framework and DirectShow .NET.

Infinitegra Inc. 145 FX3Cam SDK for FCB-MA130 Programmer’s Guide

8. Release Note 1.3.0

New Features ・ Added .NET API. Other Changes ・ Added return value CCST_DEVICE_UNSUPPORTED to CamcFunc_GetFuncByCaptureFilter(). Note that when the function returns CCST_DEVICE_UNSUPPORTED, the caller must release camcFuncp.

1.2.3

Other Changes ・ Updated IFTCap.

1.2.2

Fixed Problems ・ Fixed the problem that the layout of IFTCamCon collapsed. ・ Fixed the problem that the information of face detection was wrong when CamcFunc_Get_FDT_FACE() was called with index 2 or more.

1.2.1

Fixed Problems ・ Fixed return value of CamFunc_GetLibversion().

1.2.0

New Features ・ Added IFTCamCon as a sample program. ・ Added CamcFunc_GetActive(), CamcFunc_GetDeviceName(). Other Changes ・ Changed CamcFunc_SetForStillCapt_HALF_REL() so that af is not overriten by 0. ・ Changed timeout from 2 sec. to 30 sec. ・ Added some constants for parameters. ・ Removed Windows 8 from official supporting OS.

Infinitegra Inc. 146 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Fixed Problems ・ Fixed the problem that frame rate does not change to fixed-rate when CamcFunc_Set_SLOW_SHUTTER_SPEED() is called with Param_SLOW_SHUTTER_SPEED_OFF. ・ Fixed values of Param_CC_{R|B}_OFFSET_{MIN|MAX}.

1.1.0

First release.

Infinitegra Inc. 147 FX3Cam SDK for FCB-MA130 Programmer’s Guide

Documentation History Rev Description 1.3.0 ・Added a section for .NET API. 1.2.3 ・Fixed some typos. 1.2.2 ・No change 1.2.1 ・No change 1.2.0 ・Added functions and constants. ・Changed description about CamcFunc_SetForStillCapt_HALF_REL(). ・Added description about IFTCamCon. 1.1.0 Created.

Infinitegra Inc. 148