27#define PEAK_AFL_EXPORT
28#undef PEAK_AFL_CALLCONV
29#define PEAK_AFL_CALLCONV
38typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Init)(void );
39typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Exit)(void );
40typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetLastError)(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize);
41typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetVersion)(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
42typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Create)(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle);
46typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Process)(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle);
48typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_DestroyAllController)(
peak_afl_manager_handle handle);
50typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_SetGainIPL)(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle);
55typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Set)(
peak_afl_controller_handle controller, uint32_t count);
56typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Get)(
peak_afl_controller_handle controller, uint32_t * count);
57typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
79typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverage)(
peak_afl_controller_handle controller, uint8_t * average);
80typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverages)(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue);
82typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Set)(
peak_afl_controller_handle controller, uint32_t target);
83typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Get)(
peak_afl_controller_handle controller, uint32_t * target);
84typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
86typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Set)(
peak_afl_controller_handle controller, uint32_t tolerance);
87typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Get)(
peak_afl_controller_handle controller, uint32_t * tolerance);
88typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
90typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Set)(
peak_afl_controller_handle controller,
double percentile);
91typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Get)(
peak_afl_controller_handle controller,
double * percentile);
92typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_GetRange)(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc);
112typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Default)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
113typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Set)(
peak_afl_controller_handle controller, uint8_t hysteresis);
114typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Get)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
115typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_GetRange)(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc);
139 static DynamicLoader& instance()
141 static DynamicLoader dynamicLoader{};
142 return dynamicLoader;
144 bool loadLib(
const char* file);
146 bool setPointers(
bool load);
151 static bool isLoaded();
156 static PEAK_AFL_API_STATUS
peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
249 void* m_handle =
nullptr;
250 dyn_peak_afl_Init m_peak_afl_Init{};
251 dyn_peak_afl_Exit m_peak_afl_Exit{};
252 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
253 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
254 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
255 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
256 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
257 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
258 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
259 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
260 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
261 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
262 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
263 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
264 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
265 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
266 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
267 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
268 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
269 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
270 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
271 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
272 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
273 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
274 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
275 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
276 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
277 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
278 dyn_peak_afl_AutoController_BrightnessAlgorithm_Set m_peak_afl_AutoController_BrightnessAlgorithm_Set{};
279 dyn_peak_afl_AutoController_BrightnessAlgorithm_Get m_peak_afl_AutoController_BrightnessAlgorithm_Get{};
280 dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported{};
281 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
282 dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported{};
283 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
284 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
285 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
286 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
287 dyn_peak_afl_AutoController_ExposureLimit_IsSupported m_peak_afl_AutoController_ExposureLimit_IsSupported{};
288 dyn_peak_afl_AutoController_ExposureLimit_Set m_peak_afl_AutoController_ExposureLimit_Set{};
289 dyn_peak_afl_AutoController_ExposureLimit_Get m_peak_afl_AutoController_ExposureLimit_Get{};
290 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
291 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
292 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
293 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
294 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
295 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
296 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
297 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
298 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
299 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
300 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
301 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
302 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
303 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
304 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
305 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
306 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
307 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
308 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
309 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
310 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
311 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
312 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
313 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
314 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
315 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
316 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
317 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
318 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
319 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
320 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
321 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
322 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
323 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
324 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
325 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
326 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
327 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
328 dyn_peak_afl_AutoController_GainLimit_IsSupported m_peak_afl_AutoController_GainLimit_IsSupported{};
329 dyn_peak_afl_AutoController_GainLimit_Set m_peak_afl_AutoController_GainLimit_Set{};
330 dyn_peak_afl_AutoController_GainLimit_Get m_peak_afl_AutoController_GainLimit_Get{};
331 dyn_peak_afl_AutoController_GainLimit_GetRange m_peak_afl_AutoController_GainLimit_GetRange{};
332 dyn_peak_afl_AutoController_GainAnalogLimit_Set m_peak_afl_AutoController_GainAnalogLimit_Set{};
333 dyn_peak_afl_AutoController_GainAnalogLimit_Get m_peak_afl_AutoController_GainAnalogLimit_Get{};
334 dyn_peak_afl_AutoController_GainAnalogLimit_GetRange m_peak_afl_AutoController_GainAnalogLimit_GetRange{};
335 dyn_peak_afl_AutoController_GainDigitalLimit_Set m_peak_afl_AutoController_GainDigitalLimit_Set{};
336 dyn_peak_afl_AutoController_GainDigitalLimit_Get m_peak_afl_AutoController_GainDigitalLimit_Get{};
337 dyn_peak_afl_AutoController_GainDigitalLimit_GetRange m_peak_afl_AutoController_GainDigitalLimit_GetRange{};
338 dyn_peak_afl_AutoController_GainCombinedLimit_Set m_peak_afl_AutoController_GainCombinedLimit_Set{};
339 dyn_peak_afl_AutoController_GainCombinedLimit_Get m_peak_afl_AutoController_GainCombinedLimit_Get{};
340 dyn_peak_afl_AutoController_GainCombinedLimit_GetRange m_peak_afl_AutoController_GainCombinedLimit_GetRange{};
341 dyn_peak_afl_AutoController_GainHostLimit_Set m_peak_afl_AutoController_GainHostLimit_Set{};
342 dyn_peak_afl_AutoController_GainHostLimit_Get m_peak_afl_AutoController_GainHostLimit_Get{};
343 dyn_peak_afl_AutoController_GainHostLimit_GetRange m_peak_afl_AutoController_GainHostLimit_GetRange{};
347inline void* import_function(
void *module,
const char* proc_name)
350 return dlsym(module, proc_name);
352 return GetProcAddress(
static_cast<HMODULE
>(module), proc_name);
356inline DynamicLoader::DynamicLoader()
358#if defined _WIN32 || defined _WIN64
360 if (_wgetenv_s(&sz, NULL, 0, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0
363 std::vector<wchar_t> env_ids_peak_afl(sz);
364 if (_wgetenv_s(&sz, env_ids_peak_afl.data(), sz, L
"IDS_PEAK_GENERIC_SDK_PATH") == 0)
366 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
369 std::vector<wchar_t> env_path(sz);
370 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
372 std::wstring ids_peak_afl_path(env_ids_peak_afl.data());
374 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_64");
376 ids_peak_afl_path.append(L
"\\afl\\lib\\x86_32");
378 AddDllDirectory(ids_peak_afl_path.c_str());
384 loadLib(
"ids_peak_afl.dll");
386 loadLib(
"libids_peak_afl.so");
390inline DynamicLoader::~DynamicLoader()
392 if(m_handle !=
nullptr)
398inline bool DynamicLoader::isLoaded()
400 auto&& inst = instance();
401 return inst.m_handle !=
nullptr;
404inline void DynamicLoader::unload()
408 if (m_handle !=
nullptr)
413 FreeLibrary(
static_cast<HMODULE
>(m_handle));
420inline bool DynamicLoader::loadLib(
const char* file)
427 m_handle = dlopen(file, RTLD_NOW);
429 m_handle = LoadLibraryExA(file,
nullptr, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
431 if (m_handle !=
nullptr)
436 }
catch (
const std::exception&) {
443 throw std::runtime_error(std::string(
"Lib load failed: ") + file);
448 throw std::runtime_error(
"Filename empty");
454inline bool DynamicLoader::setPointers(
bool load)
457 m_peak_afl_Init = (dyn_peak_afl_Init) (load ? import_function(m_handle,
"peak_afl_Init") :
nullptr);
458 if(m_peak_afl_Init ==
nullptr && load)
460 throw std::runtime_error(
"Failed to load peak_afl_Init");
463 m_peak_afl_Exit = (dyn_peak_afl_Exit) (load ? import_function(m_handle,
"peak_afl_Exit") :
nullptr);
464 if(m_peak_afl_Exit ==
nullptr && load)
466 throw std::runtime_error(
"Failed to load peak_afl_Exit");
469 m_peak_afl_GetLastError = (dyn_peak_afl_GetLastError) (load ? import_function(m_handle,
"peak_afl_GetLastError") :
nullptr);
470 if(m_peak_afl_GetLastError ==
nullptr && load)
472 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
475 m_peak_afl_GetVersion = (dyn_peak_afl_GetVersion) (load ? import_function(m_handle,
"peak_afl_GetVersion") :
nullptr);
476 if(m_peak_afl_GetVersion ==
nullptr && load)
478 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
481 m_peak_afl_AutoFeatureManager_Create = (dyn_peak_afl_AutoFeatureManager_Create) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") :
nullptr);
482 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
484 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
487 m_peak_afl_AutoFeatureManager_Destroy = (dyn_peak_afl_AutoFeatureManager_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") :
nullptr);
488 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
490 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
493 m_peak_afl_AutoFeatureManager_AddController = (dyn_peak_afl_AutoFeatureManager_AddController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") :
nullptr);
494 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
496 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
499 m_peak_afl_AutoFeatureManager_RemoveController = (dyn_peak_afl_AutoFeatureManager_RemoveController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") :
nullptr);
500 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
502 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
505 m_peak_afl_AutoFeatureManager_Process = (dyn_peak_afl_AutoFeatureManager_Process) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") :
nullptr);
506 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
508 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
511 m_peak_afl_AutoFeatureManager_CreateController = (dyn_peak_afl_AutoFeatureManager_CreateController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") :
nullptr);
512 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
514 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
517 m_peak_afl_AutoFeatureManager_DestroyAllController = (dyn_peak_afl_AutoFeatureManager_DestroyAllController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") :
nullptr);
518 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
520 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
523 m_peak_afl_AutoFeatureManager_DestroyController = (dyn_peak_afl_AutoFeatureManager_DestroyController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") :
nullptr);
524 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
526 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
529 m_peak_afl_AutoFeatureManager_SetGainIPL = (dyn_peak_afl_AutoFeatureManager_SetGainIPL) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") :
nullptr);
530 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
532 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
535 m_peak_afl_AutoFeatureManager_Status = (dyn_peak_afl_AutoFeatureManager_Status) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") :
nullptr);
536 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
538 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
541 m_peak_afl_AutoController_Create = (dyn_peak_afl_AutoController_Create) (load ? import_function(m_handle,
"peak_afl_AutoController_Create") :
nullptr);
542 if(m_peak_afl_AutoController_Create ==
nullptr && load)
544 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
547 m_peak_afl_AutoController_Destroy = (dyn_peak_afl_AutoController_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") :
nullptr);
548 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
550 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
553 m_peak_afl_AutoController_SkipFrames_IsSupported = (dyn_peak_afl_AutoController_SkipFrames_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") :
nullptr);
554 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
556 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
559 m_peak_afl_AutoController_SkipFrames_Set = (dyn_peak_afl_AutoController_SkipFrames_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") :
nullptr);
560 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
562 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
565 m_peak_afl_AutoController_SkipFrames_Get = (dyn_peak_afl_AutoController_SkipFrames_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") :
nullptr);
566 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
568 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
571 m_peak_afl_AutoController_SkipFrames_GetRange = (dyn_peak_afl_AutoController_SkipFrames_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") :
nullptr);
572 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
574 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
577 m_peak_afl_AutoController_ROI_IsSupported = (dyn_peak_afl_AutoController_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") :
nullptr);
578 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
580 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
583 m_peak_afl_AutoController_ROI_Set = (dyn_peak_afl_AutoController_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") :
nullptr);
584 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
586 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
589 m_peak_afl_AutoController_ROI_Get = (dyn_peak_afl_AutoController_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") :
nullptr);
590 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
592 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
595 m_peak_afl_AutoController_ROI_Preset_IsSupported = (dyn_peak_afl_AutoController_ROI_Preset_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_IsSupported") :
nullptr);
596 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
598 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
601 m_peak_afl_AutoController_ROI_Preset_Set = (dyn_peak_afl_AutoController_ROI_Preset_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_Set") :
nullptr);
602 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
604 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
607 m_peak_afl_AutoController_Mode_IsSupported = (dyn_peak_afl_AutoController_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") :
nullptr);
608 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
610 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
613 m_peak_afl_AutoController_Mode_Set = (dyn_peak_afl_AutoController_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") :
nullptr);
614 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
616 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
619 m_peak_afl_AutoController_Mode_Get = (dyn_peak_afl_AutoController_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") :
nullptr);
620 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
622 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
625 m_peak_afl_AutoController_BrightnessAlgorithm_Set = (dyn_peak_afl_AutoController_BrightnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Set") :
nullptr);
626 if(m_peak_afl_AutoController_BrightnessAlgorithm_Set ==
nullptr && load)
628 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Set");
631 m_peak_afl_AutoController_BrightnessAlgorithm_Get = (dyn_peak_afl_AutoController_BrightnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Get") :
nullptr);
632 if(m_peak_afl_AutoController_BrightnessAlgorithm_Get ==
nullptr && load)
634 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Get");
637 m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_IsSupported") :
nullptr);
638 if(m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported ==
nullptr && load)
640 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_IsSupported");
643 m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_IsSupported") :
nullptr);
644 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
646 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
649 m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported = (dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Unit_IsSupported") :
nullptr);
650 if(m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported ==
nullptr && load)
652 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Unit_IsSupported");
655 m_peak_afl_AutoController_BrightnessComponent_Mode_Set = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Set") :
nullptr);
656 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
658 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
661 m_peak_afl_AutoController_BrightnessComponent_Mode_Get = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Get") :
nullptr);
662 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
664 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
667 m_peak_afl_AutoController_BrightnessComponent_Status = (dyn_peak_afl_AutoController_BrightnessComponent_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Status") :
nullptr);
668 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
670 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
673 m_peak_afl_AutoController_BrightnessComponent_Callback_Set = (dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Callback_Set") :
nullptr);
674 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
676 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
679 m_peak_afl_AutoController_ExposureLimit_IsSupported = (dyn_peak_afl_AutoController_ExposureLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_IsSupported") :
nullptr);
680 if(m_peak_afl_AutoController_ExposureLimit_IsSupported ==
nullptr && load)
682 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_IsSupported");
685 m_peak_afl_AutoController_ExposureLimit_Set = (dyn_peak_afl_AutoController_ExposureLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Set") :
nullptr);
686 if(m_peak_afl_AutoController_ExposureLimit_Set ==
nullptr && load)
688 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Set");
691 m_peak_afl_AutoController_ExposureLimit_Get = (dyn_peak_afl_AutoController_ExposureLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Get") :
nullptr);
692 if(m_peak_afl_AutoController_ExposureLimit_Get ==
nullptr && load)
694 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Get");
697 m_peak_afl_AutoController_Status = (dyn_peak_afl_AutoController_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_Status") :
nullptr);
698 if(m_peak_afl_AutoController_Status ==
nullptr && load)
700 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
703 m_peak_afl_AutoController_GetLastAutoAverage = (dyn_peak_afl_AutoController_GetLastAutoAverage) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") :
nullptr);
704 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
706 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
709 m_peak_afl_AutoController_GetLastAutoAverages = (dyn_peak_afl_AutoController_GetLastAutoAverages) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") :
nullptr);
710 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
712 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
715 m_peak_afl_AutoController_AutoTarget_IsSupported = (dyn_peak_afl_AutoController_AutoTarget_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") :
nullptr);
716 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
718 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
721 m_peak_afl_AutoController_AutoTarget_Set = (dyn_peak_afl_AutoController_AutoTarget_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") :
nullptr);
722 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
724 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
727 m_peak_afl_AutoController_AutoTarget_Get = (dyn_peak_afl_AutoController_AutoTarget_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") :
nullptr);
728 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
730 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
733 m_peak_afl_AutoController_AutoTarget_GetRange = (dyn_peak_afl_AutoController_AutoTarget_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") :
nullptr);
734 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
736 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
739 m_peak_afl_AutoController_AutoTolerance_IsSupported = (dyn_peak_afl_AutoController_AutoTolerance_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") :
nullptr);
740 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
742 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
745 m_peak_afl_AutoController_AutoTolerance_Set = (dyn_peak_afl_AutoController_AutoTolerance_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") :
nullptr);
746 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
748 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
751 m_peak_afl_AutoController_AutoTolerance_Get = (dyn_peak_afl_AutoController_AutoTolerance_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") :
nullptr);
752 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
754 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
757 m_peak_afl_AutoController_AutoTolerance_GetRange = (dyn_peak_afl_AutoController_AutoTolerance_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") :
nullptr);
758 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
760 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
763 m_peak_afl_AutoController_AutoPercentile_IsSupported = (dyn_peak_afl_AutoController_AutoPercentile_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") :
nullptr);
764 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
766 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
769 m_peak_afl_AutoController_AutoPercentile_Set = (dyn_peak_afl_AutoController_AutoPercentile_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") :
nullptr);
770 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
772 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
775 m_peak_afl_AutoController_AutoPercentile_Get = (dyn_peak_afl_AutoController_AutoPercentile_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") :
nullptr);
776 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
778 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
781 m_peak_afl_AutoController_AutoPercentile_GetRange = (dyn_peak_afl_AutoController_AutoPercentile_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") :
nullptr);
782 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
784 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
787 m_peak_afl_AutoController_Type_Get = (dyn_peak_afl_AutoController_Type_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") :
nullptr);
788 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
790 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
793 m_peak_afl_AutoController_Algorithm_IsSupported = (dyn_peak_afl_AutoController_Algorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") :
nullptr);
794 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
796 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
799 m_peak_afl_AutoController_Algorithm_Set = (dyn_peak_afl_AutoController_Algorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") :
nullptr);
800 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
802 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
805 m_peak_afl_AutoController_Algorithm_Get = (dyn_peak_afl_AutoController_Algorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") :
nullptr);
806 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
808 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
811 m_peak_afl_AutoController_Algorithm_GetList = (dyn_peak_afl_AutoController_Algorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") :
nullptr);
812 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
814 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
817 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") :
nullptr);
818 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
820 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
823 m_peak_afl_AutoController_SharpnessAlgorithm_Set = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") :
nullptr);
824 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
826 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
829 m_peak_afl_AutoController_SharpnessAlgorithm_Get = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") :
nullptr);
830 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
832 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
835 m_peak_afl_AutoController_SharpnessAlgorithm_GetList = (dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") :
nullptr);
836 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
838 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
841 m_peak_afl_AutoController_Callback_Set = (dyn_peak_afl_AutoController_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") :
nullptr);
842 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
844 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
847 m_peak_afl_AutoController_Weighted_ROI_IsSupported = (dyn_peak_afl_AutoController_Weighted_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_IsSupported") :
nullptr);
848 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
850 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
853 m_peak_afl_AutoController_Weighted_ROI_Min_Size = (dyn_peak_afl_AutoController_Weighted_ROI_Min_Size) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Min_Size") :
nullptr);
854 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
856 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
859 m_peak_afl_AutoController_Weighted_ROI_Set = (dyn_peak_afl_AutoController_Weighted_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Set") :
nullptr);
860 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
862 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
865 m_peak_afl_AutoController_Weighted_ROI_Get = (dyn_peak_afl_AutoController_Weighted_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Get") :
nullptr);
866 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
868 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
871 m_peak_afl_AutoController_Limit_IsSupported = (dyn_peak_afl_AutoController_Limit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") :
nullptr);
872 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
874 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
877 m_peak_afl_AutoController_Limit_Default = (dyn_peak_afl_AutoController_Limit_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") :
nullptr);
878 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
880 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
883 m_peak_afl_AutoController_Limit_Set = (dyn_peak_afl_AutoController_Limit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") :
nullptr);
884 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
886 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
889 m_peak_afl_AutoController_Limit_Get = (dyn_peak_afl_AutoController_Limit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") :
nullptr);
890 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
892 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
895 m_peak_afl_AutoController_Hysteresis_IsSupported = (dyn_peak_afl_AutoController_Hysteresis_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") :
nullptr);
896 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
898 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
901 m_peak_afl_AutoController_Hysteresis_Default = (dyn_peak_afl_AutoController_Hysteresis_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") :
nullptr);
902 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
904 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
907 m_peak_afl_AutoController_Hysteresis_Set = (dyn_peak_afl_AutoController_Hysteresis_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") :
nullptr);
908 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
910 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
913 m_peak_afl_AutoController_Hysteresis_Get = (dyn_peak_afl_AutoController_Hysteresis_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") :
nullptr);
914 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
916 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
919 m_peak_afl_AutoController_Hysteresis_GetRange = (dyn_peak_afl_AutoController_Hysteresis_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") :
nullptr);
920 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
922 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
925 m_peak_afl_AutoController_GainLimit_IsSupported = (dyn_peak_afl_AutoController_GainLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_IsSupported") :
nullptr);
926 if(m_peak_afl_AutoController_GainLimit_IsSupported ==
nullptr && load)
928 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_IsSupported");
931 m_peak_afl_AutoController_GainLimit_Set = (dyn_peak_afl_AutoController_GainLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Set") :
nullptr);
932 if(m_peak_afl_AutoController_GainLimit_Set ==
nullptr && load)
934 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Set");
937 m_peak_afl_AutoController_GainLimit_Get = (dyn_peak_afl_AutoController_GainLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Get") :
nullptr);
938 if(m_peak_afl_AutoController_GainLimit_Get ==
nullptr && load)
940 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Get");
943 m_peak_afl_AutoController_GainLimit_GetRange = (dyn_peak_afl_AutoController_GainLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_GetRange") :
nullptr);
944 if(m_peak_afl_AutoController_GainLimit_GetRange ==
nullptr && load)
946 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_GetRange");
949 m_peak_afl_AutoController_GainAnalogLimit_Set = (dyn_peak_afl_AutoController_GainAnalogLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Set") :
nullptr);
950 if(m_peak_afl_AutoController_GainAnalogLimit_Set ==
nullptr && load)
952 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Set");
955 m_peak_afl_AutoController_GainAnalogLimit_Get = (dyn_peak_afl_AutoController_GainAnalogLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Get") :
nullptr);
956 if(m_peak_afl_AutoController_GainAnalogLimit_Get ==
nullptr && load)
958 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Get");
961 m_peak_afl_AutoController_GainAnalogLimit_GetRange = (dyn_peak_afl_AutoController_GainAnalogLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_GetRange") :
nullptr);
962 if(m_peak_afl_AutoController_GainAnalogLimit_GetRange ==
nullptr && load)
964 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_GetRange");
967 m_peak_afl_AutoController_GainDigitalLimit_Set = (dyn_peak_afl_AutoController_GainDigitalLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Set") :
nullptr);
968 if(m_peak_afl_AutoController_GainDigitalLimit_Set ==
nullptr && load)
970 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Set");
973 m_peak_afl_AutoController_GainDigitalLimit_Get = (dyn_peak_afl_AutoController_GainDigitalLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Get") :
nullptr);
974 if(m_peak_afl_AutoController_GainDigitalLimit_Get ==
nullptr && load)
976 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Get");
979 m_peak_afl_AutoController_GainDigitalLimit_GetRange = (dyn_peak_afl_AutoController_GainDigitalLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_GetRange") :
nullptr);
980 if(m_peak_afl_AutoController_GainDigitalLimit_GetRange ==
nullptr && load)
982 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_GetRange");
985 m_peak_afl_AutoController_GainCombinedLimit_Set = (dyn_peak_afl_AutoController_GainCombinedLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Set") :
nullptr);
986 if(m_peak_afl_AutoController_GainCombinedLimit_Set ==
nullptr && load)
988 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Set");
991 m_peak_afl_AutoController_GainCombinedLimit_Get = (dyn_peak_afl_AutoController_GainCombinedLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Get") :
nullptr);
992 if(m_peak_afl_AutoController_GainCombinedLimit_Get ==
nullptr && load)
994 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Get");
997 m_peak_afl_AutoController_GainCombinedLimit_GetRange = (dyn_peak_afl_AutoController_GainCombinedLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_GetRange") :
nullptr);
998 if(m_peak_afl_AutoController_GainCombinedLimit_GetRange ==
nullptr && load)
1000 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_GetRange");
1003 m_peak_afl_AutoController_GainHostLimit_Set = (dyn_peak_afl_AutoController_GainHostLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Set") :
nullptr);
1004 if(m_peak_afl_AutoController_GainHostLimit_Set ==
nullptr && load)
1006 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Set");
1009 m_peak_afl_AutoController_GainHostLimit_Get = (dyn_peak_afl_AutoController_GainHostLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Get") :
nullptr);
1010 if(m_peak_afl_AutoController_GainHostLimit_Get ==
nullptr && load)
1012 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Get");
1015 m_peak_afl_AutoController_GainHostLimit_GetRange = (dyn_peak_afl_AutoController_GainHostLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_GetRange") :
nullptr);
1016 if(m_peak_afl_AutoController_GainHostLimit_GetRange ==
nullptr && load)
1018 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_GetRange");
1025inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_Init(
void )
1027 auto& inst = instance();
1028 if(inst.m_peak_afl_Init)
1030 return inst.m_peak_afl_Init();
1034 throw std::runtime_error(
"Library not loaded!");
1038inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_Exit(
void )
1040 auto& inst = instance();
1041 if(inst.m_peak_afl_Exit)
1043 return inst.m_peak_afl_Exit();
1047 throw std::runtime_error(
"Library not loaded!");
1051inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_GetLastError(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize)
1053 auto& inst = instance();
1054 if(inst.m_peak_afl_GetLastError)
1056 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
1060 throw std::runtime_error(
"Library not loaded!");
1064inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion)
1066 auto& inst = instance();
1067 if(inst.m_peak_afl_GetVersion)
1069 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
1073 throw std::runtime_error(
"Library not loaded!");
1077inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_Create(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
1079 auto& inst = instance();
1080 if(inst.m_peak_afl_AutoFeatureManager_Create)
1082 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
1086 throw std::runtime_error(
"Library not loaded!");
1092 auto& inst = instance();
1093 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
1095 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
1099 throw std::runtime_error(
"Library not loaded!");
1105 auto& inst = instance();
1106 if(inst.m_peak_afl_AutoFeatureManager_AddController)
1108 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
1112 throw std::runtime_error(
"Library not loaded!");
1118 auto& inst = instance();
1119 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
1121 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
1125 throw std::runtime_error(
"Library not loaded!");
1129inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_Process(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
1131 auto& inst = instance();
1132 if(inst.m_peak_afl_AutoFeatureManager_Process)
1134 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
1138 throw std::runtime_error(
"Library not loaded!");
1144 auto& inst = instance();
1145 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
1147 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
1151 throw std::runtime_error(
"Library not loaded!");
1155inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_DestroyAllController(
peak_afl_manager_handle handle)
1157 auto& inst = instance();
1158 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
1160 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
1164 throw std::runtime_error(
"Library not loaded!");
1170 auto& inst = instance();
1171 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
1173 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
1177 throw std::runtime_error(
"Library not loaded!");
1181inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_SetGainIPL(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle)
1183 auto& inst = instance();
1184 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
1186 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
1190 throw std::runtime_error(
"Library not loaded!");
1196 auto& inst = instance();
1197 if(inst.m_peak_afl_AutoFeatureManager_Status)
1199 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
1203 throw std::runtime_error(
"Library not loaded!");
1209 auto& inst = instance();
1210 if(inst.m_peak_afl_AutoController_Create)
1212 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1216 throw std::runtime_error(
"Library not loaded!");
1222 auto& inst = instance();
1223 if(inst.m_peak_afl_AutoController_Destroy)
1225 return inst.m_peak_afl_AutoController_Destroy(controller);
1229 throw std::runtime_error(
"Library not loaded!");
1235 auto& inst = instance();
1236 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1238 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1242 throw std::runtime_error(
"Library not loaded!");
1246inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_Set(
peak_afl_controller_handle controller, uint32_t count)
1248 auto& inst = instance();
1249 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1251 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1255 throw std::runtime_error(
"Library not loaded!");
1259inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_Get(
peak_afl_controller_handle controller, uint32_t * count)
1261 auto& inst = instance();
1262 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1264 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1268 throw std::runtime_error(
"Library not loaded!");
1272inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1274 auto& inst = instance();
1275 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1277 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1281 throw std::runtime_error(
"Library not loaded!");
1287 auto& inst = instance();
1288 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1290 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1294 throw std::runtime_error(
"Library not loaded!");
1300 auto& inst = instance();
1301 if(inst.m_peak_afl_AutoController_ROI_Set)
1303 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1307 throw std::runtime_error(
"Library not loaded!");
1313 auto& inst = instance();
1314 if(inst.m_peak_afl_AutoController_ROI_Get)
1316 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1320 throw std::runtime_error(
"Library not loaded!");
1326 auto& inst = instance();
1327 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1329 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1333 throw std::runtime_error(
"Library not loaded!");
1339 auto& inst = instance();
1340 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1342 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1346 throw std::runtime_error(
"Library not loaded!");
1352 auto& inst = instance();
1353 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1355 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1359 throw std::runtime_error(
"Library not loaded!");
1365 auto& inst = instance();
1366 if(inst.m_peak_afl_AutoController_Mode_Set)
1368 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1372 throw std::runtime_error(
"Library not loaded!");
1378 auto& inst = instance();
1379 if(inst.m_peak_afl_AutoController_Mode_Get)
1381 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1385 throw std::runtime_error(
"Library not loaded!");
1391 auto& inst = instance();
1392 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set)
1394 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set(controller, algorithm);
1398 throw std::runtime_error(
"Library not loaded!");
1404 auto& inst = instance();
1405 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get)
1407 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get(controller, algorithm);
1411 throw std::runtime_error(
"Library not loaded!");
1417 auto& inst = instance();
1418 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported)
1420 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported(controller, supported);
1424 throw std::runtime_error(
"Library not loaded!");
1430 auto& inst = instance();
1431 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1433 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1437 throw std::runtime_error(
"Library not loaded!");
1443 auto& inst = instance();
1444 if(inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported)
1446 return inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(controller, unit, supported);
1450 throw std::runtime_error(
"Library not loaded!");
1456 auto& inst = instance();
1457 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1459 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1463 throw std::runtime_error(
"Library not loaded!");
1469 auto& inst = instance();
1470 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1472 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1476 throw std::runtime_error(
"Library not loaded!");
1482 auto& inst = instance();
1483 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1485 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1489 throw std::runtime_error(
"Library not loaded!");
1495 auto& inst = instance();
1496 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1498 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1502 throw std::runtime_error(
"Library not loaded!");
1508 auto& inst = instance();
1509 if(inst.m_peak_afl_AutoController_ExposureLimit_IsSupported)
1511 return inst.m_peak_afl_AutoController_ExposureLimit_IsSupported(controller, supported);
1515 throw std::runtime_error(
"Library not loaded!");
1521 auto& inst = instance();
1522 if(inst.m_peak_afl_AutoController_ExposureLimit_Set)
1524 return inst.m_peak_afl_AutoController_ExposureLimit_Set(controller, limit);
1528 throw std::runtime_error(
"Library not loaded!");
1534 auto& inst = instance();
1535 if(inst.m_peak_afl_AutoController_ExposureLimit_Get)
1537 return inst.m_peak_afl_AutoController_ExposureLimit_Get(controller, limit);
1541 throw std::runtime_error(
"Library not loaded!");
1547 auto& inst = instance();
1548 if(inst.m_peak_afl_AutoController_Status)
1550 return inst.m_peak_afl_AutoController_Status(controller, status);
1554 throw std::runtime_error(
"Library not loaded!");
1558inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GetLastAutoAverage(
peak_afl_controller_handle controller, uint8_t * average)
1560 auto& inst = instance();
1561 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1563 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1567 throw std::runtime_error(
"Library not loaded!");
1571inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GetLastAutoAverages(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue)
1573 auto& inst = instance();
1574 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1576 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1580 throw std::runtime_error(
"Library not loaded!");
1586 auto& inst = instance();
1587 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1589 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1593 throw std::runtime_error(
"Library not loaded!");
1597inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_Set(
peak_afl_controller_handle controller, uint32_t target)
1599 auto& inst = instance();
1600 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1602 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1606 throw std::runtime_error(
"Library not loaded!");
1610inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_Get(
peak_afl_controller_handle controller, uint32_t * target)
1612 auto& inst = instance();
1613 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1615 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1619 throw std::runtime_error(
"Library not loaded!");
1623inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1625 auto& inst = instance();
1626 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1628 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1632 throw std::runtime_error(
"Library not loaded!");
1638 auto& inst = instance();
1639 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1641 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1645 throw std::runtime_error(
"Library not loaded!");
1649inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_Set(
peak_afl_controller_handle controller, uint32_t tolerance)
1651 auto& inst = instance();
1652 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1654 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1658 throw std::runtime_error(
"Library not loaded!");
1662inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_Get(
peak_afl_controller_handle controller, uint32_t * tolerance)
1664 auto& inst = instance();
1665 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1667 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1671 throw std::runtime_error(
"Library not loaded!");
1675inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1677 auto& inst = instance();
1678 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1680 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1684 throw std::runtime_error(
"Library not loaded!");
1690 auto& inst = instance();
1691 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1693 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1697 throw std::runtime_error(
"Library not loaded!");
1701inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_Set(
peak_afl_controller_handle controller,
double percentile)
1703 auto& inst = instance();
1704 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1706 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1710 throw std::runtime_error(
"Library not loaded!");
1714inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_Get(
peak_afl_controller_handle controller,
double * percentile)
1716 auto& inst = instance();
1717 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1719 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1723 throw std::runtime_error(
"Library not loaded!");
1727inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_GetRange(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc)
1729 auto& inst = instance();
1730 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1732 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1736 throw std::runtime_error(
"Library not loaded!");
1742 auto& inst = instance();
1743 if(inst.m_peak_afl_AutoController_Type_Get)
1745 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1749 throw std::runtime_error(
"Library not loaded!");
1755 auto& inst = instance();
1756 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1758 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1762 throw std::runtime_error(
"Library not loaded!");
1768 auto& inst = instance();
1769 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1771 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1775 throw std::runtime_error(
"Library not loaded!");
1781 auto& inst = instance();
1782 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1784 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1788 throw std::runtime_error(
"Library not loaded!");
1794 auto& inst = instance();
1795 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1797 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1801 throw std::runtime_error(
"Library not loaded!");
1807 auto& inst = instance();
1808 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1810 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1814 throw std::runtime_error(
"Library not loaded!");
1820 auto& inst = instance();
1821 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1823 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1827 throw std::runtime_error(
"Library not loaded!");
1833 auto& inst = instance();
1834 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1836 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1840 throw std::runtime_error(
"Library not loaded!");
1846 auto& inst = instance();
1847 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1849 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1853 throw std::runtime_error(
"Library not loaded!");
1859 auto& inst = instance();
1860 if(inst.m_peak_afl_AutoController_Callback_Set)
1862 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1866 throw std::runtime_error(
"Library not loaded!");
1872 auto& inst = instance();
1873 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1875 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1879 throw std::runtime_error(
"Library not loaded!");
1885 auto& inst = instance();
1886 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1888 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1892 throw std::runtime_error(
"Library not loaded!");
1898 auto& inst = instance();
1899 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1901 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1905 throw std::runtime_error(
"Library not loaded!");
1911 auto& inst = instance();
1912 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1914 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1918 throw std::runtime_error(
"Library not loaded!");
1924 auto& inst = instance();
1925 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1927 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
1931 throw std::runtime_error(
"Library not loaded!");
1937 auto& inst = instance();
1938 if(inst.m_peak_afl_AutoController_Limit_Default)
1940 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
1944 throw std::runtime_error(
"Library not loaded!");
1950 auto& inst = instance();
1951 if(inst.m_peak_afl_AutoController_Limit_Set)
1953 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
1957 throw std::runtime_error(
"Library not loaded!");
1963 auto& inst = instance();
1964 if(inst.m_peak_afl_AutoController_Limit_Get)
1966 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
1970 throw std::runtime_error(
"Library not loaded!");
1976 auto& inst = instance();
1977 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
1979 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
1983 throw std::runtime_error(
"Library not loaded!");
1987inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Default(
peak_afl_controller_handle controller, uint8_t * hysteresis)
1989 auto& inst = instance();
1990 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
1992 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
1996 throw std::runtime_error(
"Library not loaded!");
2000inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Set(
peak_afl_controller_handle controller, uint8_t hysteresis)
2002 auto& inst = instance();
2003 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
2005 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
2009 throw std::runtime_error(
"Library not loaded!");
2013inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Get(
peak_afl_controller_handle controller, uint8_t * hysteresis)
2015 auto& inst = instance();
2016 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
2018 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
2022 throw std::runtime_error(
"Library not loaded!");
2026inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_GetRange(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc)
2028 auto& inst = instance();
2029 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
2031 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
2035 throw std::runtime_error(
"Library not loaded!");
2041 auto& inst = instance();
2042 if(inst.m_peak_afl_AutoController_GainLimit_IsSupported)
2044 return inst.m_peak_afl_AutoController_GainLimit_IsSupported(controller, supported);
2048 throw std::runtime_error(
"Library not loaded!");
2054 auto& inst = instance();
2055 if(inst.m_peak_afl_AutoController_GainLimit_Set)
2057 return inst.m_peak_afl_AutoController_GainLimit_Set(controller, limit);
2061 throw std::runtime_error(
"Library not loaded!");
2067 auto& inst = instance();
2068 if(inst.m_peak_afl_AutoController_GainLimit_Get)
2070 return inst.m_peak_afl_AutoController_GainLimit_Get(controller, limit);
2074 throw std::runtime_error(
"Library not loaded!");
2080 auto& inst = instance();
2081 if(inst.m_peak_afl_AutoController_GainLimit_GetRange)
2083 return inst.m_peak_afl_AutoController_GainLimit_GetRange(controller, limit);
2087 throw std::runtime_error(
"Library not loaded!");
2093 auto& inst = instance();
2094 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Set)
2096 return inst.m_peak_afl_AutoController_GainAnalogLimit_Set(controller, limit);
2100 throw std::runtime_error(
"Library not loaded!");
2106 auto& inst = instance();
2107 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Get)
2109 return inst.m_peak_afl_AutoController_GainAnalogLimit_Get(controller, limit);
2113 throw std::runtime_error(
"Library not loaded!");
2119 auto& inst = instance();
2120 if(inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange)
2122 return inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange(controller, limit);
2126 throw std::runtime_error(
"Library not loaded!");
2132 auto& inst = instance();
2133 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Set)
2135 return inst.m_peak_afl_AutoController_GainDigitalLimit_Set(controller, limit);
2139 throw std::runtime_error(
"Library not loaded!");
2145 auto& inst = instance();
2146 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Get)
2148 return inst.m_peak_afl_AutoController_GainDigitalLimit_Get(controller, limit);
2152 throw std::runtime_error(
"Library not loaded!");
2158 auto& inst = instance();
2159 if(inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange)
2161 return inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange(controller, limit);
2165 throw std::runtime_error(
"Library not loaded!");
2171 auto& inst = instance();
2172 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Set)
2174 return inst.m_peak_afl_AutoController_GainCombinedLimit_Set(controller, limit);
2178 throw std::runtime_error(
"Library not loaded!");
2184 auto& inst = instance();
2185 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Get)
2187 return inst.m_peak_afl_AutoController_GainCombinedLimit_Get(controller, limit);
2191 throw std::runtime_error(
"Library not loaded!");
2197 auto& inst = instance();
2198 if(inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange)
2200 return inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange(controller, limit);
2204 throw std::runtime_error(
"Library not loaded!");
2210 auto& inst = instance();
2211 if(inst.m_peak_afl_AutoController_GainHostLimit_Set)
2213 return inst.m_peak_afl_AutoController_GainHostLimit_Set(controller, limit);
2217 throw std::runtime_error(
"Library not loaded!");
2223 auto& inst = instance();
2224 if(inst.m_peak_afl_AutoController_GainHostLimit_Get)
2226 return inst.m_peak_afl_AutoController_GainHostLimit_Get(controller, limit);
2230 throw std::runtime_error(
"Library not loaded!");
2236 auto& inst = instance();
2237 if(inst.m_peak_afl_AutoController_GainHostLimit_GetRange)
2239 return inst.m_peak_afl_AutoController_GainHostLimit_GetRange(controller, limit);
2243 throw std::runtime_error(
"Library not loaded!");
PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if exposure limit is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature analog gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get the auto target range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Default(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature default limit.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_GetRange(peak_afl_controller_handle controller, double *min, double *max, double *inc)
Get the auto percentile range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature analog gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Callback_Set(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_callback_type type, void *funcPtr, void *context)
Set a callback for a controller component.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get range for frames skipped for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Default(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis default.
PEAK_AFL_API_STATUS peak_afl_AutoController_Mode_Get(peak_afl_controller_handle controller, peak_afl_controller_automode *mode)
Get the current autofeature mode for a controller.
peak_afl_callback_type
controller callback type
Definition peak_afl.h:287
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if auto percentile is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature combined gain limit for a controller.
peak_afl_controllerType
controller types
Definition peak_afl.h:125
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Status(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_controller_status *status)
Get the status for a controller component.
peak_afl_controller_brightness_component
controller brightness component
Definition peak_afl.h:245
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessAlgorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_brightness_algorithm algorithm)
Set the brightness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_algorithm *algorithm)
Get the used algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Mode_Get(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_controller_automode *mode)
Get the current brightness component mode for a controller.
peak_afl_controller_automode
controller automode
Definition peak_afl.h:144
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if auto target is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Get(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Status(peak_afl_controller_handle controller, peak_afl_controller_status *status)
Get the status for a controller.
peak_afl_roi_preset
controller roi preset
Definition peak_afl.h:312
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_Get(peak_afl_controller_handle controller, uint32_t *target)
Get the currently set auto target for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_GetList(peak_afl_controller_handle controller, peak_afl_controller_sharpness_algorithm *typeList, uint32_t *listSize)
Get the list of supported sharpness algorithms for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_Set(peak_afl_controller_handle controller, uint32_t count)
Set number of frames skipped for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature host gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_Get(peak_afl_controller_handle controller, uint32_t *count)
Get number of frames skipped for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_Set(peak_afl_controller_handle controller, uint32_t tolerance)
Set the auto tolerance for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Set(peak_afl_controller_handle controller, const peak_afl_weighted_rectangle *weightedRoiList, uint32_t listSize)
Set the autofeature weighted region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Preset_Set(peak_afl_controller_handle controller, peak_afl_roi_preset roiPreset)
Set the autofeature region of interest preset for a controller.
peak_afl_controller_brightness_algorithm
brightness calculation algorithm
Definition peak_afl.h:210
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Set(peak_afl_controller_handle controller, uint8_t hysteresis)
Set the autofeature hysteresis for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Get(peak_afl_controller_handle controller, peak_afl_weighted_rectangle *weightedRoiList, uint32_t *listSize)
Get the autofeature weighted region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Mode_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if auto mode is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if skip frames is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Mode_Set(peak_afl_controller_handle controller, peak_afl_controller_automode mode)
Set the autofeature mode for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Get(peak_afl_controller_handle controller, peak_afl_rectangle *roi)
Get the autofeature region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature exposure limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Callback_Set(peak_afl_controller_handle controller, peak_afl_callback_type type, void *funcPtr, void *context)
Set a callback for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Get(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if hysteresis is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Preset_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if ROI preset is supported for a controller.
peak_afl_controller_status
controller status
Definition peak_afl.h:160
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if auto tolerance is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature exposure limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Create(peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a new controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Mode_Set(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_controller_automode mode)
Set the autofeature mode for a brightness component.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_sharpness_algorithm algorithm)
Set the used sharpness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessAlgorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_brightness_algorithm *algorithm)
Get the current brightness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Min_Size(peak_afl_controller_handle controller, peak_afl_size *size)
Get the autofeature minimum size for the weighted region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if weighted region of interest is supported for a controller.
peak_afl_controller_algorithm
controller algorithm
Definition peak_afl.h:188
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_Set(peak_afl_controller_handle controller, double percentile)
Set the auto percentile for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if setting an algorithm is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if limit is supported for a controller.
peak_afl_controller_sharpness_algorithm
controller sharpness algorithm (focus)
Definition peak_afl.h:223
PEAK_AFL_API_STATUS peak_afl_AutoController_GetLastAutoAverage(peak_afl_controller_handle controller, uint8_t *average)
Get the last auto average for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(peak_afl_controller_handle controller, peak_afl_controller_brightness_component unit, peak_afl_BOOL8 *supported)
Check if a specific unit is supported for a brightness controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature digital gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GetLastAutoAverages(peak_afl_controller_handle controller, uint8_t *averageRed, uint8_t *averageGreen, uint8_t *averageBlue)
Get the last auto average for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_Set(peak_afl_controller_handle controller, uint32_t target)
Set the auto target for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Set(peak_afl_controller_handle controller, peak_afl_rectangle roi)
Set the autofeature region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Type_Get(peak_afl_controller_handle controller, peak_afl_controllerType *type)
Get the controller type.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature analog gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_GetRange(peak_afl_controller_handle controller, uint8_t *min, uint8_t *max, uint8_t *inc)
Get autofeature hysteresis range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Destroy(peak_afl_controller_handle controller)
Destroy a controller. Will fail if it is queued inside a manager.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get the auto tolerance range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_GetList(peak_afl_controller_handle controller, peak_afl_controller_algorithm *typeList, uint32_t *listSize)
Get the list of supported algorithms for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_Get(peak_afl_controller_handle controller, uint32_t *tolerance)
Get the current auto tolerance for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_Get(peak_afl_controller_handle controller, double *percentile)
Get the auto percentile for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_sharpness_algorithm *algorithm)
Get the used sharpness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature combined gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature digital gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if setting a region of interest is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessAlgorithm_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if brightness algorithm is supported for a controller component.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature digital gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if brightness component mode is supported for a controller component.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_algorithm algorithm)
Set the used algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check setting a sharpness algorithm is supported by a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Set(peak_afl_controller_handle controller, peak_afl_controller_limit limit)
Set the autofeature limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature combined gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if gain limit is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature host gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature host gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Create(peak_afl_manager_handle *handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
Create an automanager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_CreateController(peak_afl_manager_handle handle, peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a controller and append it to Manager.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Process(peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Process an image.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_DestroyController(peak_afl_manager_handle handle, peak_afl_controller_handle controller)
Destroy a controller.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Status(peak_afl_manager_handle handle, peak_afl_BOOL8 *running)
Get the status of a manager.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Destroy(peak_afl_manager_handle handle)
Destroy an automanager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_DestroyAllController(peak_afl_manager_handle handle)
Destroy all controllers for a manager.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_AddController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Add a controller to an auto manager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_RemoveController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Remove a controller to an automanager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_SetGainIPL(peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle)
Set the IPL Gain.
PEAK_AFL_API_STATUS peak_afl_Init(void)
Init the peak_afl auto feature library.
PEAK_AFL_API_STATUS peak_afl_Exit(void)
Exit the peak_afl auto feature library.
PEAK_AFL_API_STATUS peak_afl_GetVersion(uint32_t *majorVersion, uint32_t *minorVersion, uint32_t *subminorVersion, uint32_t *patchVersion)
Query the library version.
PEAK_AFL_API_STATUS peak_afl_GetLastError(peak_afl_status *lastErrorCode, char *lastErrorMessage, size_t *lastErrorMessageSize)
Get the last error message.
peak_afl_status
peak_afl Status codes
Definition peak_afl.h:88
void * peak_afl_controller_handle
opaque controller handle type
Definition peak_afl.h:49
void * peak_afl_manager_handle
opaque manager handle type
Definition peak_afl.h:51
uint8_t peak_afl_BOOL8
custom boolean type
Definition peak_afl.h:422
peak_afl Focus Limit
Definition peak_afl.h:398
peak_afl Double Limit
Definition peak_afl.h:414
peak_afl Rectangle (2D)
Definition peak_afl.h:360
peak_afl Size (2D)
Definition peak_afl.h:326
peak_afl Focus Rectangle
Definition peak_afl.h:382