Skip to content
Snippets Groups Projects
Commit 6f2b6120 authored by Yuelong Yu's avatar Yuelong Yu
Browse files

Merge branch '3-hv-values-127' into 'master'

Resolve "HV values > 127"

Closes #3

See merge request yuelong/libagipdctrl!4
parents 9e51a506 bb87cee0
No related branches found
No related tags found
1 merge request!4Resolve "HV values > 127"
Pipeline #11210 failed
...@@ -223,7 +223,7 @@ namespace AGIPDCtrlNS ...@@ -223,7 +223,7 @@ namespace AGIPDCtrlNS
RESPONSE rc = CheckResponse(response); RESPONSE rc = CheckResponse(response);
if(rc == SC) if(rc == SC)
high_voltage = (((int16)response[6] << 8) | ((int16)response[7])); high_voltage = (((uint16)((uint8)response[6]) << 8) | ((uint16)((uint8)response[7])));
else else
high_voltage = 0; high_voltage = 0;
...@@ -275,7 +275,7 @@ namespace AGIPDCtrlNS ...@@ -275,7 +275,7 @@ namespace AGIPDCtrlNS
RESPONSE rc = CheckResponse(response); RESPONSE rc = CheckResponse(response);
if(rc == SC) if(rc == SC)
hv_slewrate = (((int16)response[6] << 8) | ((int16)response[7])); hv_slewrate = (((uint16)((uint8)response[6]) << 8) | ((uint16)((uint8)response[7])));
else else
hv_slewrate = 0; hv_slewrate = 0;
......
...@@ -81,6 +81,39 @@ namespace TestNS ...@@ -81,6 +81,39 @@ namespace TestNS
EXPECT_EQ(ref_return,val); EXPECT_EQ(ref_return,val);
} }
TEST_F(CtrlTest,GetApplicationLogLargerThan127)
{
string val;
vector<uint8> ref_data={0x80,0x03,0x00,0x01,0x00,0x00};
vector<uint8> response={0x0,0x0,0x3,0x4,0x0,0x80}; //128bytes
vector<uint8> data_ret = {0x48,0x49};//HI
data_ret.resize(128);
string ref_return(data_ret.begin(),data_ret.end()); //128bytes
szt length = response.size();
szt data_length = data_ret.size();
EXPECT_CALL(*m_tcp,SendData(_))
.Times(1)
.WillOnce(DoAll(SaveArg<0>(&m_output),Return(0)));
EXPECT_CALL(*m_tcp,ReceiveData(_,_,_,_))
.Times(1)
.WillOnce(DoAll(SetArrayArgument<0>(response.begin(),response.end()),
SetArgReferee<3>(length),
Return(0)));
EXPECT_CALL(*m_tcp,ReceiveData(_,data_length,data_length,_))
.Times(1)
.WillOnce(DoAll(SetArrayArgument<0>(data_ret.begin(),data_ret.end()),
SetArgReferee<3>(data_length),
Return(0)));
EXPECT_EQ(SC,m_agipd->GetApplicationLog(val));
EXPECT_EQ(ref_data,m_output);
EXPECT_EQ(ref_return,val);
}
TEST_F(CtrlTest,GetCompilationLog) TEST_F(CtrlTest,GetCompilationLog)
{ {
string val; string val;
...@@ -202,6 +235,29 @@ namespace TestNS ...@@ -202,6 +235,29 @@ namespace TestNS
EXPECT_EQ(high_vol,(((int16)response[6] << 8) | ((int16)response[7]))); EXPECT_EQ(high_vol,(((int16)response[6] << 8) | ((int16)response[7])));
} }
TEST_F(CtrlTest,GetHighVoltageLargerThan127)
{
uint16 high_vol;
vector<uint8> ref_data={0x80,0x05,0x00,0x01,0x00,0x00};
vector<uint8> response={0x0,0x0,0x3,0x4,0x5,0x6,0x0,0x80};
szt length = response.size();
EXPECT_CALL(*m_tcp,SendData(_))
.Times(1)
.WillOnce(DoAll(SaveArg<0>(&m_output),Return(0)));
EXPECT_CALL(*m_tcp,ReceiveData(_,length,length,_))
.Times(1)
.WillOnce(DoAll(SetArrayArgument<0>(response.begin(),response.end()),
SetArgReferee<3>(length),
Return(0)));
EXPECT_EQ(SC,m_agipd->GetHighVoltage(high_vol));
EXPECT_EQ(ref_data,m_output);
EXPECT_EQ(high_vol,(((uint16)response[6] << 8) | ((uint16)response[7])));
}
TEST_F(CtrlTest,SetHighVoltageSlewRate) TEST_F(CtrlTest,SetHighVoltageSlewRate)
{ {
uint16 high_vol_slew_rate = 1234; uint16 high_vol_slew_rate = 1234;
...@@ -247,6 +303,29 @@ namespace TestNS ...@@ -247,6 +303,29 @@ namespace TestNS
EXPECT_EQ(high_vol_slew_rate,(((int16)response[6] << 8) | ((int16)response[7]))); EXPECT_EQ(high_vol_slew_rate,(((int16)response[6] << 8) | ((int16)response[7])));
} }
TEST_F(CtrlTest,GetHighVoltageSlewRateLargerThan127)
{
uint16 high_vol_slew_rate;
vector<uint8> ref_data={0x80,0x05,0x00,0x01,0x00,0x00};
vector<uint8> response={0x0,0x0,0x3,0x4,0x5,0x6,0x0,0x80};
szt length = response.size();
EXPECT_CALL(*m_tcp,SendData(_))
.Times(1)
.WillOnce(DoAll(SaveArg<0>(&m_output),Return(0)));
EXPECT_CALL(*m_tcp,ReceiveData(_,length,length,_))
.Times(1)
.WillOnce(DoAll(SetArrayArgument<0>(response.begin(),response.end()),
SetArgReferee<3>(length),
Return(0)));
EXPECT_EQ(SC,m_agipd->GetHighVoltageSlewRate(high_vol_slew_rate));
EXPECT_EQ(ref_data,m_output);
EXPECT_EQ(high_vol_slew_rate,(((uint16)response[6] << 8) | ((uint16)response[7])));
}
TEST_F(CtrlTest,ASICPowerUP) TEST_F(CtrlTest,ASICPowerUP)
{ {
int8 mask = 0x07; int8 mask = 0x07;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment