Skip to content
Snippets Groups Projects
Commit b61978c0 authored by mfioren's avatar mfioren
Browse files

updated get/set_dbe_component functions

parent 50c05ba2
Branches fix-issue-804
No related tags found
No related merge requests found
...@@ -122,7 +122,33 @@ module Backends { ...@@ -122,7 +122,33 @@ module Backends {
get single DBESM board firmware version info get single DBESM board firmware version info
*/ */
void get_firm(in short b_addr) raises (BackendsErrors::BackendsErrorsEx); void get_firm(in short b_addr) raises (BackendsErrors::BackendsErrorsEx);
/*
set one or more amplifiers depending on which output is requested
*/
void set_dbeamp(in string out_dbe, in string amp_val) raises (BackendsErrors::BackendsErrorsEx);
/*
get one or more amplifier values depending on which output is requested
*/
void get_dbeamp(in string out_dbe) raises (BackendsErrors::BackendsErrorsEx);
/*
// set one or more equalizers depending on which output is requested
*/
void set_dbeeq(in string out_dbe, in string eq_val) raises (BackendsErrors::BackendsErrorsEx);
/*
get one or more equalizer values depending on which output is requested
*/
void get_dbeeq(in string out_dbe) raises (BackendsErrors::BackendsErrorsEx);
/*
set one or more band-pass filters depending on which output is requested
*/
void set_dbebpf(in string out_dbe, in string bpf_val) raises (BackendsErrors::BackendsErrorsEx);
/*
get one or more band-pass filter values depending on which output is requested
*/
void get_dbebpf(in string out_dbe) raises (BackendsErrors::BackendsErrorsEx);
}; };
}; };
......
...@@ -86,10 +86,24 @@ public: ...@@ -86,10 +86,24 @@ public:
void parse_double_response(string status_str, string start, string end, double* val); //throw (BackendsErrors::BackendsErrorsEx); void parse_double_response(string status_str, string start, string end, double* val); //throw (BackendsErrors::BackendsErrorsEx);
void CCommandSocket::parse_string_response(string status_str, string start, string end, string* val); void CCommandSocket::parse_long_response(string status_str, string start, string end, long* val); //throw (BackendsErrors::BackendsErrorsEx)
void parse_string_response(string status_str, string start, string end, string* val);
string get_firm(short b_addr); string get_firm(short b_addr);
string set_dbeamp(const char * out_dbe, const char * amp_val);
string get_dbeamp(const char * out_dbe);
string set_dbeeq(const char * out_dbe, const char * eq_val);
string get_dbeeq(const char * out_dbe);
string set_dbebpf(const char * out_dbe, const char * bpf_val);
string get_dbebpf(const char * out_dbe);
protected: protected:
/** /**
* Automatically called by the framework as a result of a connection request. See super-class for more details. * Automatically called by the framework as a result of a connection request. See super-class for more details.
......
...@@ -90,7 +90,7 @@ public: ...@@ -90,7 +90,7 @@ public:
virtual void handle_addr(short * b_addr); virtual void handle_addr(short * b_addr);
virtual void set_dbeampconst char * out_dbe, const char * amp_val); //throw (BackendsErrors::BackendsErrorsEx); virtual void set_dbeamp(const char * out_dbe, const char * amp_val); //throw (BackendsErrors::BackendsErrorsEx);
virtual void get_dbeamp(const char * out_dbe); //throw (BackendsErrors::BackendsErrorsEx); virtual void get_dbeamp(const char * out_dbe); //throw (BackendsErrors::BackendsErrorsEx);
......
...@@ -146,6 +146,35 @@ string CCommandSocket::get_firm(short b_addr) //throw (BackendsErrors::BackendsE ...@@ -146,6 +146,35 @@ string CCommandSocket::get_firm(short b_addr) //throw (BackendsErrors::BackendsE
return get_firm_command(b_addr); return get_firm_command(b_addr);
} }
string CCommandSocket::set_dbeamp(const char * out_dbe, const char * amp_val) //throw (BackendsErrors::BackendsErrorsEx)
{
return set_dbeamp_command(out_dbe, amp_val);
}
string CCommandSocket::get_dbeamp(const char * out_dbe) //throw (BackendsErrors::BackendsErrorsEx)
{
return get_dbeamp_command(out_dbe);
}
string CCommandSocket::set_dbeeq(const char * out_dbe, const char * eq_val) //throw (BackendsErrors::BackendsErrorsEx)
{
return set_dbeeq_command(out_dbe, eq_val);
}
string CCommandSocket::get_dbeeq(const char * out_dbe) //throw (BackendsErrors::BackendsErrorsEx)
{
return get_dbeeq_command(out_dbe);
}
string CCommandSocket::set_dbebpf(const char * out_dbe, const char * bpf_val) //throw (BackendsErrors::BackendsErrorsEx)
{
return set_dbebpf_command(out_dbe, bpf_val);
}
string CCommandSocket::get_dbebpf(const char * out_dbe) //throw (BackendsErrors::BackendsErrorsEx)
{
return get_dbebpf_command(out_dbe);
}
void CCommandSocket::parse_longSeq_response(string status_str, string start, string end, ACS::longSeq* vals) //throw (BackendsErrors::BackendsErrorsEx) void CCommandSocket::parse_longSeq_response(string status_str, string start, string end, ACS::longSeq* vals) //throw (BackendsErrors::BackendsErrorsEx)
{ {
unsigned start_pos = status_str.find(start); unsigned start_pos = status_str.find(start);
...@@ -207,6 +236,23 @@ void CCommandSocket::parse_double_response(string status_str, string start, stri ...@@ -207,6 +236,23 @@ void CCommandSocket::parse_double_response(string status_str, string start, stri
} }
void CCommandSocket::parse_long_response(string status_str, string start, string end, long* val) //throw (BackendsErrors::BackendsErrorsEx)
{
unsigned start_pos = status_str.find(start);
unsigned end_pos = status_str.find(end);
try {
stringstream in(status_str.substr(start_pos + start.length(), end_pos - (start_pos + start.length())));
long temp;
in >> temp;
*val=temp;
}
catch (std::out_of_range outofrange) { //if the index is out of range
throw outofrange; //throw this exception
}
}
void CCommandSocket::parse_string_response(string status_str, string start, string end, string* val) //throw (BackendsErrors::BackendsErrorsEx) void CCommandSocket::parse_string_response(string status_str, string start, string end, string* val) //throw (BackendsErrors::BackendsErrorsEx)
{ {
unsigned start_pos = status_str.find(start); unsigned start_pos = status_str.find(start);
...@@ -692,6 +738,7 @@ string CCommandSocket::get_dbeeq_command(const char * out_dbe) //throw (Backends ...@@ -692,6 +738,7 @@ string CCommandSocket::get_dbeeq_command(const char * out_dbe) //throw (Backends
throw impl; throw impl;
} }
return response; return response;
}
string CCommandSocket::set_dbebpf_command(const char * out_dbe, const char * bpf_val) //throw (BackendsErrors::BackendsErrorsEx) string CCommandSocket::set_dbebpf_command(const char * out_dbe, const char * bpf_val) //throw (BackendsErrors::BackendsErrorsEx)
{ {
......
...@@ -689,7 +689,7 @@ void SRTDBESMImpl::get_cfg() ...@@ -689,7 +689,7 @@ void SRTDBESMImpl::get_cfg()
for (int j=0; j< newlines; j++) { for (int j=0; j< newlines; j++) {
string new_str; string new_str;
ACS::Time timestamp, timestamp2, timestamp3; ACS::Time timestamp, timestamp2;
double b_addr=0; double b_addr=0;
string str = "BOARD xx"; string str = "BOARD xx";
...@@ -709,22 +709,22 @@ void SRTDBESMImpl::get_cfg() ...@@ -709,22 +709,22 @@ void SRTDBESMImpl::get_cfg()
if (b_addr == m_paddr_1->getDevIO()->read(timestamp)) if (b_addr == m_paddr_1->getDevIO()->read(timestamp))
{ {
m_pcfg_1->getDevIO()->write(d,timestamp3); m_pcfg_1->getDevIO()->write(d,timestamp2);
} }
else if (b_addr == m_paddr_2->getDevIO()->read(timestamp)) else if (b_addr == m_paddr_2->getDevIO()->read(timestamp))
{ {
m_pcfg_2->getDevIO()->write(d,timestamp3); m_pcfg_2->getDevIO()->write(d,timestamp2);
} }
else if (b_addr == m_paddr_3->getDevIO()->read(timestamp)) else if (b_addr == m_paddr_3->getDevIO()->read(timestamp))
{ {
m_pcfg_3->getDevIO()->write(d,timestamp3); m_pcfg_3->getDevIO()->write(d,timestamp2);
} }
else if (b_addr == m_paddr_4->getDevIO()->read(timestamp)) else if (b_addr == m_paddr_4->getDevIO()->read(timestamp))
{ {
m_pcfg_4->getDevIO()->write(d,timestamp3); m_pcfg_4->getDevIO()->write(d,timestamp2);
} }
} }
...@@ -969,14 +969,15 @@ void SRTDBESMImpl::get_dbeamp(const char * out_dbe) ...@@ -969,14 +969,15 @@ void SRTDBESMImpl::get_dbeamp(const char * out_dbe)
} }
for (int j=0; j< newlines; j++) { for (int j=0; j< newlines; j++) {
ACS::doubleSeq new_seq; ACS::longSeq new_seq;
ACS::Time timestamp, timestamp2, timestamp3; ACS::Time timestamp, timestamp2, timestamp3;
double b_addr=0, att_ch=0, new_att_val=0; double b_addr=0, amp_ch=0;
long new_amp_val=0;
try { try {
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BOARD ", " AMP", &b_addr); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BOARD ", " AMP", &b_addr);
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "AMP ", " VALUE", &att_ch); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "AMP ", " VALUE", &amp_ch);
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "VALUE ", "\n", &new_att_val); m_commandSocket.parse_long_response(out_dbe_message.substr(v[j],v[j+1]), "VALUE ", "\n", &new_amp_val);
} }
catch (std::out_of_range) { catch (std::out_of_range) {
_EXCPT(BackendsErrors::MalformedAnswerExImpl,impl,"SRTDBESMImpl::get_dbeamp()"); _EXCPT(BackendsErrors::MalformedAnswerExImpl,impl,"SRTDBESMImpl::get_dbeamp()");
...@@ -1094,14 +1095,14 @@ void SRTDBESMImpl::get_dbeeq(const char * out_dbe) ...@@ -1094,14 +1095,14 @@ void SRTDBESMImpl::get_dbeeq(const char * out_dbe)
} }
for (int j=0; j< newlines; j++) { for (int j=0; j< newlines; j++) {
ACS::doubleSeq new_seq; ACS::longSeq new_seq;
ACS::Time timestamp, timestamp2, timestamp3; ACS::Time timestamp, timestamp2, timestamp3;
double b_addr=0, att_ch=0, new_att_val=0; double b_addr=0, eq_ch=0, new_eq_val=0;
try { try {
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BOARD ", " EQ", &b_addr); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BOARD ", " EQ", &b_addr);
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "AMP ", " VALUE", &att_ch); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "AMP ", " VALUE", &eq_ch);
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "VALUE ", "\n", &new_att_val); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "VALUE ", "\n", &new_eq_val);
} }
catch (std::out_of_range) { catch (std::out_of_range) {
_EXCPT(BackendsErrors::MalformedAnswerExImpl,impl,"SRTDBESMImpl::get_dbeeq()"); _EXCPT(BackendsErrors::MalformedAnswerExImpl,impl,"SRTDBESMImpl::get_dbeeq()");
...@@ -1220,14 +1221,14 @@ void SRTDBESMImpl::get_dbebpf(const char * out_dbe) ...@@ -1220,14 +1221,14 @@ void SRTDBESMImpl::get_dbebpf(const char * out_dbe)
} }
for (int j=0; j< newlines; j++) { for (int j=0; j< newlines; j++) {
ACS::doubleSeq new_seq; ACS::longSeq new_seq;
ACS::Time timestamp, timestamp2, timestamp3; ACS::Time timestamp, timestamp2, timestamp3;
double b_addr=0, att_ch=0, new_att_val=0; double b_addr=0, bpf_ch=0, new_bpf_val=0;
try { try {
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BOARD ", " BPF", &b_addr); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BOARD ", " BPF", &b_addr);
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BPF ", " VALUE", &att_ch); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "BPF ", " VALUE", &bpf_ch);
m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "VALUE ", "\n", &new_att_val); m_commandSocket.parse_double_response(out_dbe_message.substr(v[j],v[j+1]), "VALUE ", "\n", &new_bpf_val);
} }
catch (std::out_of_range) { catch (std::out_of_range) {
_EXCPT(BackendsErrors::MalformedAnswerExImpl,impl,"SRTDBESMImpl::get_dbebpf()"); _EXCPT(BackendsErrors::MalformedAnswerExImpl,impl,"SRTDBESMImpl::get_dbebpf()");
...@@ -1275,6 +1276,7 @@ void SRTDBESMImpl::get_dbebpf(const char * out_dbe) ...@@ -1275,6 +1276,7 @@ void SRTDBESMImpl::get_dbebpf(const char * out_dbe)
CUSTOM_LOG(LM_FULL_INFO,"SRTDBESMImpl::get_dbebpf()",(LM_INFO,c)); CUSTOM_LOG(LM_FULL_INFO,"SRTDBESMImpl::get_dbebpf()",(LM_INFO,c));
} }
GET_PROPERTY_REFERENCE(ACS::ROlong,m_paddr_1,addr_1); GET_PROPERTY_REFERENCE(ACS::ROlong,m_paddr_1,addr_1);
GET_PROPERTY_REFERENCE(ACS::ROlong,m_paddr_2,addr_2); GET_PROPERTY_REFERENCE(ACS::ROlong,m_paddr_2,addr_2);
GET_PROPERTY_REFERENCE(ACS::ROlong,m_paddr_3,addr_3); GET_PROPERTY_REFERENCE(ACS::ROlong,m_paddr_3,addr_3);
......
### ==> SRTActiveSurfaceLanServer MODULE NOT FOUND! FAILED!
### ==> SRTActiveSurfaceUSDServer MODULE NOT FOUND! FAILED!
### ==> SRTWeatherStation MODULE NOT FOUND! FAILED!
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment