Low Level Controller
if (inp (pt->pt_r_star) & CMDR_RNR)
cmd |= CMDR_RNR;
}
else
cmd = CMDR_XTF;
/* When the frame fits completely
/* into the XFIFO the XME command
/* must be given
*/
*/
*/
if (!pt->pt_tx_cnt)
cmd |= CMDR_XME;
outp (pt->pt_r_cmdr, cmd);
/* now output the command byte to
/* the CMDR register
*/
*/
/* UI frame sent while waiting for */
/* ackowledge in automode (an ID
/* check response UI frame)
/* The flag is checked by the
/* interrupt service routine when
*/
*/
*/
*/
/* handling the next XPR interrupt. */
if (inp(pt->pt_r_star2) & STAR2_WFA && pt->pt_op_mode == PT_MD_AUTO
&& frame_type == PT_FR_UI)
pt->pt_state |= UI_SENT_WHILE_WAITING_FOR_ACK;
return (ACK_DONE);
}
/***************************************************************************/
/*
/*
/*
/*
/*
/*
/*
*/
*/
*/
*/
*/
*/
*/
Function: Loop_ICC ()
Parms
: ’pei’
’on’
1
0
-> test-loop on
-> test-loop off
purpose: switch testloop at the IOM interface on/off
/***************************************************************************/
EXPORT int
Loop_ICC (pei, on)
BYTE
BOOLEAN
pei;
on;
{
PEITAB
BYTE
*pt_dch;
r_spcr;
register PEITAB
*pt;
if (!(pt = GetPeitab_BASIC (pei)))
return (ACK_NOT_SUPPORTED);
pt_dch = GetPeitab_BASIC (0);
if (on)
{
/* Loop ON
*/
*/
pt->pt_state |= PT_LOOP;
/* enable clocks in TE mode
if (pt->pt_ModulMode == PT_MM_TE)
Semiconductor Group
294