byte crc8( byte[] dat, int begin, int len )
		{
			int crc = 0;
			
			int idx=0;

			while( len-- != 0 )
			{
				int inbyte = dat[begin+idx];
				idx++;
				
				for(int i=8; i!=0; i--)
				{
					int mix =  (( crc ^ inbyte) & 0x01);
					crc >>=1;
					if( mix != 0 )
					{
						crc ^=0x8C;
					}
					inbyte >>=1;
				}
			}
			return((byte)crc);
		}