Line data Source code
1 : /** \file stdCamera.cpp
2 : * \brief Standard camera interface
3 : *
4 : * \author Jared R. Males (jaredmales@gmail.com)
5 : *
6 : * \ingroup app_files
7 : */
8 :
9 : #include "stdCamera.hpp"
10 :
11 : namespace MagAOX
12 : {
13 : namespace app
14 : {
15 : namespace dev
16 : {
17 :
18 4 : int loadCameraConfig( cameraConfigMap & ccmap, // [out] the map in which to place the configurations found in config
19 : mx::app::appConfigurator & config // [in] the application configuration structure
20 : )
21 : {
22 4 : std::vector<std::string> sections;
23 :
24 4 : config.unusedSections(sections);
25 :
26 4 : if( sections.size() == 0 )
27 : {
28 3 : return CAMCTRL_E_NOCONFIGS;
29 : }
30 :
31 2 : for(size_t i=0; i< sections.size(); ++i)
32 : {
33 1 : bool fileset = config.isSetUnused(mx::app::iniFile::makeKey(sections[i], "configFile" ));
34 : /*bool binset = config.isSetUnused(mx::app::iniFile::makeKey(sections[i], "binning" ));
35 : bool sizeXset = config.isSetUnused(mx::app::iniFile::makeKey(sections[i], "sizeX" ));
36 : bool sizeYset = config.isSetUnused(mx::app::iniFile::makeKey(sections[i], "sizeY" ));
37 : bool maxfpsset = config.isSetUnused(mx::app::iniFile::makeKey(sections[i], "maxFPS" ));
38 : */
39 :
40 : //The configuration file tells us most things for EDT, so it's our current requirement.
41 1 : if( !fileset ) continue;
42 :
43 0 : std::string configFile;
44 0 : config.configUnused(configFile, mx::app::iniFile::makeKey(sections[i], "configFile" ));
45 :
46 0 : std::string serialCommand;
47 0 : config.configUnused(serialCommand, mx::app::iniFile::makeKey(sections[i], "serialCommand" ));
48 :
49 0 : unsigned centerX = 0;
50 0 : config.configUnused(centerX, mx::app::iniFile::makeKey(sections[i], "centerX" ));
51 :
52 0 : unsigned centerY = 0;
53 0 : config.configUnused(centerY, mx::app::iniFile::makeKey(sections[i], "centerY" ));
54 :
55 0 : unsigned sizeX = 0;
56 0 : config.configUnused(sizeX, mx::app::iniFile::makeKey(sections[i], "sizeX" ));
57 :
58 0 : unsigned sizeY = 0;
59 0 : config.configUnused(sizeY, mx::app::iniFile::makeKey(sections[i], "sizeY" ));
60 :
61 0 : unsigned binningX = 1;
62 0 : config.configUnused(binningX, mx::app::iniFile::makeKey(sections[i], "binningX" ));
63 :
64 0 : unsigned binningY = 1;
65 0 : config.configUnused(binningY, mx::app::iniFile::makeKey(sections[i], "binningY" ));
66 :
67 0 : unsigned dbinningX = 1;
68 0 : config.configUnused(dbinningX, mx::app::iniFile::makeKey(sections[i], "digital_binningX" ));
69 :
70 0 : unsigned dbinningY = 1;
71 0 : config.configUnused(dbinningY, mx::app::iniFile::makeKey(sections[i], "digital_binningY" ));
72 :
73 0 : float maxFPS = 0;
74 0 : config.configUnused(maxFPS, mx::app::iniFile::makeKey(sections[i], "maxFPS" ));
75 :
76 0 : ccmap[sections[i]] = cameraConfig({configFile, serialCommand, centerX, centerY, sizeX, sizeY,
77 0 : binningX, binningY, dbinningX, dbinningY, maxFPS});
78 0 : }
79 :
80 1 : return 0;
81 4 : }
82 :
83 :
84 :
85 : } //namespace dev
86 : } //namespace app
87 : } //namespace MagAOX
88 :
|