
METERING AND M BUS
}
else if(Recp[0] == 0x68)
{
if(index
>
5)
{
int
psz
=
Recp[1];
if(index
>=
psz
+
6)
{
index = 0;
if(Recp[psz
+
5]
==
0x16)
{
len = psz + 6;
break;
}
}
}
}
else
{
index = 0;
}
}
if( cnt++ < GETLOOPCNT)
{
cnt = 0; /*check call status every 100 loops*/
st = chsts(1) & 0x02;
}
}
if(st == 0)
{
len = 0;
}
return len;
}
DoMBUS()
{
int
Sz;
int Cnt = 0;
/*start transmission */
/* get whole MBUS packet from Data Channel */
Sz = GetMBUSData(1);
/* send bytes over uart */
if(mxs(Recp,Sz) == Sz)
{
prtf(“\n Sent data to Max3100”);
}
Cnt = 0;
while(gtf(MAXDATA) == 0 && Cnt < REC10MSCNT)
{
dlyms(2);
/*wait 100ms for data*/
prtf(“\n wt resp!”);
Cnt++;
}
if( Cnt < 10)
{
/* receive whole MBUS packet from Max3100 */
Sz = GetMBUSData(0);
/* send bytes back to data channel */
chw(1,Recp,Sz);
}
else
{
/*no
response*/
}
}
LZT 123 8014 R1A
9