LCOV - code coverage report
Current view: top level - libMagAOX/app/dev - stdCamera.cpp (source / functions) Coverage Total Hit
Test: MagAOX Lines: 28.6 % 35 10
Test Date: 2026-04-15 19:34:29 Functions: 100.0 % 1 1

            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              : 
        

Generated by: LCOV version 2.0-1