![]() |
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 |