cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
function_parameters.c File Reference

Tools to help expose and control function parameters. More...

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
#include <math.h>
#include <limits.h>
#include <sys/syscall.h>
#include <errno.h>
#include <time.h>
#include <sys/types.h>
#include <ncurses.h>
#include <dirent.h>
#include <pthread.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <signal.h>
#include <00CORE/00CORE.h>
#include <CommandLineInterface/CLIcore.h>
#include "info/info.h"
#include "COREMOD_iofits/COREMOD_iofits.h"
#include "COREMOD_tools/COREMOD_tools.h"
#include "COREMOD_memory/COREMOD_memory.h"
#include "function_parameters.h"
Include dependency graph for function_parameters.c:

Data Structures

struct  KEYWORD_TREE_NODE
 

Macros

#define _GNU_SOURCE
 
#define SHAREDSHMDIR   data.shmdir
 
#define NB_FPS_MAX   100
 
#define NB_KEYWNODE_MAX   10000
 
#define MAXNBLEVELS   20
 
#define RESET   "\033[0m"
 
#define BLACK   "\033[0;30m" /* Black */
 
#define RED   "\033[0;31m" /* Red */
 
#define GREEN   "\033[0;32m" /* Green */
 
#define YELLOW   "\033[0;33m" /* Yellow */
 
#define BLUE   "\033[0;34m" /* Blue */
 
#define MAGENTA   "\033[0;35m" /* Magenta */
 
#define CYAN   "\033[0;36m" /* Cyan */
 
#define WHITE   "\033[0;37m" /* White */
 
#define BOLDBLACK   "\033[1;30m" /* Bold Black */
 
#define BOLDRED   "\033[1;31m" /* Bold Red */
 
#define BOLDGREEN   "\033[1;32m" /* Bold Green */
 
#define BOLDYELLOW   "\033[1;33m" /* Bold Yellow */
 
#define BOLDBLUE   "\033[1;34m" /* Bold Blue */
 
#define BOLDMAGENTA   "\033[1;35m" /* Bold Magenta */
 
#define BOLDCYAN   "\033[1;36m" /* Bold Cyan */
 
#define BOLDWHITE   "\033[1;37m" /* Bold White */
 
#define BLINKBLACK   "\033[5;30m" /* Blink Black */
 
#define BLINKRED   "\033[5;31m" /* Blink Red */
 
#define BLINKGREEN   "\033[5;32m" /* Blink Green */
 
#define BLINKYELLOW   "\033[5;33m" /* Blink Yellow */
 
#define BLINKBLUE   "\033[5;34m" /* Blink Blue */
 
#define BLINKMAGENTA   "\033[5;35m" /* Blink Magenta */
 
#define BLINKCYAN   "\033[5;36m" /* Blink Cyan */
 
#define BLINKWHITE   "\033[5;37m" /* Blink White */
 
#define BLINKHIBLACK   "\033[5;90m" /* Blink Black */
 
#define BLINKHIRED   "\033[5;91m" /* Blink Red */
 
#define BLINKHIGREEN   "\033[5;92m" /* Blink Green */
 
#define BLINKHIYELLOW   "\033[5;93m" /* Blink Yellow */
 
#define BLINKHIBLUE   "\033[5;94m" /* Blink Blue */
 
#define BLINKHIMAGENTA   "\033[5;95m" /* Blink Magenta */
 
#define BLINKHICYAN   "\033[5;96m" /* Blink Cyan */
 
#define BLINKHIWHITE   "\033[5;97m" /* Blink White */
 
#define UNDERLINEBLACK   "\033[4;30m" /* Bold Black */
 
#define UNDERLINERED   "\033[4;31m" /* Bold Red */
 
#define UNDERLINEGREEN   "\033[4;32m" /* Bold Green */
 
#define UNDERLINEYELLOW   "\033[4;33m" /* Bold Yellow */
 
#define UNDERLINEBLUE   "\033[4;34m" /* Bold Blue */
 
#define UNDERLINEMAGENTA   "\033[4;35m" /* Bold Magenta */
 
#define UNDERLINECYAN   "\033[4;36m" /* Bold Cyan */
 
#define UNDERLINEWHITE   "\033[4;37m" /* Bold White */
 
#define HIBLACK   "\033[0;90m" /* Black */
 
#define HIRED   "\033[0;91m" /* Red */
 
#define HIGREEN   "\033[0;92m" /* Green */
 
#define HIYELLOW   "\033[0;93m" /* Yellow */
 
#define HIBLUE   "\033[0;94m" /* Blue */
 
#define HIMAGENTA   "\033[0;95m" /* Magenta */
 
#define HICYAN   "\033[0;96m" /* Cyan */
 
#define HIWHITE   "\033[0;97m" /* White */
 
#define BOLDHIBLACK   "\033[1;90m" /* Black */
 
#define BOLDHIRED   "\033[1;91m" /* Red */
 
#define BOLDHIGREEN   "\033[1;92m" /* Green */
 
#define BOLDHIYELLOW   "\033[1;93m" /* Yellow */
 
#define BOLDHIBLUE   "\033[1;94m" /* Blue */
 
#define BOLDHIMAGENTA   "\033[1;95m" /* Magenta */
 
#define BOLDHICYAN   "\033[1;96m" /* Cyan */
 
#define BOLDHIWHITE   "\033[1;97m" /* White */
 
#define BACKGROUNDBLACK   "\033[40m" /* Black */
 
#define BACKGROUNDRED   "\033[41m" /* Red */
 
#define BACKGROUNDGREEN   "\033[42m" /* Green */
 
#define BACKGROUNDYELLOW   "\033[43m" /* Yellow */
 
#define BACKGROUNDBLUE   "\033[44m" /* Blue */
 
#define BACKGROUNDMAGENTA   "\033[45m" /* Magenta */
 
#define BACKGROUNDCYAN   "\033[46m" /* Cyan */
 
#define BACKGROUNDWHITE   "\033[47m" /* White */
 
#define BACKGROUNDHIBLACK   "\033[0;100m" /* Black */
 
#define BACKGROUNDHIRED   "\033[0;101m" /* Red */
 
#define BACKGROUNDHIGREEN   "\033[0;102m" /* Green */
 
#define BACKGROUNDHIYELLOW   "\033[0;103m" /* Yellow */
 
#define BACKGROUNDHIBLUE   "\033[0;104m" /* Blue */
 
#define BACKGROUNDHIMAGENTA   "\033[0;105m" /* Magenta */
 
#define BACKGROUNDHICYAN   "\033[0;106m" /* Cyan */
 
#define BACKGROUNDHIWHITE   "\033[0;107m" /* White */
 
#define MAX_NB_CHILD   500
 

Typedefs

typedef int errno_t
 

Functions

errno_t function_parameter_struct_shmdirname (char *shmdname)
 
errno_t function_parameter_getFPSname_from_CLIfunc (char *fpsname_default)
 
errno_t function_parameter_execFPScmd ()
 
errno_t function_parameter_struct_create (int NBparamMAX, const char *name)
 
long function_parameter_struct_connect (const char *name, FUNCTION_PARAMETER_STRUCT *fps, int fpsconnectmode)
 
int function_parameter_struct_disconnect (FUNCTION_PARAMETER_STRUCT *funcparamstruct)
 
int function_parameter_SetValue_int64 (char *keywordfull, long val)
 
int function_parameter_printlist (FUNCTION_PARAMETER *funcparamarray, long NBparamMAX)
 
int functionparameter_GetFileName (FUNCTION_PARAMETER_STRUCT *fps, FUNCTION_PARAMETER *fparam, char *outfname, char *tagname)
 
int functionparameter_GetParamIndex (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
long functionparameter_GetParamValue_INT64 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
int functionparameter_SetParamValue_INT64 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname, long value)
 
long * functionparameter_GetParamPtr_INT64 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
double functionparameter_GetParamValue_FLOAT64 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
int functionparameter_SetParamValue_FLOAT64 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname, double value)
 
double * functionparameter_GetParamPtr_FLOAT64 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
float functionparameter_GetParamValue_FLOAT32 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
int functionparameter_SetParamValue_FLOAT32 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname, float value)
 
float * functionparameter_GetParamPtr_FLOAT32 (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
char * functionparameter_GetParamPtr_STRING (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
int functionparameter_SetParamValue_STRING (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname, const char *stringvalue)
 
int functionparameter_GetParamValue_ONOFF (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
int functionparameter_SetParamValue_ONOFF (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname, int ONOFFvalue)
 
uint64_t * functionparameter_GetParamPtr_fpflag (FUNCTION_PARAMETER_STRUCT *fps, const char *paramname)
 
imageID functionparameter_LoadStream (FUNCTION_PARAMETER_STRUCT *fps, int pindex, int fpsconnectmode)
 
int function_parameter_add_entry (FUNCTION_PARAMETER_STRUCT *fps, const char *keywordstring, const char *descriptionstring, uint64_t type, uint64_t fpflag, void *valueptr)
 
FUNCTION_PARAMETER_STRUCT function_parameter_FPCONFsetup (const char *fpsname, uint32_t CMDmode)
 
uint16_t function_parameter_FPCONFloopstep (FUNCTION_PARAMETER_STRUCT *fps)
 
uint16_t function_parameter_FPCONFexit (FUNCTION_PARAMETER_STRUCT *fps)
 
uint16_t function_parameter_RUNexit (FUNCTION_PARAMETER_STRUCT *fps)
 
static errno_t initncurses ()
 
int functionparameter_WriteParameterToDisk (FUNCTION_PARAMETER_STRUCT *fpsentry, int pindex, char *tagname, char *commentstr)
 
int functionparameter_CheckParameter (FUNCTION_PARAMETER_STRUCT *fpsentry, int pindex)
 
int functionparameter_CheckParametersAll (FUNCTION_PARAMETER_STRUCT *fpsentry)
 
int functionparameter_ConnectExternalFPS (FUNCTION_PARAMETER_STRUCT *FPS, int pindex, FUNCTION_PARAMETER_STRUCT *FPSext)
 
errno_t functionparameter_GetTypeString (uint32_t type, char *typestring)
 
errno_t functionparameter_PrintParameterInfo (FUNCTION_PARAMETER_STRUCT *fpsentry, int pindex)
 
int functionparameter_SaveParam2disk (FUNCTION_PARAMETER_STRUCT *fpsentry, const char *paramname)
 
int functionparameter_UserInputSetParamValue (FUNCTION_PARAMETER_STRUCT *fpsentry, int pindex)
 
int functionparameter_FPSprocess_cmdline (char *FPScmdline, FPSCTRL_TASK_QUEUE *fpsctrlqueuelist, KEYWORD_TREE_NODE *keywnode, int NBkwn, FUNCTION_PARAMETER_STRUCT *fps)
 
int functionparameter_read_fpsCMD_fifo (int fpsCTRLfifofd, FPSCTRL_TASK_ENTRY *fpsctrltasklist, FPSCTRL_TASK_QUEUE *fpsctrlqueuelist)
 
static errno_t function_parameter_process_fpsCMDarray (FPSCTRL_TASK_ENTRY *fpsctrltasklist, FPSCTRL_TASK_QUEUE *fpsctrlqueuelist, KEYWORD_TREE_NODE *keywnode, int NBkwn, FUNCTION_PARAMETER_STRUCT *fps)
 
errno_t functionparameter_RUNstart (FUNCTION_PARAMETER_STRUCT *fps, int fpsindex)
 
errno_t functionparameter_RUNstop (FUNCTION_PARAMETER_STRUCT *fps, int fpsindex)
 
errno_t functionparameter_CONFstart (FUNCTION_PARAMETER_STRUCT *fps, int fpsindex)
 
errno_t functionparameter_CONFstop (FUNCTION_PARAMETER_STRUCT *fps, int fpsindex)
 
errno_t functionparameter_FPSremove (FUNCTION_PARAMETER_STRUCT *fps, int fpsindex)
 
errno_t functionparameter_outlog_file (char *keyw, char *msgstring, FILE *fpout)
 
errno_t functionparameter_outlog (char *keyw, char *msgstring)
 
errno_t functionparameter_outlog_namelink (const char *fpsname, int cmdcode)
 Establish sym link for convenience. More...
 
static errno_t functionparameter_scan_fps (uint32_t mode, char *fpsnamemask, FUNCTION_PARAMETER_STRUCT *fps, KEYWORD_TREE_NODE *keywnode, int *ptr_NBkwn, int *ptr_fpsindex, long *ptr_pindex, int verbose)
 
void functionparameter_CTRLscreen_atexit ()
 
static void print_help_entry (char *key, char *descr)
 
static void fpsCTRLscreen_print_DisplayMode_status (int fpsCTRL_DisplayMode, int NBfps)
 
static void fpsCTRLscreen_print_help ()
 
static void fpsCTRLscreen_print_nodeinfo (FUNCTION_PARAMETER_STRUCT *fps, KEYWORD_TREE_NODE *keywnode, int nodeSelected, int fpsindexSelected, int pindexSelected)
 
static void fpsCTRLscreen_level0node_summary (FUNCTION_PARAMETER_STRUCT *fps, int fpsindex)
 
static int fpsCTRLscreen_process_user_key (int ch, FUNCTION_PARAMETER_STRUCT *fps, KEYWORD_TREE_NODE *keywnode, FPSCTRL_TASK_ENTRY *fpsctrltasklist, FPSCTRL_TASK_QUEUE *fpsctrlqueuelist, FPSCTRL_GUIVARS *fpsCTRLgui)
 
errno_t functionparameter_CTRLscreen (uint32_t mode, char *fpsnamemask, char *fpsCTRLfifoname)
 

Variables

static int wrow
 
static int wcol
 

Detailed Description

Tools to help expose and control function parameters.

See also
Function Parameter Structure (FPS)

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

◆ BACKGROUNDBLACK

#define BACKGROUNDBLACK   "\033[40m" /* Black */

◆ BACKGROUNDBLUE

#define BACKGROUNDBLUE   "\033[44m" /* Blue */

◆ BACKGROUNDCYAN

#define BACKGROUNDCYAN   "\033[46m" /* Cyan */

◆ BACKGROUNDGREEN

#define BACKGROUNDGREEN   "\033[42m" /* Green */

◆ BACKGROUNDHIBLACK

#define BACKGROUNDHIBLACK   "\033[0;100m" /* Black */

◆ BACKGROUNDHIBLUE

#define BACKGROUNDHIBLUE   "\033[0;104m" /* Blue */

◆ BACKGROUNDHICYAN

#define BACKGROUNDHICYAN   "\033[0;106m" /* Cyan */

◆ BACKGROUNDHIGREEN

#define BACKGROUNDHIGREEN   "\033[0;102m" /* Green */

◆ BACKGROUNDHIMAGENTA

#define BACKGROUNDHIMAGENTA   "\033[0;105m" /* Magenta */

◆ BACKGROUNDHIRED

#define BACKGROUNDHIRED   "\033[0;101m" /* Red */

◆ BACKGROUNDHIWHITE

#define BACKGROUNDHIWHITE   "\033[0;107m" /* White */

◆ BACKGROUNDHIYELLOW

#define BACKGROUNDHIYELLOW   "\033[0;103m" /* Yellow */

◆ BACKGROUNDMAGENTA

#define BACKGROUNDMAGENTA   "\033[45m" /* Magenta */

◆ BACKGROUNDRED

#define BACKGROUNDRED   "\033[41m" /* Red */

◆ BACKGROUNDWHITE

#define BACKGROUNDWHITE   "\033[47m" /* White */

◆ BACKGROUNDYELLOW

#define BACKGROUNDYELLOW   "\033[43m" /* Yellow */

◆ BLACK

#define BLACK   "\033[0;30m" /* Black */

◆ BLINKBLACK

#define BLINKBLACK   "\033[5;30m" /* Blink Black */

◆ BLINKBLUE

#define BLINKBLUE   "\033[5;34m" /* Blink Blue */

◆ BLINKCYAN

#define BLINKCYAN   "\033[5;36m" /* Blink Cyan */

◆ BLINKGREEN

#define BLINKGREEN   "\033[5;32m" /* Blink Green */

◆ BLINKHIBLACK

#define BLINKHIBLACK   "\033[5;90m" /* Blink Black */

◆ BLINKHIBLUE

#define BLINKHIBLUE   "\033[5;94m" /* Blink Blue */

◆ BLINKHICYAN

#define BLINKHICYAN   "\033[5;96m" /* Blink Cyan */

◆ BLINKHIGREEN

#define BLINKHIGREEN   "\033[5;92m" /* Blink Green */

◆ BLINKHIMAGENTA

#define BLINKHIMAGENTA   "\033[5;95m" /* Blink Magenta */

◆ BLINKHIRED

#define BLINKHIRED   "\033[5;91m" /* Blink Red */

◆ BLINKHIWHITE

#define BLINKHIWHITE   "\033[5;97m" /* Blink White */

◆ BLINKHIYELLOW

#define BLINKHIYELLOW   "\033[5;93m" /* Blink Yellow */

◆ BLINKMAGENTA

#define BLINKMAGENTA   "\033[5;35m" /* Blink Magenta */

◆ BLINKRED

#define BLINKRED   "\033[5;31m" /* Blink Red */

◆ BLINKWHITE

#define BLINKWHITE   "\033[5;37m" /* Blink White */

◆ BLINKYELLOW

#define BLINKYELLOW   "\033[5;33m" /* Blink Yellow */

◆ BLUE

#define BLUE   "\033[0;34m" /* Blue */

◆ BOLDBLACK

#define BOLDBLACK   "\033[1;30m" /* Bold Black */

◆ BOLDBLUE

#define BOLDBLUE   "\033[1;34m" /* Bold Blue */

◆ BOLDCYAN

#define BOLDCYAN   "\033[1;36m" /* Bold Cyan */

◆ BOLDGREEN

#define BOLDGREEN   "\033[1;32m" /* Bold Green */

◆ BOLDHIBLACK

#define BOLDHIBLACK   "\033[1;90m" /* Black */

◆ BOLDHIBLUE

#define BOLDHIBLUE   "\033[1;94m" /* Blue */

◆ BOLDHICYAN

#define BOLDHICYAN   "\033[1;96m" /* Cyan */

◆ BOLDHIGREEN

#define BOLDHIGREEN   "\033[1;92m" /* Green */

◆ BOLDHIMAGENTA

#define BOLDHIMAGENTA   "\033[1;95m" /* Magenta */

◆ BOLDHIRED

#define BOLDHIRED   "\033[1;91m" /* Red */

◆ BOLDHIWHITE

#define BOLDHIWHITE   "\033[1;97m" /* White */

◆ BOLDHIYELLOW

#define BOLDHIYELLOW   "\033[1;93m" /* Yellow */

◆ BOLDMAGENTA

#define BOLDMAGENTA   "\033[1;35m" /* Bold Magenta */

◆ BOLDRED

#define BOLDRED   "\033[1;31m" /* Bold Red */

◆ BOLDWHITE

#define BOLDWHITE   "\033[1;37m" /* Bold White */

◆ BOLDYELLOW

#define BOLDYELLOW   "\033[1;33m" /* Bold Yellow */

◆ CYAN

#define CYAN   "\033[0;36m" /* Cyan */

◆ GREEN

#define GREEN   "\033[0;32m" /* Green */

◆ HIBLACK

#define HIBLACK   "\033[0;90m" /* Black */

◆ HIBLUE

#define HIBLUE   "\033[0;94m" /* Blue */

◆ HICYAN

#define HICYAN   "\033[0;96m" /* Cyan */

◆ HIGREEN

#define HIGREEN   "\033[0;92m" /* Green */

◆ HIMAGENTA

#define HIMAGENTA   "\033[0;95m" /* Magenta */

◆ HIRED

#define HIRED   "\033[0;91m" /* Red */

◆ HIWHITE

#define HIWHITE   "\033[0;97m" /* White */

◆ HIYELLOW

#define HIYELLOW   "\033[0;93m" /* Yellow */

◆ MAGENTA

#define MAGENTA   "\033[0;35m" /* Magenta */

◆ MAX_NB_CHILD

#define MAX_NB_CHILD   500

◆ MAXNBLEVELS

#define MAXNBLEVELS   20

◆ NB_FPS_MAX

#define NB_FPS_MAX   100

◆ NB_KEYWNODE_MAX

#define NB_KEYWNODE_MAX   10000

◆ RED

#define RED   "\033[0;31m" /* Red */

◆ RESET

#define RESET   "\033[0m"

◆ SHAREDSHMDIR

#define SHAREDSHMDIR   data.shmdir

◆ UNDERLINEBLACK

#define UNDERLINEBLACK   "\033[4;30m" /* Bold Black */

◆ UNDERLINEBLUE

#define UNDERLINEBLUE   "\033[4;34m" /* Bold Blue */

◆ UNDERLINECYAN

#define UNDERLINECYAN   "\033[4;36m" /* Bold Cyan */

◆ UNDERLINEGREEN

#define UNDERLINEGREEN   "\033[4;32m" /* Bold Green */

◆ UNDERLINEMAGENTA

#define UNDERLINEMAGENTA   "\033[4;35m" /* Bold Magenta */

◆ UNDERLINERED

#define UNDERLINERED   "\033[4;31m" /* Bold Red */

◆ UNDERLINEWHITE

#define UNDERLINEWHITE   "\033[4;37m" /* Bold White */

◆ UNDERLINEYELLOW

#define UNDERLINEYELLOW   "\033[4;33m" /* Bold Yellow */

◆ WHITE

#define WHITE   "\033[0;37m" /* White */

◆ YELLOW

#define YELLOW   "\033[0;33m" /* Yellow */

Typedef Documentation

◆ errno_t

typedef int errno_t

Function Documentation

◆ fpsCTRLscreen_level0node_summary()

static void fpsCTRLscreen_level0node_summary ( FUNCTION_PARAMETER_STRUCT fps,
int  fpsindex 
)
inlinestatic

◆ fpsCTRLscreen_print_DisplayMode_status()

static void fpsCTRLscreen_print_DisplayMode_status ( int  fpsCTRL_DisplayMode,
int  NBfps 
)
inlinestatic

◆ fpsCTRLscreen_print_help()

static void fpsCTRLscreen_print_help ( )
inlinestatic

◆ fpsCTRLscreen_print_nodeinfo()

static void fpsCTRLscreen_print_nodeinfo ( FUNCTION_PARAMETER_STRUCT fps,
KEYWORD_TREE_NODE keywnode,
int  nodeSelected,
int  fpsindexSelected,
int  pindexSelected 
)
inlinestatic

◆ fpsCTRLscreen_process_user_key()

static int fpsCTRLscreen_process_user_key ( int  ch,
FUNCTION_PARAMETER_STRUCT fps,
KEYWORD_TREE_NODE keywnode,
FPSCTRL_TASK_ENTRY fpsctrltasklist,
FPSCTRL_TASK_QUEUE fpsctrlqueuelist,
FPSCTRL_GUIVARS fpsCTRLgui 
)
inlinestatic

◆ 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 
)

Purpose

Add parameter to database with default settings

If entry already exists, do not modify it

◆ function_parameter_execFPScmd()

errno_t function_parameter_execFPScmd ( )

◆ function_parameter_FPCONFexit()

uint16_t function_parameter_FPCONFexit ( FUNCTION_PARAMETER_STRUCT fps)

◆ function_parameter_FPCONFloopstep()

uint16_t function_parameter_FPCONFloopstep ( FUNCTION_PARAMETER_STRUCT fps)

◆ function_parameter_FPCONFsetup()

FUNCTION_PARAMETER_STRUCT function_parameter_FPCONFsetup ( const char *  fpsname,
uint32_t  CMDmode 
)

◆ function_parameter_getFPSname_from_CLIfunc()

errno_t function_parameter_getFPSname_from_CLIfunc ( char *  fpsname_default)

Purpose

Construct FPS name and set FPSCMDCODE from command line function call

◆ function_parameter_printlist()

int function_parameter_printlist ( FUNCTION_PARAMETER funcparamarray,
long  NBparamMAX 
)

◆ function_parameter_process_fpsCMDarray()

static errno_t function_parameter_process_fpsCMDarray ( FPSCTRL_TASK_ENTRY fpsctrltasklist,
FPSCTRL_TASK_QUEUE fpsctrlqueuelist,
KEYWORD_TREE_NODE keywnode,
int  NBkwn,
FUNCTION_PARAMETER_STRUCT fps 
)
static

◆ function_parameter_RUNexit()

uint16_t function_parameter_RUNexit ( FUNCTION_PARAMETER_STRUCT fps)

◆ function_parameter_SetValue_int64()

int function_parameter_SetValue_int64 ( char *  keywordfull,
long  val 
)

◆ function_parameter_struct_connect()

long function_parameter_struct_connect ( const char *  name,
FUNCTION_PARAMETER_STRUCT fps,
int  fpsconnectmode 
)

Purpose

Connect to function parameter structure

Arguments

fpsconnectmode can take following value

FPSCONNECT_SIMPLE : simple connect, don't try load streams FPSCONNECT_CONF : connect as CONF process FPSCONNECT_RUN : connect as RUN process

◆ function_parameter_struct_create()

errno_t function_parameter_struct_create ( int  NBparamMAX,
const char *  name 
)

◆ function_parameter_struct_disconnect()

int function_parameter_struct_disconnect ( FUNCTION_PARAMETER_STRUCT funcparamstruct)

◆ function_parameter_struct_shmdirname()

errno_t function_parameter_struct_shmdirname ( char *  shmdname)

◆ functionparameter_CheckParameter()

int functionparameter_CheckParameter ( FUNCTION_PARAMETER_STRUCT fpsentry,
int  pindex 
)

◆ functionparameter_CheckParametersAll()

int functionparameter_CheckParametersAll ( FUNCTION_PARAMETER_STRUCT fpsentry)

◆ functionparameter_CONFstart()

errno_t functionparameter_CONFstart ( FUNCTION_PARAMETER_STRUCT fps,
int  fpsindex 
)

◆ functionparameter_CONFstop()

errno_t functionparameter_CONFstop ( FUNCTION_PARAMETER_STRUCT fps,
int  fpsindex 
)

◆ functionparameter_ConnectExternalFPS()

int functionparameter_ConnectExternalFPS ( FUNCTION_PARAMETER_STRUCT FPS,
int  pindex,
FUNCTION_PARAMETER_STRUCT FPSext 
)

◆ functionparameter_CTRLscreen()

errno_t functionparameter_CTRLscreen ( uint32_t  mode,
char *  fpsnamemask,
char *  fpsCTRLfifoname 
)

Purpose

Automatically build simple ASCII GUI from function parameter structure (fps) name mask

◆ functionparameter_CTRLscreen_atexit()

void functionparameter_CTRLscreen_atexit ( )

◆ functionparameter_FPSprocess_cmdline()

int functionparameter_FPSprocess_cmdline ( char *  FPScmdline,
FPSCTRL_TASK_QUEUE fpsctrlqueuelist,
KEYWORD_TREE_NODE keywnode,
int  NBkwn,
FUNCTION_PARAMETER_STRUCT fps 
)

Purpose

Process command line.

Commands

  • logsymlink : create log sym link
  • setval : set parameter value
  • getval : get value, write to output log
  • fwrval : get value, write to file or fifo
  • confupdate : update configuration
  • confwupdate : update configuration, wait for completion to proceed
  • runstart : start RUN process associated with parameter
  • runstop : stop RUN process associated with parameter
  • fpsrm : remove fps
  • queueprio : change queue priority

◆ functionparameter_FPSremove()

errno_t functionparameter_FPSremove ( FUNCTION_PARAMETER_STRUCT fps,
int  fpsindex 
)

◆ functionparameter_GetFileName()

int functionparameter_GetFileName ( FUNCTION_PARAMETER_STRUCT fps,
FUNCTION_PARAMETER fparam,
char *  outfname,
char *  tagname 
)

◆ functionparameter_GetParamIndex()

int functionparameter_GetParamIndex ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamPtr_FLOAT32()

float* functionparameter_GetParamPtr_FLOAT32 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamPtr_FLOAT64()

double* functionparameter_GetParamPtr_FLOAT64 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamPtr_fpflag()

uint64_t* functionparameter_GetParamPtr_fpflag ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamPtr_INT64()

long* functionparameter_GetParamPtr_INT64 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamPtr_STRING()

char* functionparameter_GetParamPtr_STRING ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamValue_FLOAT32()

float functionparameter_GetParamValue_FLOAT32 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamValue_FLOAT64()

double functionparameter_GetParamValue_FLOAT64 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamValue_INT64()

long functionparameter_GetParamValue_INT64 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetParamValue_ONOFF()

int functionparameter_GetParamValue_ONOFF ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname 
)

◆ functionparameter_GetTypeString()

errno_t functionparameter_GetTypeString ( uint32_t  type,
char *  typestring 
)

◆ functionparameter_LoadStream()

imageID functionparameter_LoadStream ( FUNCTION_PARAMETER_STRUCT fps,
int  pindex,
int  fpsconnectmode 
)

◆ functionparameter_outlog()

errno_t functionparameter_outlog ( char *  keyw,
char *  msgstring 
)

◆ functionparameter_outlog_file()

errno_t functionparameter_outlog_file ( char *  keyw,
char *  msgstring,
FILE *  fpout 
)

◆ functionparameter_outlog_namelink()

errno_t functionparameter_outlog_namelink ( const char *  fpsname,
int  cmdcode 
)

Establish sym link for convenience.

This is a one-time function when running FPS init.
Creates a human-readable informative sym link to outlog

◆ functionparameter_PrintParameterInfo()

errno_t functionparameter_PrintParameterInfo ( FUNCTION_PARAMETER_STRUCT fpsentry,
int  pindex 
)

◆ functionparameter_read_fpsCMD_fifo()

int functionparameter_read_fpsCMD_fifo ( int  fpsCTRLfifofd,
FPSCTRL_TASK_ENTRY fpsctrltasklist,
FPSCTRL_TASK_QUEUE fpsctrlqueuelist 
)

◆ functionparameter_RUNstart()

errno_t functionparameter_RUNstart ( FUNCTION_PARAMETER_STRUCT fps,
int  fpsindex 
)

◆ functionparameter_RUNstop()

errno_t functionparameter_RUNstop ( FUNCTION_PARAMETER_STRUCT fps,
int  fpsindex 
)

◆ functionparameter_SaveParam2disk()

int functionparameter_SaveParam2disk ( FUNCTION_PARAMETER_STRUCT fpsentry,
const char *  paramname 
)

◆ functionparameter_scan_fps()

static errno_t functionparameter_scan_fps ( uint32_t  mode,
char *  fpsnamemask,
FUNCTION_PARAMETER_STRUCT fps,
KEYWORD_TREE_NODE keywnode,
int *  ptr_NBkwn,
int *  ptr_fpsindex,
long *  ptr_pindex,
int  verbose 
)
static

◆ functionparameter_SetParamValue_FLOAT32()

int functionparameter_SetParamValue_FLOAT32 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname,
float  value 
)

◆ functionparameter_SetParamValue_FLOAT64()

int functionparameter_SetParamValue_FLOAT64 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname,
double  value 
)

◆ functionparameter_SetParamValue_INT64()

int functionparameter_SetParamValue_INT64 ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname,
long  value 
)

◆ functionparameter_SetParamValue_ONOFF()

int functionparameter_SetParamValue_ONOFF ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname,
int  ONOFFvalue 
)

◆ functionparameter_SetParamValue_STRING()

int functionparameter_SetParamValue_STRING ( FUNCTION_PARAMETER_STRUCT fps,
const char *  paramname,
const char *  stringvalue 
)

◆ functionparameter_UserInputSetParamValue()

int functionparameter_UserInputSetParamValue ( FUNCTION_PARAMETER_STRUCT fpsentry,
int  pindex 
)

PURPOSE

Enter new value for parameter

◆ functionparameter_WriteParameterToDisk()

int functionparameter_WriteParameterToDisk ( FUNCTION_PARAMETER_STRUCT fpsentry,
int  pindex,
char *  tagname,
char *  commentstr 
)

Purpose

Write parameter to disk

TAG names

One of the following:

  • "setval" Set value
  • "fpsname" Name of FPS to which parameter belongs
  • "fpsdir" FPS directory
  • "minval" Minimum value (if applicable)
  • "maxval" Maximum value (if applicable)
  • "currval" Current value (if applicable)

◆ initncurses()

static errno_t initncurses ( )
static

INITIALIZE ncurses

◆ print_help_entry()

static void print_help_entry ( char *  key,
char *  descr 
)
inlinestatic

Variable Documentation

◆ wcol

int wcol
static

◆ wrow

int wrow
static