beautypg.com

PNI TCM User Manual

Page 71

background image

PNI Sensor Corporation

DOC#1014688 r06

TCM User Manual

– July 2013

Page 66


s wi t ch( mSt ep)

{

c ase 1:

{

/ / wai t f or l engt h by t es t o be r ecei v ed by t he s er i al obj ec t

i f ( i nLen >= 2)

{

/ / Read bl oc k wi l l r et ur n t he number of r eques t ed ( or av ai l abl e)
/ / byt es t hat ar e i n t he ser i al obj ec t s i nput buf f er .
/ / r ead t he by t e c ount

mSer i al Por t - >ReadBl oc k( mI nDat a, 2) ;


/ / byt e count i s ALWAYS t r ans mi t t ed i n bi g endi an, c opy by t e
/ / c ount t o mExpec t edLen t o nat i v e endi aness

mExpec t edLen = ( mI nDat a[ 0] << 8) |

mI nDat a[ 1] ;

/ / Ti c ks i s a t i mer f unct i on. 1 t i ck = 10ms ec .
/ / wai t up t o 1/ 2s f or t he compl et e f r ame ( mEx pect edLen) t o be
/ / r ec ei ved

mTi me = Ti ck s( ) + 50 ;

mSt ep++ ;

/ / got o t he next s t ep i n t he pr oc es s

}

br eak ;

}

c ase 2:

{

/ / wai t f or ms g compl et e or t i meout

i f ( i nLen >= mExpec t edLen - 2)

{

UI nt 16 c r c , cr cRec ei v ed;

/ / c al cul at ed and r ec ei ved cr cs .

/ / Read bl oc k wi l l r et ur n t he number of
/ / r equest ed ( or avai l abl e) byt es t hat ar e i n t he
/ / s er i al obj ect s i nput buf f er .

mSer i al Por t - >ReadBl oc k( &mI nDat a[ 2] ,

mExpec t edLen - 2) ;
/ / i n CRC ver i f i cat i on, don' t i nc l ude t he CRC i n t he r ec al c ul at i on
( - 2)

c r c = CRC( mI nDat a, mExpec t edLen - 2) ;

/ / CRC i s al so ALWAYS t r ans mi t t ed i n bi g endi an

c r cRec ei ved = ( mI nDat a[ mExpec t edLen - 2] <<

8) | mI nDat a[ mEx pect edLen - 1] ;

i f ( c r c == cr cRec ei ved)

{

/ / t he c r c i s cor r ec t , so pas s t he f r ame up f or pr oc es si ng.

i f ( mHandl er ) mHandl er -

>Handl eComm( mI nDat a[ 2] , &mI nDat a[ 3] , mEx pect edLen - kPac ket Mi nSi z e) ;

}

el se

{

/ / c r c ' s don' t mat ch so c l ear ever y t hi ng t hat i s c ur r ent l y i n t he
/ / i nput buf f er si nc e t he dat a i s not r el i abl e.

mSer i al Por t - >I nCl ear ( ) ;

}