void DrawVoltage() { TGraph* g = ReadVoltage(); TCanvas c1; g->Draw("AP"); c1.Modified(); c1.Update(); getchar(); }
void PRadHVChannel::queryLoop() { while(alive) { if(!(loopCount%60)) ReadVoltage(); else if(!loopCount%20) heartBeat(); ++loopCount; //this_thread::sleep_for(chrono::seconds(1)); sleep(1); } }
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; }