-
Notifications
You must be signed in to change notification settings - Fork 2
/
WFS_ShackHartmann.c
137 lines (82 loc) · 4.04 KB
/
WFS_ShackHartmann.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/**
* @file WFS_ShackHartmann.c
* @brief process Shack-Hartmann type wavefront sensors
*
* Compute centroids / slopes from raw SHWFS frames
*
* Files :
*
* - SHWFS_process.c : compute centroids/slopes
* - SHWFS_process.h : function prototypes
* - CMakeLists.txt : cmake input file for module
*/
/* ================================================================== */
/* ================================================================== */
/* MODULE INFO */
/* ================================================================== */
/* ================================================================== */
// module default short name
// all CLI calls to this module functions will be <shortname>.<funcname>
// if set to "", then calls use <funcname>
#define MODULE_SHORTNAME_DEFAULT "shwfs"
// Module short description
#define MODULE_DESCRIPTION "Shack-Hartmann type wavefront sensors"
// Application to which module belongs
#define MODULE_APPLICATION "cacao"
/* ================================================================== */
/* ================================================================== */
/* DEPENDANCIES */
/* ================================================================== */
/* ================================================================== */
#define _GNU_SOURCE
#include "CommandLineInterface/CLIcore.h"
//
// Forward declarations are required to connect CLI calls to functions
// If functions are in separate .c files, include here the corresponding .h files
//
#include "SHWFS_process.h"
/* ================================================================== */
/* ================================================================== */
/* MACROS, DEFINES */
/* ================================================================== */
/* ================================================================== */
/* ================================================================== */
/* ================================================================== */
/* GLOBAL VARIABLES */
/* ================================================================== */
/* ================================================================== */
/* ================================================================== */
/* ================================================================== */
/* INITIALIZE LIBRARY */
/* ================================================================== */
/* ================================================================== */
// Module initialization macro in CLIcore.h
// macro argument defines module name for bindings
//
INIT_MODULE_LIB(WFS_ShackHartmann)
/* ================================================================== */
/* ================================================================== */
/* MODULE CLI INITIALIZATION */
/* ================================================================== */
/* ================================================================== */
/**
* @brief Initialize module CLI
*
* CLI entries are registered: CLI call names are connected to CLI functions.\n
* Any other initialization is performed\n
*
*/
static errno_t init_module_CLI()
{
SHWFS_process_addCLIcmd();
// optional: add atexit functions here
return RETURN_SUCCESS;
}
/* ================================================================== */
/* ================================================================== */
/* FUNCTIONS */
/* ================================================================== */
/* ================================================================== */
// Functions could be added here, or (better) in separate .c files
// Each .c file should have a corresponding .h file including
// function prototypes