00001 /* 00002 This software is Copyright by the Board of Trustees of Michigan 00003 State University (c) Copyright 2005. 00004 00005 You may use this software under the terms of the GNU public license 00006 (GPL). The terms of this license are described at: 00007 00008 http://www.gnu.org/licenses/gpl.txt 00009 00010 Author: 00011 Ron Fox 00012 NSCL 00013 Michigan State University 00014 East Lansing, MI 48824-1321 00015 */ 00016 00017 static const char* Copyright = "(C) Copyright Michigan State University 2002, All rights reserved"; 00019 00020 #include <config.h> 00021 #include "CVMEStatusModule.h" 00022 #ifdef HAVE_STD_NAMESPACE 00023 using namespace std; 00024 #endif 00025 00026 static const unsigned int GoingBusy=0; 00027 static const unsigned int GoingFree=1; 00028 00034 CVMEStatusModule::CVMEStatusModule (UInt_t base, int nCrate) : 00035 CStatusModule(), 00036 m_IOModule(base, nCrate) 00037 { 00038 } 00039 00047 CVMEStatusModule::CVMEStatusModule(const CCaenIO& module) : 00048 CStatusModule(), 00049 m_IOModule(module) 00050 {} 00051 00056 CVMEStatusModule::CVMEStatusModule(const CVMEStatusModule& rhs) : 00057 CStatusModule(), 00058 m_IOModule(rhs.m_IOModule) 00059 { 00060 00061 } 00062 00067 CVMEStatusModule& CVMEStatusModule::operator= (const CVMEStatusModule& aCVMEStatusModule) 00068 { 00069 if (this != &aCVMEStatusModule) { 00070 CStatusModule::operator= (aCVMEStatusModule); 00071 m_IOModule = aCVMEStatusModule.m_IOModule; 00072 } 00073 return *this; 00074 } 00075 00080 int 00081 CVMEStatusModule::operator==(const CVMEStatusModule& rhs) 00082 { 00083 return ((m_IOModule == rhs.m_IOModule) && 00084 CStatusModule::operator==(rhs)); 00085 } 00086 00087 // Functions for class CVMEStatusModule 00088 00093 void 00094 CVMEStatusModule::GoBusy() 00095 { 00096 m_IOModule.PulseOutput(GoingBusy); 00097 } 00098 00103 void 00104 CVMEStatusModule::GoClear() 00105 { 00106 m_IOModule.PulseOutput(GoingFree); 00107 } 00112 void 00113 CVMEStatusModule::ModuleClear() 00114 { 00115 m_IOModule.PulseOutput(3); 00116 00117 }