void DrawVoltage()
{

  TGraph* g = ReadVoltage();

  TCanvas c1;
  g->Draw("AP");
  c1.Modified();
  c1.Update();
  getchar();

}
Пример #2
0
void PRadHVChannel::queryLoop()
{
    while(alive)
    {
        if(!(loopCount%60))
            ReadVoltage();
        else if(!loopCount%20)
            heartBeat();
        ++loopCount;
        //this_thread::sleep_for(chrono::seconds(1));
        sleep(1);
    }
}
Пример #3
0
dev_test_state HVS_B0307::Test(void)
{
	dev_test_state dt = dev_test_to_intermediate( Base::Test() );
    int rc=AF(afClearLAM);
	if (dt!=DEV_TEST_OK) return dt;
	if (rc&CAMAC_CC_ERRORS) return dfcamac_rc2test(rc);

	if( (dt=dfcamac_rc2test(SetVoltage(0)|AF(afOff)))!=DEV_TEST_OK ) return dt;

	bool on;
	if( (dt=dfcamac_rc2test(AF(afOn)|ReadState(&on)))!=DEV_TEST_OK ) return dt;
	if ( !on )
	{
		printf("%s: Test error: Channel 0 unable to turn on \n", Type);
		return DEV_TEST_BROKEN;
	}

	if( (dt=dfcamac_rc2test(AF(afOff)|ReadState(&on)))!=DEV_TEST_OK ) return dt;
	if ( on )
	{
		printf("%s: Test error: Channel 0 unable to turn off \n", Type);
		return DEV_TEST_BROKEN;
	}

	for(__u8 shift=0; shift<nVoltageBits; shift++)
	{
		__u16 w, r;
		w = 1<<shift;
		if( (dt=dfcamac_rc2test(AF(afWrite,&w)))!=DEV_TEST_OK )	return dt;
		if( (dt=dfcamac_rc2test(ReadVoltage(&r)))!=DEV_TEST_OK) return dt;
		if (w!=r)
		{
			printf("%s: Test error: Channel 0  W=%2d  R=%2d\n", Type, w, r);
			return DEV_TEST_BROKEN;
		}
	}
	if( (dt=dfcamac_rc2test(SetVoltage(0)|AF(afOn)))!=DEV_TEST_OK )	return dt;

	rc = AF(afCheckLAM);
	if ( rc & (CAMAC_CC_ERRORS & ~CAMAC_CC_NOT_Q) )
		return dfcamac_rc2test(rc & ~CAMAC_CC_NOT_Q);
	if ( !(rc & CAMAC_CC_NOT_Q) )
		return DEV_TEST_BROKEN;

	return DEV_TEST_OK;
}