00001 #include "otsdaq-components/UserConfigurationDataFormats/FENIMPlusInterfaceConfiguration.h"
00002 #include "otsdaq-core/ConfigurationPluginDataFormats/DataManagerConfiguration.h"
00003 #include "otsdaq-core/Macros/ConfigurationPluginMacros.h"
00004
00005 #include <iostream>
00006
00007 using namespace ots;
00008
00009
00010 FENIMPlusInterfaceConfiguration::FENIMPlusInterfaceConfiguration(void)
00011 : FEInterfaceConfigurationBase("FENIMPlusInterfaceConfiguration")
00012 {
00014
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 }
00043
00044
00045 FENIMPlusInterfaceConfiguration::~FENIMPlusInterfaceConfiguration(void)
00046 {}
00047
00048
00049 void FENIMPlusInterfaceConfiguration::init(ConfigurationManager *configManager)
00050 {
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060 }
00061
00062
00063 bool FENIMPlusInterfaceConfiguration::getStatus(std::string interfaceID) const
00064 {
00065 bool tmpStatus;
00066 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), Status);
00067 return tmpStatus;
00068 }
00069
00070
00071 unsigned int FENIMPlusInterfaceConfiguration::getFirmwareVersion(std::string interfaceID) const
00072 {
00073 unsigned int tmpFirmwareVersion;
00074 ConfigurationBase::activeConfigurationView_->getValue(tmpFirmwareVersion, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), FirmwareVersion);
00075 return tmpFirmwareVersion;
00076 }
00077
00078
00079 std::string FENIMPlusInterfaceConfiguration::getIPAddress(std::string interfaceID) const
00080 {
00081 std::string tmpIPAddress;
00082 ConfigurationBase::activeConfigurationView_->getValue(tmpIPAddress, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), IPAddress);
00083 return tmpIPAddress;
00084 }
00085
00086
00087 unsigned int FENIMPlusInterfaceConfiguration::getPort(std::string interfaceID) const
00088 {
00089 unsigned int tmpPort;
00090 ConfigurationBase::activeConfigurationView_->getValue(tmpPort, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), Port);
00091 return tmpPort;
00092 }
00093
00094
00095 std::string FENIMPlusInterfaceConfiguration::getInterfaceIPAddress(std::string interfaceID) const
00096 {
00097 std::string tmpInterfaceIPAddress;
00098 ConfigurationBase::activeConfigurationView_->getValue(tmpInterfaceIPAddress, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), InterfaceIPAddress);
00099 return tmpInterfaceIPAddress;
00100 }
00101
00102
00103 unsigned int FENIMPlusInterfaceConfiguration::getInterfacePort(std::string interfaceID) const
00104 {
00105 unsigned int tmpInterfacePort;
00106 ConfigurationBase::activeConfigurationView_->getValue(tmpInterfacePort, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), InterfacePort);
00107 return tmpInterfacePort;
00108 }
00109
00110
00111 std::string FENIMPlusInterfaceConfiguration::getStreamingIPAddress(std::string interfaceID) const
00112 {
00113 std::string tmpStreamingIPAddress;
00114 ConfigurationBase::activeConfigurationView_->getValue(tmpStreamingIPAddress, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), StreamingIPAddress);
00115 return tmpStreamingIPAddress;
00116 }
00117
00118
00119 unsigned int FENIMPlusInterfaceConfiguration::getStreamingPort(std::string interfaceID) const
00120 {
00121 unsigned int tmpStreamingPort;
00122 ConfigurationBase::activeConfigurationView_->getValue(tmpStreamingPort, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), StreamingPort);
00123 return tmpStreamingPort;
00124 }
00125
00126
00127 std::string FENIMPlusInterfaceConfiguration::getClockSelect(std::string interfaceID) const
00128 {
00129 std::string tmpClockSelect;
00130 ConfigurationBase::activeConfigurationView_->getValue(tmpClockSelect, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ClockSelect);
00131 return tmpClockSelect;
00132 }
00133
00134
00135 double FENIMPlusInterfaceConfiguration::getClockSpeedMHz(std::string interfaceID) const
00136 {
00137 double tmpClockSpeedMHz;
00138 ConfigurationBase::activeConfigurationView_->getValue(tmpClockSpeedMHz, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ClockSpeedMHz);
00139 return tmpClockSpeedMHz;
00140 }
00141
00142
00143 bool FENIMPlusInterfaceConfiguration::getChannelStatus(std::string interfaceID, unsigned int channel) const
00144 {
00145 bool tmpStatus;
00146 switch(channel)
00147 {
00148 case 0:
00149 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ChannelStatus0);
00150 break;
00151 case 1:
00152 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ChannelStatus1);
00153 break;
00154 case 2:
00155 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ChannelStatus2);
00156 break;
00157 case 3:
00158 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ChannelStatus3);
00159 break;
00160 case 4:
00161 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ChannelStatus4);
00162 break;
00163 case 5:
00164 ConfigurationBase::activeConfigurationView_->getValue(tmpStatus, ConfigurationBase::activeConfigurationView_->findRow(InterfaceID,interfaceID), ChannelStatus5);
00165 break;
00166 default:
00167 __SS____ << "Configuration Error:\t" << "OtsUDPHardware FER Channel " << std::dec << channel << " does not exist" << std::endl;
00168 __COUT_ERR__ << "\n" << ss.str();
00169 __SS_THROW__;
00170 }
00171 return tmpStatus;
00172 }
00173
00174 DEFINE_OTS_CONFIGURATION(FENIMPlusInterfaceConfiguration)