1 / 10

ACS Training

ACS Training. Using the Python Error System. Getting Started. At the console, type: cvs co ACS/LGPL/CommonSoftware/acscourse This gives you the source code from the slides. What’s Available in Python?. Everything available in C++ including Completion helper

Download Presentation

ACS Training

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACS Training Using the Python Error System

  2. Getting Started At the console, type: cvs co ACS/LGPL/CommonSoftware/acscourse This gives you the source code from the slides. ACS Training

  3. What’s Available in Python? Everything available in C++ including Completion helper class support, but it’s much simpler to use. ACS Training

  4. Example (XML) <?xml version="1.0" encoding="UTF-8"?> <Type xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ACSError.xsd" name="ACSErrTypeACSCourse" type="9005" _prefix="alma"> <Code name="Pointing" shortDescription="Pointing" description="Pointing in progress"/> <ErrorCode name="TargetNotFound" shortDescription="Target Not Found" description="Target Couldn't be found"/> </Type> ACS Training

  5. Example (IDL) #ifndef _ACSCOURSE_MOUNT_IDL_ #define _ACSCOURSE_MOUNT_IDL_ #include <baci.idl> /* <acscomponent.idl> */ #include <ACSErrTypeACSCourse.idl> #pragma prefix "alma" module ACSCOURSE_MOUNT { interface Mount1 : ACS::ACSComponent { /* (Pre)sets a new non-moving position for the antenna. * @param az position azimuth (degree) * @param elev position elevation (degree) */ void objfix (in double az, in double elev) raises (ACSErrTypeACSCourse::TargetNotFoundEx); }; }; #endif IDL ACS Training

  6. Example (Python) import ACSCOURSE_MOUNT__POA #--ACS Imports---------------------------------------------------------- from Acspy.Servants.ContainerServices import ContainerServices from Acspy.Servants.ComponentLifecycle import ComponentLifecycle from Acspy.Servants.ACSComponent import ACSComponent import ACSErrTypeACSCourseImpl class Mount1(ACSCOURSE_MOUNT__POA.Mount1, #CORBA stubs for IDL interface ACSComponent, #Base IDL interface ContainerServices, #Developer niceties ComponentLifecycle): #HLA stuff '''Simple component impl provided as a reference for developers.''' def __init__(self): ACSComponent.__init__(self) ContainerServices.__init__(self) return Corresponds to Error Type ACS Training

  7. Example (Python) #-------------------------------------------------------------------------- def objfix(self, az, el): '''Python implementation of IDL method.''' if el>90: self.getLogger().logInfo("objfix called with az="+str(az)+ " and el="+str(el)) else: self.getLogger().logCritical("Wrong value for el "+str(el)) raise ACSErrTypeACSCourseImpl.TargetNotFoundExImpl() Corresponds to Error Type Corresponds to ErrorCode ACS Training

  8. What methods do exception/completion helper classes generated by the ACS Error System have? As usual, look at the Pydoc! ACS Training

  9. Questions about the Python Error System? ACS Training

  10. Demo ACS Training

More Related