milk  1.01
Modular Image processing Library toolKit
MACROS: Function parameter structure

Frequently used function parameter structure (FPS) operations : More...

Macros

#define FPS_SETUP_INIT(VARfpsname, VARCMDmode)
 Initialize function parameter structure (FPS) More...
 
#define FPS_CONNECT(VARfpsname, VARCMDmode)
 Connect to FPS. More...
 
#define FPS_CONFLOOP_START
 Start FPS configuration loop. More...
 
#define FPS_CONFLOOP_END
 End FPS configuration loop. More...
 
#define FPS_ADDPARAM_FLT32_IN(key, pname, pdescr, dflt)
 Add 64-bit float parameter entry. More...
 
#define FPS_ADDPARAM_FLT64_IN(key, pname, pdescr, dflt)
 Add 32-bit float parameter entry. More...
 
#define FPS_ADDPARAM_INT64_IN(key, pname, pdescr, dflt)
 Add INT64 input parameter entry. More...
 
#define FPS_ADDPARAM_FILENAME_IN(key, pname, pdescr, dflt)
 Add filename input parameter entry. More...
 
#define FPS_ADDPARAM_STREAM_IN(key, pname, pdescr, dflt)
 Add stream input parameter entry. More...
 
#define FPS_ADDPARAM_ONOFF(key, pname, pdescr, dflt)
 Add ON/OFF parameter entry. More...
 
#define FPS_ADDPARAM_FLT32_OUT(key, pname, pdescr)
 Add FLT32 output parameter entry. More...
 
#define FPS_ADDPARAM_FLT64_OUT(key, pname, pdescr)
 Add FLT64 output parameter entry. More...
 
#define FPS_ADDPARAM_INT64_OUT(key, pname, pdescr)
 Add INT64 output parameter entry. More...
 
#define FPS_ADDPARAM_STREAM_OUT(key, pname, pdescr)
 Add stream output parameter entry. More...
 

Detailed Description

Frequently used function parameter structure (FPS) operations :

Macro Definition Documentation

◆ FPS_ADDPARAM_FILENAME_IN

#define FPS_ADDPARAM_FILENAME_IN (   key,
  pname,
  pdescr,
  dflt 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_FILENAME, FPFLAG_DEFAULT_INPUT_STREAM, (dflt));\
(void) fp_##key;\
} while(0)

Add filename input parameter entry.

◆ FPS_ADDPARAM_FLT32_IN

#define FPS_ADDPARAM_FLT32_IN (   key,
  pname,
  pdescr,
  dflt 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_FLOAT32, FPFLAG_DEFAULT_INPUT, (dflt));\
(void) fp_##key;\
} while(0)

Add 64-bit float parameter entry.

Default setting for input parameter
Also creates function parameter index (fp_##key), type long

(void) statement suppresses compiler unused parameter warning

◆ FPS_ADDPARAM_FLT32_OUT

#define FPS_ADDPARAM_FLT32_OUT (   key,
  pname,
  pdescr 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_FLOAT32, FPFLAG_DEFAULT_OUTPUT, NULL);\
(void) fp_##key;\
} while(0)

Add FLT32 output parameter entry.

◆ FPS_ADDPARAM_FLT64_IN

#define FPS_ADDPARAM_FLT64_IN (   key,
  pname,
  pdescr,
  dflt 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_FLOAT64, FPFLAG_DEFAULT_INPUT, (dflt));\
(void) fp_##key;\
} while(0)

Add 32-bit float parameter entry.

◆ FPS_ADDPARAM_FLT64_OUT

#define FPS_ADDPARAM_FLT64_OUT (   key,
  pname,
  pdescr 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_FLOAT64, FPFLAG_DEFAULT_OUTPUT, NULL);\
(void) fp_##key;\
} while(0)

Add FLT64 output parameter entry.

◆ FPS_ADDPARAM_INT64_IN

#define FPS_ADDPARAM_INT64_IN (   key,
  pname,
  pdescr,
  dflt 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_INT64, FPFLAG_DEFAULT_INPUT, (dflt));\
(void) fp_##key;\
} while(0)

Add INT64 input parameter entry.

◆ FPS_ADDPARAM_INT64_OUT

#define FPS_ADDPARAM_INT64_OUT (   key,
  pname,
  pdescr 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_INT64, FPFLAG_DEFAULT_OUTPUT, NULL);\
(void) fp_##key;\
} while(0)

Add INT64 output parameter entry.

◆ FPS_ADDPARAM_ONOFF

#define FPS_ADDPARAM_ONOFF (   key,
  pname,
  pdescr,
  dflt 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_ONOFF, FPFLAG_DEFAULT_INPUT, (dflt));\
(void) fp_##key;\
} while(0)

Add ON/OFF parameter entry.

◆ FPS_ADDPARAM_STREAM_IN

#define FPS_ADDPARAM_STREAM_IN (   key,
  pname,
  pdescr,
  dflt 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_STREAMNAME, FPFLAG_DEFAULT_INPUT_STREAM, (dflt));\
(void) fp_##key;\
} while(0)

Add stream input parameter entry.

◆ FPS_ADDPARAM_STREAM_OUT

#define FPS_ADDPARAM_STREAM_OUT (   key,
  pname,
  pdescr 
)
Value:
long fp_##key = 0; \
do{ \
fp_##key = function_parameter_add_entry(&fps, (pname), (pdescr), FPTYPE_STREAMNAME, FPFLAG_DEFAULT_OUTPUT_STREAM, NULL);\
(void) fp_##key;\
} while(0)

Add stream output parameter entry.

◆ FPS_CONFLOOP_END

#define FPS_CONFLOOP_END
Value:
functionparameter_CheckParametersAll(&fps);} \
} \
function_parameter_FPCONFexit(&fps);

End FPS configuration loop.

◆ FPS_CONFLOOP_START

#define FPS_CONFLOOP_START
Value:
if( ! fps.localstatus & FPS_LOCALSTATUS_CONFLOOP ) { \
return RETURN_SUCCESS; \
} \
while(fps.localstatus & FPS_LOCALSTATUS_CONFLOOP) { \
{ \
struct timespec treq, trem; \
treq.tv_sec = 0; \
treq.tv_nsec = 50000; \
nanosleep(&treq, &trem); \
if(data.signal_INT == 1){fps.localstatus &= ~FPS_LOCALSTATUS_CONFLOOP;} \
} \
if(function_parameter_FPCONFloopstep(&fps) == 1) {

Start FPS configuration loop.

◆ FPS_CONNECT

#define FPS_CONNECT (   VARfpsname,
  VARCMDmode 
)
Value:
fps.SMfd = -1; \
if(function_parameter_struct_connect( (VARfpsname) , &fps, (VARCMDmode) ) == -1) { \
printf("ERROR: fps \"%s\" does not exist -> running without FPS interface\n", VARfpsname); \
return RETURN_FAILURE; \
}\
} while(0)

Connect to FPS.

◆ FPS_SETUP_INIT

#define FPS_SETUP_INIT (   VARfpsname,
  VARCMDmode 
)
Value:
fps.SMfd = -1; \
fps = function_parameter_FPCONFsetup((VARfpsname), (VARCMDmode)); \
strncpy(fps.md->sourcefname, __FILE__, FPS_SRCDIR_STRLENMAX);\
fps.md->sourceline = __LINE__; \
{ \
char msgstring[STRINGMAXLEN_FPS_LOGMSG]; \
SNPRINTF_CHECK(msgstring, STRINGMAXLEN_FPS_LOGMSG, "LOGSTART %s %d %s %d", (VARfpsname), (VARCMDmode), fps.md->sourcefname, fps.md->sourceline); \
functionparameter_outlog("FPSINIT", msgstring); \
functionparameter_outlog_namelink(); \
} \
} while(0)

Initialize function parameter structure (FPS)

Parameters
[in]VARfpsnameFPS name
[in]VARCMDmodecommand code
FUNCTION_PARAMETER_STRUCT
Definition: function_parameters.h:502
function_parameter_struct_connect
long function_parameter_struct_connect(const char *name, FUNCTION_PARAMETER_STRUCT *fps, int fpsconnectmode)
Connect to function parameter structure.
Definition: fps_connect.c:33
function_parameter_FPCONFsetup
FUNCTION_PARAMETER_STRUCT function_parameter_FPCONFsetup(const char *fpsname, uint32_t CMDmode)
FPS config setup.
Definition: fps_FPCONFsetup.c:19
function_parameter_add_entry
int function_parameter_add_entry(FUNCTION_PARAMETER_STRUCT *fps, const char *keywordstring, const char *descriptionstring, uint64_t type, uint64_t fpflag, void *valueptr)
Add parameter to database with default settings.
Definition: fps_add_entry.c:20