AdaptiveOpticsControl
|
Function prototypes for cfitsTK memory functions. More...
Go to the source code of this file.
Data Structures | |
struct | LOGSHIM_CONF |
struct | TCP_BUFFER_METADATA |
Functions | |
int_fast8_t | init_COREMOD_memory () |
1. MANAGE MEMORY AND IDENTIFIERS | |
int_fast8_t | memory_monitor (const char *termttyname) |
long | compute_nb_image () |
long | compute_nb_variable () |
long long | compute_image_memory () |
long | compute_variable_memory () |
long | image_ID (const char *name) |
long | image_ID_noaccessupdate (const char *name) |
long | variable_ID (const char *name) |
long | next_avail_image_ID () |
long | next_avail_variable_ID () |
int_fast8_t | delete_image_ID (const char *imname) |
int_fast8_t | delete_image_ID_prefix (const char *prefix) |
int_fast8_t | delete_variable_ID (const char *varname) |
long | create_variable_long_ID (const char *name, long value) |
long | create_variable_string_ID (const char *name, const char *value) |
long | create_image_ID (const char *name, long naxis, uint32_t *size, uint8_t atype, int shared, int nbkw) |
int_fast8_t | clearall () |
void * | save_fits_function (void *ptr) |
2. KEYWORDS | |
long | image_write_keyword_L (const char *IDname, const char *kname, long value, const char *comment) |
long | image_write_keyword_D (const char *IDname, const char *kname, double value, const char *comment) |
long | image_write_keyword_S (const char *IDname, const char *kname, const char *value, const char *comment) |
long | image_list_keywords (const char *IDname) |
long | image_read_keyword_D (const char *IDname, const char *kname, double *val) |
long | image_read_keyword_L (const char *IDname, const char *kname, long *val) |
3. READ SHARED MEM IMAGE AND SIZE | |
long | read_sharedmem_image_size (const char *name, const char *fname) |
long | read_sharedmem_image (const char *name) |
4. CREATE IMAGE | |
long | create_1Dimage_ID (const char *ID_name, uint32_t xsize) |
long | create_1DCimage_ID (const char *ID_name, uint32_t xsize) |
long | create_2Dimage_ID (const char *ID_name, uint32_t xsize, uint32_t ysize) |
long | create_2Dimage_ID_double (const char *ID_name, uint32_t xsize, uint32_t ysize) |
long | create_2DCimage_ID (const char *ID_name, uint32_t xsize, uint32_t ysize) |
long | create_2DCimage_ID_double (const char *ID_name, uint32_t xsize, uint32_t ysize) |
long | create_3Dimage_ID (const char *ID_name, uint32_t xsize, uint32_t ysize, uint32_t zsize) |
long | create_3Dimage_ID_double (const char *ID_name, uint32_t xsize, uint32_t ysize, uint32_t zsize) |
long | create_3DCimage_ID (const char *ID_name, uint32_t xsize, uint32_t ysize, uint32_t zsize) |
5. CREATE VARIABLE | |
long | create_variable_ID (const char *name, double value) |
6. COPY IMAGE | |
long | copy_image_ID (const char *name, const char *newname, int shared) |
long | chname_image_ID (const char *ID_name, const char *new_name) |
long | COREMOD_MEMORY_cp2shm (const char *IDname, const char *IDshmname) |
7. DISPLAY / LISTS | |
int_fast8_t | init_list_image_ID_ncurses (const char *termttyname) |
void | close_list_image_ID_ncurses (void) |
int_fast8_t | list_image_ID_ncurses () |
int_fast8_t | list_image_ID_ofp (FILE *fo) |
int_fast8_t | list_image_ID_ofp_simple (FILE *fo) |
int_fast8_t | list_image_ID () |
int_fast8_t | list_image_ID_file (const char *fname) |
int_fast8_t | list_variable_ID () |
int_fast8_t | list_variable_ID_file (const char *fname) |
8. TYPE CONVERSIONS TO AND FROM COMPLEX | |
int_fast8_t | mk_complex_from_reim (const char *re_name, const char *im_name, const char *out_name, int sharedmem) |
int_fast8_t | mk_complex_from_amph (const char *am_name, const char *ph_name, const char *out_name, int sharedmem) |
int_fast8_t | mk_reim_from_complex (const char *in_name, const char *re_name, const char *im_name, int sharedmem) |
int_fast8_t | mk_amph_from_complex (const char *in_name, const char *am_name, const char *ph_name, int sharedmem) |
int_fast8_t | mk_reim_from_amph (const char *am_name, const char *ph_name, const char *re_out_name, const char *im_out_name, int sharedmem) |
int_fast8_t | mk_amph_from_reim (const char *re_name, const char *im_name, const char *am_out_name, const char *ph_out_name, int sharedmem) |
9. VERIFY SIZE | |
int_fast8_t | check_2Dsize (const char *ID_name, uint32_t xsize, uint32_t ysize) |
int_fast8_t | check_3Dsize (const char *ID_name, uint32_t xsize, uint32_t ysize, uint32_t zsize) |
long | COREMOD_MEMORY_check_2Dsize (const char *IDname, uint32_t xsize, uint32_t ysize) |
long | COREMOD_MEMORY_check_3Dsize (const char *IDname, uint32_t xsize, uint32_t ysize, uint32_t zsize) |
10. COORDINATE CHANGE | |
int_fast8_t | rotate_cube (const char *ID_name, const char *ID_out_name, int orientation) |
11. SET IMAGE FLAGS / COUNTERS | |
long | COREMOD_MEMORY_image_set_status (const char *IDname, int status) |
long | COREMOD_MEMORY_image_set_cnt0 (const char *IDname, int cnt0) |
long | COREMOD_MEMORY_image_set_cnt1 (const char *IDname, int cnt1) |
12. MANAGE SEMAPHORES | |
long | COREMOD_MEMORY_image_set_createsem (const char *IDname, long NBsem) |
long | COREMOD_MEMORY_image_set_sempost (const char *IDname, long index) |
long | COREMOD_MEMORY_image_set_sempost_byID (long ID, long index) |
long | COREMOD_MEMORY_image_set_sempost_loop (const char *IDname, long index, long dtus) |
long | COREMOD_MEMORY_image_set_semwait (const char *IDname, long index) |
void * | waitforsemID (void *ID) |
long | COREMOD_MEMORY_image_set_semwait_OR_IDarray (long *IDarray, long NB_ID) |
Wait for multiple images semaphores [OR], only works for sem0 only. More... | |
long | COREMOD_MEMORY_image_set_semflush_IDarray (long *IDarray, long NB_ID) |
flush multiple semaphores More... | |
long | COREMOD_MEMORY_image_set_semflush (const char *IDname, long index) |
set semaphore value to 0 More... | |
13. SIMPLE OPERATIONS ON STREAMS | |
long | COREMOD_MEMORY_streamDiff (const char *IDstream0_name, const char *IDstream1_name, const char *IDstreammask_name, const char *IDstreamout_name, long semtrig) |
Difference between two streams. More... | |
long | COREMOD_MEMORY_stream_halfimDiff (const char *IDstream_name, const char *IDstreamout_name, long semtrig) |
long | COREMOD_MEMORY_streamAve (const char *IDstream_name, int NBave, int mode, const char *IDout_name) |
Averages frames in stream. More... | |
long | COREMOD_MEMORY_image_streamupdateloop (const char *IDinname, const char *IDoutname, long usperiod, long NBcubes, long period, long offsetus, const char *IDsync_name, int semtrig, int timingmode) |
takes a 3Dimage (circular buffer) and writes slices to a 2D image with time interval specified in us More... | |
long | COREMOD_MEMORY_image_streamupdateloop_semtrig (const char *IDinname, const char *IDoutname, long period, long offsetus, const char *IDsync_name, int semtrig, int timingmode) |
takes a 3Dimage (circular buffer) and writes slices to a 2D image synchronized with an image semaphore More... | |
long | COREMOD_MEMORY_streamDelay (const char *IDin_name, const char *IDout_name, long delayus, long dtus) |
long | COREMOD_MEMORY_SaveAll_snapshot (const char *dirname) |
long | COREMOD_MEMORY_SaveAll_sequ (const char *dirname, const char *IDtrig_name, long semtrig, long NBframes) |
long | COREMOD_MEMORY_image_NETWORKtransmit (const char *IDname, const char *IPaddr, int port, int mode, int RT_priority) |
long | COREMOD_MEMORY_image_NETWORKreceive (int port, int mode, int RT_priority) |
long | COREMOD_MEMORY_PixMapDecode_U (const char *inputstream_name, uint32_t xsizeim, uint32_t ysizeim, const char *NBpix_fname, const char *IDmap_name, const char *IDout_name, const char *IDout_pixslice_fname) |
14. DATA LOGGING | |
int_fast8_t | COREMOD_MEMORY_logshim_printstatus (const char *IDname) |
int_fast8_t | COREMOD_MEMORY_logshim_set_on (const char *IDname, int setv) |
int_fast8_t | COREMOD_MEMORY_logshim_set_logexit (const char *IDname, int setv) |
long | COREMOD_MEMORY_sharedMem_2Dim_log (const char *IDname, uint32_t zsize, const char *logdir, const char *IDlogdata_name) |
Function prototypes for cfitsTK memory functions.
Functions to handle images and streams
int_fast8_t check_2Dsize | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize | ||
) |
int_fast8_t check_3Dsize | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize, | ||
uint32_t | zsize | ||
) |
long chname_image_ID | ( | const char * | ID_name, |
const char * | new_name | ||
) |
int_fast8_t clearall | ( | ) |
void close_list_image_ID_ncurses | ( | void | ) |
long long compute_image_memory | ( | ) |
long compute_nb_image | ( | ) |
long compute_nb_variable | ( | ) |
long compute_variable_memory | ( | ) |
long copy_image_ID | ( | const char * | name, |
const char * | newname, | ||
int | shared | ||
) |
long COREMOD_MEMORY_check_2Dsize | ( | const char * | IDname, |
uint32_t | xsize, | ||
uint32_t | ysize | ||
) |
long COREMOD_MEMORY_check_3Dsize | ( | const char * | IDname, |
uint32_t | xsize, | ||
uint32_t | ysize, | ||
uint32_t | zsize | ||
) |
long COREMOD_MEMORY_cp2shm | ( | const char * | IDname, |
const char * | IDshmname | ||
) |
copy an image to shared memory
long COREMOD_MEMORY_image_NETWORKreceive | ( | int | port, |
int | mode, | ||
int | RT_priority | ||
) |
long COREMOD_MEMORY_image_NETWORKtransmit | ( | const char * | IDname, |
const char * | IPaddr, | ||
int | port, | ||
int | mode, | ||
int | RT_priority | ||
) |
continuously transmits 2D image through TCP link mode = 1, force counter to be used for synchronization, ignore semaphores if they exist
long COREMOD_MEMORY_image_set_cnt0 | ( | const char * | IDname, |
int | cnt0 | ||
) |
long COREMOD_MEMORY_image_set_cnt1 | ( | const char * | IDname, |
int | cnt1 | ||
) |
long COREMOD_MEMORY_image_set_createsem | ( | const char * | IDname, |
long | NBsem | ||
) |
long COREMOD_MEMORY_image_set_semflush | ( | const char * | IDname, |
long | index | ||
) |
set semaphore value to 0
long COREMOD_MEMORY_image_set_semflush_IDarray | ( | long * | IDarray, |
long | NB_ID | ||
) |
flush multiple semaphores
long COREMOD_MEMORY_image_set_sempost | ( | const char * | IDname, |
long | index | ||
) |
long COREMOD_MEMORY_image_set_sempost_byID | ( | long | ID, |
long | index | ||
) |
long COREMOD_MEMORY_image_set_sempost_loop | ( | const char * | IDname, |
long | index, | ||
long | dtus | ||
) |
long COREMOD_MEMORY_image_set_semwait | ( | const char * | IDname, |
long | index | ||
) |
long COREMOD_MEMORY_image_set_semwait_OR_IDarray | ( | long * | IDarray, |
long | NB_ID | ||
) |
Wait for multiple images semaphores [OR], only works for sem0 only.
long COREMOD_MEMORY_image_set_status | ( | const char * | IDname, |
int | status | ||
) |
long COREMOD_MEMORY_image_streamupdateloop | ( | const char * | IDinname, |
const char * | IDoutname, | ||
long | usperiod, | ||
long | NBcubes, | ||
long | period, | ||
long | offsetus, | ||
const char * | IDsync_name, | ||
int | semtrig, | ||
int | timingmode | ||
) |
takes a 3Dimage (circular buffer) and writes slices to a 2D image with time interval specified in us
If NBcubes=1, then the circular buffer named IDinname is sent to IDoutname at a frequency of 1/usperiod MHz If NBcubes>1, several circular buffers are used, named ("%S_%03ld", IDinname, cubeindex). Semaphore semtrig of image IDsync_name triggers switch between circular buffers, with a delay of offsetus. The number of consecutive sem posts required to advance to the next circular buffer is period
IDinname | Name of DM circular buffer (appended by _000, _001 etc... if NBcubes>1) |
IDoutname | Output DM channel stream |
usperiod | Interval between consecutive frames [us] |
NBcubes | Number of input DM circular buffers |
period | If NBcubes>1: number of input triggers required to advance to next input buffer |
offsetus | If NBcubes>1: time offset [us] between input trigger and input buffer switch |
IDsync_name | If NBcubes>1: Stream used for synchronization |
semtrig | If NBcubes>1: semaphore used for synchronization |
timingmode | Not used |
takes a 3Dimage (circular buffer) and writes slices to a 2D image with time interval specified in us
long COREMOD_MEMORY_image_streamupdateloop_semtrig | ( | const char * | IDinname, |
const char * | IDoutname, | ||
long | period, | ||
long | offsetus, | ||
const char * | IDsync_name, | ||
int | semtrig, | ||
int | timingmode | ||
) |
takes a 3Dimage (circular buffer) and writes slices to a 2D image synchronized with an image semaphore
[in] | IDinname | 3D circular buffer of frames to be written |
[out] | IDoutname | 2D output stream |
[in] | period | number of semaphore waits required to advance to next slice in the circular buffer |
[in] | offsetus | fixed time offset between trigger stream and output write |
[in] | IDsync_name | trigger stream |
[in] | smmtrig | semaphore index for trigger |
[in] | timingmode |
int_fast8_t COREMOD_MEMORY_logshim_printstatus | ( | const char * | IDname | ) |
int_fast8_t COREMOD_MEMORY_logshim_set_logexit | ( | const char * | IDname, |
int | setv | ||
) |
int_fast8_t COREMOD_MEMORY_logshim_set_on | ( | const char * | IDname, |
int | setv | ||
) |
long COREMOD_MEMORY_PixMapDecode_U | ( | const char * | inputstream_name, |
uint32_t | xsizeim, | ||
uint32_t | ysizeim, | ||
const char * | NBpix_fname, | ||
const char * | IDmap_name, | ||
const char * | IDout_name, | ||
const char * | IDout_pixslice_fname | ||
) |
long COREMOD_MEMORY_SaveAll_sequ | ( | const char * | dirname, |
const char * | IDtrig_name, | ||
long | semtrig, | ||
long | NBframes | ||
) |
long COREMOD_MEMORY_SaveAll_snapshot | ( | const char * | dirname | ) |
long COREMOD_MEMORY_sharedMem_2Dim_log | ( | const char * | IDname, |
uint32_t | zsize, | ||
const char * | logdir, | ||
const char * | IDlogdata_name | ||
) |
logs a shared memory stream onto disk uses semlog semaphore
uses data cube buffer to store frames if an image name logdata exists (should ideally be in shared mem), then this will be included in the timing txt file
create the 2 buffers
measure time
measure time
cases: index>zsize-1 buffer full wOK==0 && index>0
save image
long COREMOD_MEMORY_stream_halfimDiff | ( | const char * | IDstream_name, |
const char * | IDstreamout_name, | ||
long | semtrig | ||
) |
difference between two halves of stream image
long COREMOD_MEMORY_streamAve | ( | const char * | IDstream_name, |
int | NBave, | ||
int | mode, | ||
const char * | IDout_name | ||
) |
Averages frames in stream.
[in] | IDstream_name | Input stream |
[in] | NBave | Number of consecutive frames to be averaged together |
[in] | mode | 1: Perform average once, exit when completed and write output to local image 2: Run forever, write output to shared mem stream |
[out] | IDout_name | output stream name |
long COREMOD_MEMORY_streamDelay | ( | const char * | IDin_name, |
const char * | IDout_name, | ||
long | delayus, | ||
long | dtus | ||
) |
IDout_name is a time-delayed copy of IDin_name
long COREMOD_MEMORY_streamDiff | ( | const char * | IDstream0_name, |
const char * | IDstream1_name, | ||
const char * | IDstreammask_name, | ||
const char * | IDstreamout_name, | ||
long | semtrig | ||
) |
Difference between two streams.
long create_1DCimage_ID | ( | const char * | ID_name, |
uint32_t | xsize | ||
) |
long create_1Dimage_ID | ( | const char * | ID_name, |
uint32_t | xsize | ||
) |
long create_2DCimage_ID | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize | ||
) |
long create_2DCimage_ID_double | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize | ||
) |
long create_2Dimage_ID | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize | ||
) |
long create_2Dimage_ID_double | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize | ||
) |
long create_3DCimage_ID | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize, | ||
uint32_t | zsize | ||
) |
long create_3Dimage_ID | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize, | ||
uint32_t | zsize | ||
) |
long create_3Dimage_ID_double | ( | const char * | ID_name, |
uint32_t | xsize, | ||
uint32_t | ysize, | ||
uint32_t | zsize | ||
) |
long create_image_ID | ( | const char * | name, |
long | naxis, | ||
uint32_t * | size, | ||
uint8_t | atype, | ||
int | shared, | ||
int | nbkw | ||
) |
long create_variable_ID | ( | const char * | name, |
double | value | ||
) |
floating point double
long create_variable_long_ID | ( | const char * | name, |
long | value | ||
) |
long
long create_variable_string_ID | ( | const char * | name, |
const char * | value | ||
) |
string
int_fast8_t delete_image_ID | ( | const char * | imname | ) |
int_fast8_t delete_image_ID_prefix | ( | const char * | prefix | ) |
int_fast8_t delete_variable_ID | ( | const char * | varname | ) |
long image_ID | ( | const char * | name | ) |
long image_ID_noaccessupdate | ( | const char * | name | ) |
long image_list_keywords | ( | const char * | IDname | ) |
long image_read_keyword_D | ( | const char * | IDname, |
const char * | kname, | ||
double * | val | ||
) |
long image_read_keyword_L | ( | const char * | IDname, |
const char * | kname, | ||
long * | val | ||
) |
long image_write_keyword_D | ( | const char * | IDname, |
const char * | kname, | ||
double | value, | ||
const char * | comment | ||
) |
long image_write_keyword_L | ( | const char * | IDname, |
const char * | kname, | ||
long | value, | ||
const char * | comment | ||
) |
long image_write_keyword_S | ( | const char * | IDname, |
const char * | kname, | ||
const char * | value, | ||
const char * | comment | ||
) |
int_fast8_t init_COREMOD_memory | ( | ) |
int_fast8_t init_list_image_ID_ncurses | ( | const char * | termttyname | ) |
int_fast8_t list_image_ID | ( | ) |
int_fast8_t list_image_ID_file | ( | const char * | fname | ) |
int_fast8_t list_image_ID_ncurses | ( | ) |
int_fast8_t list_image_ID_ofp | ( | FILE * | fo | ) |
int_fast8_t list_image_ID_ofp_simple | ( | FILE * | fo | ) |
int_fast8_t list_variable_ID | ( | ) |
int_fast8_t list_variable_ID_file | ( | const char * | fname | ) |
int_fast8_t memory_monitor | ( | const char * | termttyname | ) |
int_fast8_t mk_amph_from_complex | ( | const char * | in_name, |
const char * | am_name, | ||
const char * | ph_name, | ||
int | sharedmem | ||
) |
int_fast8_t mk_amph_from_reim | ( | const char * | re_name, |
const char * | im_name, | ||
const char * | am_out_name, | ||
const char * | ph_out_name, | ||
int | sharedmem | ||
) |
int_fast8_t mk_complex_from_amph | ( | const char * | am_name, |
const char * | ph_name, | ||
const char * | out_name, | ||
int | sharedmem | ||
) |
int_fast8_t mk_complex_from_reim | ( | const char * | re_name, |
const char * | im_name, | ||
const char * | out_name, | ||
int | sharedmem | ||
) |
int_fast8_t mk_reim_from_amph | ( | const char * | am_name, |
const char * | ph_name, | ||
const char * | re_out_name, | ||
const char * | im_out_name, | ||
int | sharedmem | ||
) |
int_fast8_t mk_reim_from_complex | ( | const char * | in_name, |
const char * | re_name, | ||
const char * | im_name, | ||
int | sharedmem | ||
) |
long next_avail_image_ID | ( | ) |
long next_avail_variable_ID | ( | ) |
long read_sharedmem_image | ( | const char * | name | ) |
long read_sharedmem_image_size | ( | const char * | name, |
const char * | fname | ||
) |
int_fast8_t rotate_cube | ( | const char * | ID_name, |
const char * | ID_out_name, | ||
int | orientation | ||
) |
void* save_fits_function | ( | void * | ptr | ) |
long variable_ID | ( | const char * | name | ) |
void* waitforsemID | ( | void * | ID | ) |