Expand camerad mode command:
if ( cmd == CAMERAD_MODE ) {
ret = interface->controller_cmd(cmd, args, retstring);
}
Ability to take flag and map the flags functionality to an instrument function. An example for this would be a readout flag. Current behavior; mode <?|help|mode>. New behavior: mode <mode> <flag> <etc>. The flag is optional, the instrument developer could use it to designate a function pertaining to mode switched. This flag would map to the instrument designated function. example
mode <fullframe> -r <rxr>
The camera-interface mode handles the fullframe attribute while the instrument specific flag then maps to a function that handles parameters for the readout.
long ArchonInterface::set_camera_mode(std::string args, std::string &retstring) {
const std::string function("Camera::ArchonInterface::set_camera_mode");
// Help
if (args=="?" || args=="help") {
retstring = CAMERAD_MODE;
retstring.append( " <name>\n" );
retstring.append( " Applies camera settings associated with MODE_<name> specified in the ACF file.\n");
retstring.append( " Valid modes are: {" );
for (const auto &mode : this->controller->modemap) {
retstring.append(" "); retstring.append(mode.first);
}
retstring.append( " }\n" );
return HELP;
}
// call the work function
return( this->set_camera_mode(args) );
}
/***** Camera::ArchonInterface::set_camera_mode *****************************/
/**
* @brief set a camera "mode"
* @details This version is for internal use.
* @param[in] modeselect requested mode name
* @return ERROR|NO_ERROR
*
*/
long ArchonInterface::set_camera_mode(std::string modeselect)
Expand camerad mode command:
Ability to take flag and map the flags functionality to an instrument function. An example for this would be a readout flag. Current behavior;
mode <?|help|mode>. New behavior:mode <mode> <flag> <etc>. The flag is optional, the instrument developer could use it to designate a function pertaining to mode switched. This flag would map to the instrument designated function. examplemode <fullframe> -r <rxr>The camera-interface mode handles the fullframe attribute while the instrument specific flag then maps to a function that handles parameters for the readout.