Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="ISO-8859-1"?> <Type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="Alma/ACSError" xsi:schemaLocation="Alma/ACSError ACSError.xsd" name="SYSTEMErrSystemErr" type="900907" _prefix="acsws"> <ErrorCode name="AlreadyInAutomatic" shortDescription="Already in automatic mode" description="Trying to set automatic mode, failed. It has already been set"/> <ErrorCode name="PositionOutOfLimits" shortDescription="Position out of limits" description="Command tries to move the telescope out of limits"/> <ErrorCode name="ProposalNotYetReady" shortDescription="Proposal is not ready" description="Proposal is not ready"/> <ErrorCode name="InvalidProposalStatusTransition" shortDescription="Database: Invalid proposal status" description="Trying to set an invalid status for the proposa."/> <ErrorCode name="ImageAlreadyStored" shortDescription="Image already stored" description="Image has already been stored in the database."/> <ErrorCode name="CameraIsOff" shortDescription="camera is off" description="Trying to take exposure with camera off."/> <ErrorCode name="SchedulerAlreadyRunning" shortDescription="Scheduler is already running" description="Trying to start scheduler, but is already has been started."/> <ErrorCode name="SchedulerAlreadyStopped" shortDescription="Scheduler is already stopped" description="Trying to stop scheduler, but is already has been stopped."/> <ErrorCode name="NoProposalExecuting" shortDescription="No proposal is executing" description="Trying to retrieve an executing proposal, but no proposal is executing."/> <ErrorCode name="SystemInAutoMode" shortDescription="System is in automatic mode" description="Trying to execute a command in console while the system is in automatic mode."/> <ErrorCode name="CannotOpenDevice" shortDescription="Can't open device" description="Can't open THE device."/> </Type> |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#ifndef _CONSOLE_IDL_ #define _CONSOLE_IDL_ /******************************************************************************* * ACS Community - https://github.com/ACS-Community/ACS-Workshop * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <acscomponent.idl> #include <Types.idl> #include "SYSTEMErrSystemErr.idl" #pragma prefix "acsws" /** * @file Console.idl * SYSTEMErrSystemErr Console IDL file */ module CONSOLE_MODULE { /** @interface Console * Operator's interface to set automatic and manual modes. * Grants manual access to low level components. */ interface Console : ACS::ACSComponent { /** * Set the automatic / manual mode for the operator. Raises an exception * if the automatic mode is asked twice. * * @param mode if true then automatic mode otherwise manual mode. * @return void */ void setMode(in boolean mode) raises(SYSTEMErrSystemErr::AlreadyInAutomaticEx); /** * Get the current operator's mode. * * @return current operator's mode */ boolean getMode(); /** * Set the camera on. * * @return void */ void cameraOn() raises (SYSTEMErrSystemErr::SystemInAutoModeEx); /** * Set the camera off. * * @return void */ void cameraOff() raises (SYSTEMErrSystemErr::SystemInAutoModeEx); /** * Move telescope in synchronous mode. Raises an exception if the * requested position is out of limits. * * @coordinates az, el coordinates * @return void */ void moveTelescope(in TYPES::Position coordinates) raises(SYSTEMErrSystemErr::PositionOutOfLimitsEx, SYSTEMErrSystemErr::SystemInAutoModeEx); /** * Current telescope position. * * @return Telescope position */ TYPES::Position getTelescopePosition(); /** * Get an image from the camera (from actual position of telescope). * * @return Image from the camera */ TYPES::ImageType getCameraImage() raises(SYSTEMErrSystemErr::SystemInAutoModeEx, SYSTEMErrSystemErr::CameraIsOffEx); /* Camera settings */ /** * Set the RGB configuration of the camera * @param rgbConfig the TYPES::RGB configuration */ void setRGB(in TYPES::RGB rgbConfig) raises(SYSTEMErrSystemErr::CameraIsOffEx); /** * Set the pixel bias configuration of the camera * @param bias the pixel bias configuration */ void setPixelBias(in long bias) raises(SYSTEMErrSystemErr::CameraIsOffEx); /** * Set the reset level configuration of the camera * @param resetLevel the reset level configuration */ void setResetLevel(in long resetLevel) raises(SYSTEMErrSystemErr::CameraIsOffEx); }; }; #endif |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#ifndef _DATABASE_IDL_ #define _DATABASE_IDL_ /******************************************************************************* * ACS Community - https://github.com/ACS-Community/ACS-Workshop * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <acscomponent.idl> #include <Types.idl> #include "SYSTEMErrSystemErr.idl" #pragma prefix "acsws" /** * @file Database.idl * SYSTEMErrSystemErr Database IDL File */ module DATABASE_MODULE { /** @interface Database * Interface to get access to the UOS database */ interface DataBase : ACS::ACSComponent { /** * Stores a new Proposal. * * @param targets Target list composing this proposal. * @return Assigned proposal ID (pid). */ long storeProposal (in TYPES::TargetList targets); const long STATUS_INITIAL_PROPOSAL = 0; const long STATUS_NO_SUCH_PROPOSAL = -999; // it is not recomended to use this constant. this constant may be removed in future. /** * Get the current proposal status for the given * proposal. * * @param pid Proposal ID * @return status */ long getProposalStatus(in long pid); /** * Remove proposal. * * @param pid Proposal ID */ void removeProposal(in long pid); /** * Retuns all images for a given proposal. * Raises an exception if proposal has not been * executed yet. * * @param pid Proposal ID * @return Image list that belongs to this proposal */ TYPES::ImageList getProposalObservations(in long pid) raises(SYSTEMErrSystemErr::ProposalNotYetReadyEx); /** * Returns stored proposals which have not been executed yet. * * @return Proposals with queued status. If there are no * pending proposals returns an empty list */ TYPES::ProposalList getProposals(); /** * Set the proposal status. Raises an exception if the change is not from * queued(0) to running(1) or from running(1) to ready(2). * * @param pid Proposal ID * @param tid target ID * @return None */ void setProposalStatus(in long pid, in long status) raises(SYSTEMErrSystemErr::InvalidProposalStatusTransitionEx); /** * Stores an image for a given proposal and target. Raises an exception * if an image has already been stored for the given * tid and pid. * * @param pid Proposal ID * @param tid target ID * @return None */ void storeImage(in long pid, in long tid, in TYPES::ImageType image) raises(SYSTEMErrSystemErr::ImageAlreadyStoredEx); // TODO raise also new exception "ProposalDoesNotExist" /** * Clean all the proposals */ void clean(); }; }; #endif |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#ifndef _INSTRUMENT_IDL_ #define _INSTRUMENT_IDL_ /******************************************************************************* * ACS Community - https://github.com/ACS-Community/ACS-Workshop * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <acscomponent.idl> #include <Types.idl> #include "SYSTEMErrSystemErr.idl" #pragma prefix "acsws" /** * @file Instrument.idl * SYSTEMErrSystemErr Instrument IDL file */ module INSTRUMENT_MODULE { /********************************************************************/ /** @interface Instrument * This is the Webcam interface for the 50mm telescope. */ interface Instrument : ACS::ACSComponent { /** * Turns the Instrument camera on. * * @return None */ void cameraOn (); /** * Turns the Instrument off. * A NULL string as the target identifier indicates that no image file * should be saved. * * @todo Function should be refactored so that only one operation is performed. * * @return None */ void cameraOff (); /** * Retrieve image from the Instrument. Raises an exception if the * camera is not on. * * @return array of longs containing the image pixels */ TYPES::ImageType takeImage(in long exposureTime) raises(SYSTEMErrSystemErr::CameraIsOffEx); /* Camera settings */ /** * Set the RGB configuration of the camera * @param rgbConfig the TYPES::RGB configuration */ void setRGB(in TYPES::RGB rgbConfig) raises(SYSTEMErrSystemErr::CameraIsOffEx); /** * Set the pixel bias configuration of the camera * @param bias the pixel bias configuration */ void setPixelBias(in long bias) raises(SYSTEMErrSystemErr::CameraIsOffEx); /** * Set the reset level configuration of the camera * @param resetLevel the reset level configuration */ void setResetLevel(in long resetLevel) raises(SYSTEMErrSystemErr::CameraIsOffEx); }; }; #endif |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#ifndef _SCHEDULER_IDL_ #define _SCHEDULER_IDL_ /******************************************************************************* * ACS Community - https://github.com/ACS-Community/ACS-Workshop * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <acscomponent.idl> #include "SYSTEMErrSystemErr.idl" #pragma prefix "acsws" /** * @file Scheduler.idl * SYSTEMErrSystemErr Scheduler IDL file */ module SCHEDULER_MODULE { /** @interface Scheduler * This is a simple scheduler for the SYSTEMErrSystemErr */ interface Scheduler : ACS::ACSComponent { /** * Start the scheduler. * The scheduler will loop through all available proposals, * either until all proposals are done or until the stop method is called. * Raises an exception if called twice. * @return None */ void start () raises(SYSTEMErrSystemErr::SchedulerAlreadyRunningEx); /** * Stops the scheduler. * This will stop the scheduler from scheduling more proposals. * * It will not(!) break the ongoing observation, and will return only * when the running observation has finished. * * Raises an exception if called twice. * @return None */ void stop () raises(SYSTEMErrSystemErr::SchedulerAlreadyStoppedEx); /** * Returns the pid of the proposal currently under execution * * Raises exception if no proposal is executing. * @retun Proposal ID */ long proposalUnderExecution() raises(SYSTEMErrSystemErr::NoProposalExecutingEx); }; }; #endif |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#ifndef _TELESCOPE_IDL_ #define _TELESCOPE_IDL_ /******************************************************************************* * ACS Community - https://github.com/ACS-Community/ACS-Workshop * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <acscomponent.idl> #include <Types.idl> #include "SYSTEMErrSystemErr.idl" #pragma prefix "acsws" /** * @file Telescope.idl * SYSTEMErrSystemErr Telescope IDL file */ module TELESCOPE_MODULE { /** @interface Telescope * High level interface to communicate with the hardware * related component. */ interface Telescope : ACS::ACSComponent { /** * Moves to the given position and takes an exposure * of length exposureTime (seconds). Raises and exception * if the requested position is out of limits. * * @param coordinates target coordinates * @param exposureTime exposure time of the current observation * @return Image * */ TYPES::ImageType observe(in TYPES::Position coordinates, in long exposureTime) raises(SYSTEMErrSystemErr::PositionOutOfLimitsEx); /** * Commands the telescope to move to the given position. Raises * an exception if the requested position is out of limits. * * @param coordinates Requested telescope position * @return None */ void moveTo(in TYPES::Position coordinates) raises(SYSTEMErrSystemErr::PositionOutOfLimitsEx); /** * Get the current telescope position. * * @return current telescope position */ TYPES::Position getCurrentPosition(); }; }; #endif |
...