![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
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"
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 |
Variables | |
| static int | wrow |
| static int | wcol |
Tools to help expose and control function parameters.
| #define _GNU_SOURCE |
| #define BACKGROUNDBLACK "\033[40m" /* Black */ |
| #define BACKGROUNDBLUE "\033[44m" /* Blue */ |
| #define BACKGROUNDCYAN "\033[46m" /* Cyan */ |
| #define BACKGROUNDGREEN "\033[42m" /* Green */ |
| #define BACKGROUNDHIBLACK "\033[0;100m" /* Black */ |
| #define BACKGROUNDHIBLUE "\033[0;104m" /* Blue */ |
| #define BACKGROUNDHICYAN "\033[0;106m" /* Cyan */ |
| #define BACKGROUNDHIGREEN "\033[0;102m" /* Green */ |
| #define BACKGROUNDHIMAGENTA "\033[0;105m" /* Magenta */ |
| #define BACKGROUNDHIRED "\033[0;101m" /* Red */ |
| #define BACKGROUNDHIWHITE "\033[0;107m" /* White */ |
| #define BACKGROUNDHIYELLOW "\033[0;103m" /* Yellow */ |
| #define BACKGROUNDMAGENTA "\033[45m" /* Magenta */ |
| #define BACKGROUNDRED "\033[41m" /* Red */ |
| #define BACKGROUNDWHITE "\033[47m" /* White */ |
| #define BACKGROUNDYELLOW "\033[43m" /* Yellow */ |
| #define BLACK "\033[0;30m" /* Black */ |
| #define BLINKBLACK "\033[5;30m" /* Blink Black */ |
| #define BLINKBLUE "\033[5;34m" /* Blink Blue */ |
| #define BLINKCYAN "\033[5;36m" /* Blink Cyan */ |
| #define BLINKGREEN "\033[5;32m" /* Blink Green */ |
| #define BLINKHIBLACK "\033[5;90m" /* Blink Black */ |
| #define BLINKHIBLUE "\033[5;94m" /* Blink Blue */ |
| #define BLINKHICYAN "\033[5;96m" /* Blink Cyan */ |
| #define BLINKHIGREEN "\033[5;92m" /* Blink Green */ |
| #define BLINKHIMAGENTA "\033[5;95m" /* Blink Magenta */ |
| #define BLINKHIRED "\033[5;91m" /* Blink Red */ |
| #define BLINKHIWHITE "\033[5;97m" /* Blink White */ |
| #define BLINKHIYELLOW "\033[5;93m" /* Blink Yellow */ |
| #define BLINKMAGENTA "\033[5;35m" /* Blink Magenta */ |
| #define BLINKRED "\033[5;31m" /* Blink Red */ |
| #define BLINKWHITE "\033[5;37m" /* Blink White */ |
| #define BLINKYELLOW "\033[5;33m" /* Blink Yellow */ |
| #define BLUE "\033[0;34m" /* Blue */ |
| #define BOLDBLACK "\033[1;30m" /* Bold Black */ |
| #define BOLDBLUE "\033[1;34m" /* Bold Blue */ |
| #define BOLDCYAN "\033[1;36m" /* Bold Cyan */ |
| #define BOLDGREEN "\033[1;32m" /* Bold Green */ |
| #define BOLDHIBLACK "\033[1;90m" /* Black */ |
| #define BOLDHIBLUE "\033[1;94m" /* Blue */ |
| #define BOLDHICYAN "\033[1;96m" /* Cyan */ |
| #define BOLDHIGREEN "\033[1;92m" /* Green */ |
| #define BOLDHIMAGENTA "\033[1;95m" /* Magenta */ |
| #define BOLDHIRED "\033[1;91m" /* Red */ |
| #define BOLDHIWHITE "\033[1;97m" /* White */ |
| #define BOLDHIYELLOW "\033[1;93m" /* Yellow */ |
| #define BOLDMAGENTA "\033[1;35m" /* Bold Magenta */ |
| #define BOLDRED "\033[1;31m" /* Bold Red */ |
| #define BOLDWHITE "\033[1;37m" /* Bold White */ |
| #define BOLDYELLOW "\033[1;33m" /* Bold Yellow */ |
| #define CYAN "\033[0;36m" /* Cyan */ |
| #define GREEN "\033[0;32m" /* Green */ |
| #define HIBLACK "\033[0;90m" /* Black */ |
| #define HIBLUE "\033[0;94m" /* Blue */ |
| #define HICYAN "\033[0;96m" /* Cyan */ |
| #define HIGREEN "\033[0;92m" /* Green */ |
| #define HIMAGENTA "\033[0;95m" /* Magenta */ |
| #define HIRED "\033[0;91m" /* Red */ |
| #define HIWHITE "\033[0;97m" /* White */ |
| #define HIYELLOW "\033[0;93m" /* Yellow */ |
| #define MAGENTA "\033[0;35m" /* Magenta */ |
| #define MAX_NB_CHILD 500 |
| #define MAXNBLEVELS 20 |
| #define NB_FPS_MAX 100 |
| #define NB_KEYWNODE_MAX 10000 |
| #define RED "\033[0;31m" /* Red */ |
| #define RESET "\033[0m" |
| #define SHAREDSHMDIR data.shmdir |
| #define UNDERLINEBLACK "\033[4;30m" /* Bold Black */ |
| #define UNDERLINEBLUE "\033[4;34m" /* Bold Blue */ |
| #define UNDERLINECYAN "\033[4;36m" /* Bold Cyan */ |
| #define UNDERLINEGREEN "\033[4;32m" /* Bold Green */ |
| #define UNDERLINEMAGENTA "\033[4;35m" /* Bold Magenta */ |
| #define UNDERLINERED "\033[4;31m" /* Bold Red */ |
| #define UNDERLINEWHITE "\033[4;37m" /* Bold White */ |
| #define UNDERLINEYELLOW "\033[4;33m" /* Bold Yellow */ |
| #define WHITE "\033[0;37m" /* White */ |
| #define YELLOW "\033[0;33m" /* Yellow */ |
| typedef int errno_t |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| 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
If entry already exists, do not modify it
| errno_t function_parameter_execFPScmd | ( | ) |
| uint16_t function_parameter_FPCONFexit | ( | FUNCTION_PARAMETER_STRUCT * | fps | ) |
| uint16_t function_parameter_FPCONFloopstep | ( | FUNCTION_PARAMETER_STRUCT * | fps | ) |
| FUNCTION_PARAMETER_STRUCT function_parameter_FPCONFsetup | ( | const char * | fpsname, |
| uint32_t | CMDmode | ||
| ) |
| errno_t function_parameter_getFPSname_from_CLIfunc | ( | char * | fpsname_default | ) |
Construct FPS name and set FPSCMDCODE from command line function call
| int function_parameter_printlist | ( | FUNCTION_PARAMETER * | funcparamarray, |
| long | NBparamMAX | ||
| ) |
|
static |
| uint16_t function_parameter_RUNexit | ( | FUNCTION_PARAMETER_STRUCT * | fps | ) |
| int function_parameter_SetValue_int64 | ( | char * | keywordfull, |
| long | val | ||
| ) |
| long function_parameter_struct_connect | ( | const char * | name, |
| FUNCTION_PARAMETER_STRUCT * | fps, | ||
| int | fpsconnectmode | ||
| ) |
Connect to function parameter structure
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
| errno_t function_parameter_struct_create | ( | int | NBparamMAX, |
| const char * | name | ||
| ) |
| int function_parameter_struct_disconnect | ( | FUNCTION_PARAMETER_STRUCT * | funcparamstruct | ) |
| errno_t function_parameter_struct_shmdirname | ( | char * | shmdname | ) |
| int functionparameter_CheckParameter | ( | FUNCTION_PARAMETER_STRUCT * | fpsentry, |
| int | pindex | ||
| ) |
| int functionparameter_CheckParametersAll | ( | FUNCTION_PARAMETER_STRUCT * | fpsentry | ) |
| errno_t functionparameter_CONFstart | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| int | fpsindex | ||
| ) |
| errno_t functionparameter_CONFstop | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| int | fpsindex | ||
| ) |
| int functionparameter_ConnectExternalFPS | ( | FUNCTION_PARAMETER_STRUCT * | FPS, |
| int | pindex, | ||
| FUNCTION_PARAMETER_STRUCT * | FPSext | ||
| ) |
| errno_t functionparameter_CTRLscreen | ( | uint32_t | mode, |
| char * | fpsnamemask, | ||
| char * | fpsCTRLfifoname | ||
| ) |
Automatically build simple ASCII GUI from function parameter structure (fps) name mask
| void functionparameter_CTRLscreen_atexit | ( | ) |
| int functionparameter_FPSprocess_cmdline | ( | char * | FPScmdline, |
| FPSCTRL_TASK_QUEUE * | fpsctrlqueuelist, | ||
| KEYWORD_TREE_NODE * | keywnode, | ||
| int | NBkwn, | ||
| FUNCTION_PARAMETER_STRUCT * | fps | ||
| ) |
Process command line.
| errno_t functionparameter_FPSremove | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| int | fpsindex | ||
| ) |
| int functionparameter_GetFileName | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| FUNCTION_PARAMETER * | fparam, | ||
| char * | outfname, | ||
| char * | tagname | ||
| ) |
| int functionparameter_GetParamIndex | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| float* functionparameter_GetParamPtr_FLOAT32 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| double* functionparameter_GetParamPtr_FLOAT64 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| uint64_t* functionparameter_GetParamPtr_fpflag | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| long* functionparameter_GetParamPtr_INT64 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| char* functionparameter_GetParamPtr_STRING | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| float functionparameter_GetParamValue_FLOAT32 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| double functionparameter_GetParamValue_FLOAT64 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| long functionparameter_GetParamValue_INT64 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| int functionparameter_GetParamValue_ONOFF | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname | ||
| ) |
| errno_t functionparameter_GetTypeString | ( | uint32_t | type, |
| char * | typestring | ||
| ) |
| imageID functionparameter_LoadStream | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| int | pindex, | ||
| int | fpsconnectmode | ||
| ) |
| errno_t functionparameter_outlog | ( | char * | keyw, |
| char * | msgstring | ||
| ) |
| errno_t functionparameter_outlog_file | ( | char * | keyw, |
| char * | msgstring, | ||
| FILE * | fpout | ||
| ) |
| 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
| errno_t functionparameter_PrintParameterInfo | ( | FUNCTION_PARAMETER_STRUCT * | fpsentry, |
| int | pindex | ||
| ) |
| int functionparameter_read_fpsCMD_fifo | ( | int | fpsCTRLfifofd, |
| FPSCTRL_TASK_ENTRY * | fpsctrltasklist, | ||
| FPSCTRL_TASK_QUEUE * | fpsctrlqueuelist | ||
| ) |
| errno_t functionparameter_RUNstart | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| int | fpsindex | ||
| ) |
| errno_t functionparameter_RUNstop | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| int | fpsindex | ||
| ) |
| int functionparameter_SaveParam2disk | ( | FUNCTION_PARAMETER_STRUCT * | fpsentry, |
| const char * | paramname | ||
| ) |
|
static |
| int functionparameter_SetParamValue_FLOAT32 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname, | ||
| float | value | ||
| ) |
| int functionparameter_SetParamValue_FLOAT64 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname, | ||
| double | value | ||
| ) |
| int functionparameter_SetParamValue_INT64 | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname, | ||
| long | value | ||
| ) |
| int functionparameter_SetParamValue_ONOFF | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname, | ||
| int | ONOFFvalue | ||
| ) |
| int functionparameter_SetParamValue_STRING | ( | FUNCTION_PARAMETER_STRUCT * | fps, |
| const char * | paramname, | ||
| const char * | stringvalue | ||
| ) |
| int functionparameter_UserInputSetParamValue | ( | FUNCTION_PARAMETER_STRUCT * | fpsentry, |
| int | pindex | ||
| ) |
Enter new value for parameter
| int functionparameter_WriteParameterToDisk | ( | FUNCTION_PARAMETER_STRUCT * | fpsentry, |
| int | pindex, | ||
| char * | tagname, | ||
| char * | commentstr | ||
| ) |
Write parameter to disk
One of the following:
|
static |
INITIALIZE ncurses
|
inlinestatic |
|
static |
|
static |