KEPCO TMA VXI-27 User Manual
Page 77

F-6
TMA VXI-27 101602
modemask = 0L;
retval = RouteSignal(adr_tst, modemask);
/* The following code enables the signal interrupts */
retval = EnableSignalInt();
/* now generate REQT signal by enabling command error event and
sending an eronous command *sr */
CopyString (rp_buff, 0, “*ese 32”, 0, 7);
ret_val1 = WSwrt(adr_tst,rp_buff,7,3,&retcount);
if(ret_val1 < 0){
FmtOut(“%s<\n ** ERR 24 ret_value from *ese 32 = %x[w4]”
,ret_val1);
FmtOut(“%s<\n returned message length= %i[b4w4]”,retcount);
TestOk = 0;
}
CopyString (rp_buff, 0, “*sre 32”, 0, 7);
ret_val1 = WSwrt(adr_tst,rp_buff,7,3,&retcount);
if(ret_val1 < 0){
FmtOut(
“%s<\n ** ERR 26 ret_value1 from *sre 32 = %x[w4]”
,ret_val1);
FmtOut(“%s<\n returned message length= %i[b4w4]”,retcount);
TestOk = 0;
}
/* now send an eronous message *sr to generate an error */
CopyString (rp_buff, 0, “*sr “, 0, 4);
ret_val1 = WSwrt(adr_tst,rp_buff,4,3,&retcount);
if(ret_val1 < 0){
FmtOut(“%s<\n ** ERROR ret_value1 from *sr = %x[w4]”
,ret_val1);
FmtOut(“%s<\n length= %i[b4w4]”,retcount);
TestOk = 0;
}
/* now whenever there is a VXI signal from the tested
logical address the signal will be enqueued on the signal
queue. The WaitForSignal() function,if successful, dequeues
the signal. We call GetVXIbusStatus to check the signals in
the signal queue. If there are signals in the signal queue,
we call SignalDeq() function to dequeue them. If the
signal queue gets full the signal interrupts as well as the
VXI interrupts which are mapped to signals are disabled. */
/* The following code waits for REQT signal */
signalmask = 0x0200L; /* REQT bit set */
timeout = 1000L; /* wait for 1 second */
retval = WaitForSignal(adr_tst, signalmask, timeout,
&retsignal, &retsignalmask);
if (retval){
FmtOut(
“%s<\n **ERR - TIMEOUT waiting for REQT on level = %i”,i);
TestOk = 0;
}
/* now generate request false signal by reading the event
status register */
CopyString (rp_buff, 0, “*esr?”, 0, 5);