Index: yc_msr/libyc_msr.a
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: yc_msr/libyc_msr.a
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: yc_msr/yc_msr.c
===================================================================
--- /YC3121_SDK/fw/sdk/yc_msr/yc_msr.c	(revision 602)
+++ /YC3121_SDK/fw/sdk/yc_msr/yc_msr.c	(working copy)
@@ -19,8 +19,8 @@
 unsigned char T2data_buf[MAX_TRACK_RAW_DATA_SZIE] ={0};
 unsigned char T3data_buf[MAX_TRACK_RAW_DATA_SZIE] ={0};
 
-static swiping_direction SwipDirectionConfig =SD_BIDIRECTION;  //ÓÃ»§ÅäÖÃË¢¿¨·½Ïò
-static swiping_direction SwipDirection =SD_FORWARD_DIRECTION;  //Êµ¼ÊË¢¿¨·½Ïò
+static swiping_direction SwipDirectionConfig =SD_BIDIRECTION;  //ï¿½Ã»ï¿½ï¿½ï¿½ï¿½ï¿½Ë¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
+static swiping_direction SwipDirection =SD_FORWARD_DIRECTION;  //Êµï¿½ï¿½Ë¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 
 static uint8_t  TrackDataHead[3] = {0x45,0x0B,0x0B};//1,0,0,0,1,0,1   ,0,1,0,1,1     0,1,0,1,1
 static uint8_t  TrackDataEnd[3]  = {0x1F,0x1F,0x1F};//0,0,1,1,1,1,1    1,1,1,1,1      1,1,1,1,1
@@ -78,8 +78,8 @@
 }MSR_DataStruct;
  MSR_DataStruct MsrData;
 
-#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)//a:bufindex,b:bitindex£» bufindexÊÇµ±Ç°¼ìË÷µÄ×Ö½ÚÊý£¬bitindexÊÇÔÚµ±Ç°×Ö½ÚµÄÓÐÐ§Î»
-#define indexdec(a,b) ((b)>0)?((b)--):((a)--, (b)=4)//·´ÏòË¢¿¨µÄË÷ÒýÒÆ¶¯
+#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)//a:bufindex,b:bitindexï¿½ï¿½ bufindexï¿½Çµï¿½Ç°ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö½ï¿½ï¿½ï¿½ï¿½ï¿½bitindexï¿½ï¿½ï¿½Úµï¿½Ç°ï¿½Ö½Úµï¿½ï¿½ï¿½Ð§Î»
+#define indexdec(a,b) ((b)>0)?((b)--):((a)--, (b)=4)//ï¿½ï¿½ï¿½ï¿½Ë¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Æ¶ï¿½
 
 static uint8_t  get_data_bit(uint8_t data, int bitindex)
 {
@@ -101,7 +101,7 @@
 	switch(direction)
 	{
 		case SD_FORWARD_DIRECTION:
-			while( bitnum < CodingBits)     //ÔÚ°üÍ·µÄ³¤¶ÈÄÚ¶ÁÈ¡¶ÔÓ¦Î»µÄÊý¾Ý
+			while( bitnum < CodingBits)     //ï¿½Ú°ï¿½Í·ï¿½Ä³ï¿½ï¿½ï¿½ï¿½Ú¶ï¿½È¡ï¿½ï¿½Ó¦Î»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 			{
 				if( 1 == get_data_bit(InputBuf[bufindex], bitindex)  )
 				getchar |=  (1<<bitnum);
@@ -185,11 +185,11 @@
 	uint8_t LRCData=0x00;
 	for (int i = 0; i < len-1; i++)
   	{
-  		if(CodingBits==5)	data[i]&=0x0F;//ÆæÅ¼Ð£ÑéÎ»²»²ÎÓëLRCÐ£Ñé
+  		if(CodingBits==5)	data[i]&=0x0F;//ï¿½ï¿½Å¼Ð£ï¿½ï¿½Î»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½LRCÐ£ï¿½ï¿½
 		else	data[i]&=0x3F;
 
   		LRCData ^=  data[i];
-  		if(CodingBits==5)	data[i]+=0x30;//±àÂë×ª»»
+  		if(CodingBits==5)	data[i]+=0x30;//ï¿½ï¿½ï¿½ï¿½×ªï¿½ï¿½
 		else	data[i]+=0x20;
  	 }
  	 if(CodingBits==5)	data[len-1]&=0x0F;
@@ -238,7 +238,7 @@
 		CodingBits: one data size
 		direction: swipcard direction
 		track: the track you select ,it will equal to TRACK_SELECT_1,TRACK_SELECT_2 or TRACK_SELECT_3
-		OutputBuf£ºdecoding data
+		OutputBufï¿½ï¿½decoding data
 		Outlen: decoding data length 
 
 * @retval 
@@ -257,7 +257,7 @@
 	{
 		return TRACK_NO_DATA;          
 	}
-	int TempDirection=SD_FORWARD_DIRECTION, HeadIndex=0;//Ä¬ÈÏ°´ÕÕÕýÏò½âÂë£¬
+	int TempDirection=SD_FORWARD_DIRECTION, HeadIndex=0;//Ä¬ï¿½Ï°ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ë£¬
 	int bufindex = 0;
 	int bitindex = 0;
 	uint8_t tempdata = 0;
@@ -276,7 +276,7 @@
 	#endif
 	
 	
-//ÕýÏòÕÒµ½ÁËÍ· ¾ÍÏÈÕý½â
+//ï¿½ï¿½ï¿½ï¿½ï¿½Òµï¿½ï¿½ï¿½Í· ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 
 	SwipDirection=SD_FORWARD_DIRECTION;
 		
@@ -295,13 +295,13 @@
 			{	
 					if(get_data_bit( InputBuf[bufindex], bitindex))
 					{
-						tempdata|= 1<<getbinarynum;    //×îÖÕ»ñµÃ5¸öbitµÄÊý×ÖÖµ£¬ÓÃÓÚÆæÅ¼Ð£Ñé
+						tempdata|= 1<<getbinarynum;    //ï¿½ï¿½ï¿½Õ»ï¿½ï¿½5ï¿½ï¿½bitï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Öµï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Å¼Ð£ï¿½ï¿½
 					}
 					getbinarynum++;
-					indexadd(bufindex,bitindex);	//#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)bufindexÊÇµ±Ç°¼ìË÷µÄ×Ö½ÚÊý£¬bitindexÊÇÔÚµ±Ç°×Ö½ÚµÄÓÐÐ§Î»
+					indexadd(bufindex,bitindex);	//#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)bufindexï¿½Çµï¿½Ç°ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö½ï¿½ï¿½ï¿½ï¿½ï¿½bitindexï¿½ï¿½ï¿½Úµï¿½Ç°ï¿½Ö½Úµï¿½ï¿½ï¿½Ð§Î»
 			}
 
-			if(!MSR_OddEvenCheck(tempdata,CodingBits))                   //ÆæÐ£Ñé£¬Èç¹û´íÎóÔò½øÈëÖ´ÐÐ
+			if(!MSR_OddEvenCheck(tempdata,CodingBits))                   //ï¿½ï¿½Ð£ï¿½é£¬ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö´ï¿½ï¿½
 			{
 				#ifdef MSR_DEBUG
 				MyPrintf("Forward direction Odd Even Check error bufindex:%d  bitindex %d data:%02X\n",bufindex,bitindex,tempdata);
@@ -310,7 +310,7 @@
 				rtnvalue = PARITY_ERR;
 				break;
 			}
-			OutputBuf[(*OutLen)++] = tempdata;     //ÆæÐ£ÑéÍ¨¹ý
+			OutputBuf[(*OutLen)++] = tempdata;     //ï¿½ï¿½Ð£ï¿½ï¿½Í¨ï¿½ï¿½
 
 			if(*(OutLen) >MAX_TRACK_DATA_SIZE)
 			{
@@ -323,7 +323,7 @@
 			}
 			else
 			{
-				if(OutputBuf[(*OutLen)-1] == end)//ÕÒµ½Í£Ö¹Î»°
+				if(OutputBuf[(*OutLen)-1] == end)//ï¿½Òµï¿½Í£Ö¹Î»ï¿½
 				{
 					tempdata = 0;
 					getbinarynum = 0;
@@ -351,7 +351,7 @@
 					}
 					if(MSR_LRCCheck(OutputBuf, ((*OutLen)+1), CodingBits))
 					{
-						OutputBuf[*OutLen] = 0x00;//ÌÞ³ýLRCÐ£ÑéÎ»
+						OutputBuf[*OutLen] = 0x00;//ï¿½Þ³ï¿½LRCÐ£ï¿½ï¿½Î»
 						if((TempDirection==SwipDirectionConfig) ||(SwipDirectionConfig==SD_BIDIRECTION))
 						{
 							return MSR_SUCCESS;
@@ -380,7 +380,7 @@
 	}
 
 	
-//·´Ïò½âÂëÆðÊ¼Î»ÖÃ
+//ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ê¼Î»ï¿½ï¿½
 	SwipDirection = SD_REVERSE_DIRECTION;
 	TempDirection = SD_REVERSE_DIRECTION;
 	HeadIndex=MSR_GetHeadIndex(InputBuf,InPutLen, head, end, CodingBits,&TempDirection);
@@ -437,7 +437,7 @@
 		}
 		else
 		{
-			if(OutputBuf[(*OutLen)-1] == end)//ÕÒµ½Í£Ö¹Î»
+			if(OutputBuf[(*OutLen)-1] == end)//ï¿½Òµï¿½Í£Ö¹Î»
 			{
 				tempdata = 0;
 				getbinarynum = 0;
@@ -465,7 +465,7 @@
 				
 				if(MSR_LRCCheck(OutputBuf, ((*OutLen)+1), CodingBits))
 				{
-					OutputBuf[*OutLen]=0x00;//ÌÞ³ýLRCÐ£ÑéÎ»
+					OutputBuf[*OutLen]=0x00;//ï¿½Þ³ï¿½LRCÐ£ï¿½ï¿½Î»
 					if(TempDirection==SwipDirectionConfig||SwipDirectionConfig==SD_BIDIRECTION)
 					{
 						return MSR_SUCCESS;
@@ -496,8 +496,12 @@
  uint8_t MSR_GetDecodeData(track_data  *ptrack, uint8_t options, uint8_t *cfmt, uint8_t *tflag)
  {
  	uint8_t result[3];
- 	int i; 
- 	if(options&TRACK_SELECT_1||options&TRACK_SELECT_ALL)   //Ñ¡Ôñ´ÅµÀÒ»»òÈ«²¿´ÅµÀ
+	int i; 
+	*tflag = 0;
+	*cfmt =0;
+	 memset((char*)ptrack,0,sizeof(ptrack));
+
+ 	if(options&TRACK_SELECT_1||options&TRACK_SELECT_ALL)   //Ñ¡ï¿½ï¿½Åµï¿½Ò»ï¿½ï¿½È«ï¿½ï¿½ï¿½Åµï¿½
  	{
  		#if defined (MSR_DEBUG) 
  		MyPrintf("\nstart track1 decode\n");
@@ -660,11 +664,11 @@
 				new_track_data_num[i]=ISO7811_GetTrackDataNum(1<<i);
 				if(old_track_data_num[i]!=new_track_data_num[i])
 				{
-					return DETECT_NO_SWIPING_CARD;//ÔÚË¢¿¨
+					return DETECT_NO_SWIPING_CARD;//ï¿½ï¿½Ë¢ï¿½ï¿½
 				}
 				else
 				{
-					//Ã»ÓÐdone¡¢char_num²»Îª0¡¢Ò»¶ÎÊ±¼äÒ²²»±ä»¯£¬ÔòÈÏÎªÊÇÂÒµÄÊý¾Ý
+					//Ã»ï¿½ï¿½doneï¿½ï¿½char_numï¿½ï¿½Îª0ï¿½ï¿½Ò»ï¿½ï¿½Ê±ï¿½ï¿½Ò²ï¿½ï¿½ï¿½ä»¯ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Îªï¿½ï¿½ï¿½Òµï¿½ï¿½ï¿½ï¿½ï¿½
 					MSR_ENABLE(DISABLE);
 					MSR_ENABLE(ENABLE);
 					return DETECT_NO_SWIPING_CARD;
@@ -737,11 +741,11 @@
 				new_track_data_num[i]=ISO7811_GetTrackDataNum(1<<i);
 				if(old_track_data_num[i]!=new_track_data_num[i])
 				{
-					return DETECT_NO_SWIPING_CARD;//ÔÚË¢¿¨
+					return DETECT_NO_SWIPING_CARD;//ï¿½ï¿½Ë¢ï¿½ï¿½
 				}
 				else
 				{
-					//Ã»ÓÐdone¡¢char_num²»Îª0¡¢Ò»¶ÎÊ±¼äÒ²²»±ä»¯£¬ÔòÈÏÎªÊÇÂÒµÄÊý¾Ý
+					//Ã»ï¿½ï¿½doneï¿½ï¿½char_numï¿½ï¿½Îª0ï¿½ï¿½Ò»ï¿½ï¿½Ê±ï¿½ï¿½Ò²ï¿½ï¿½ï¿½ä»¯ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Îªï¿½ï¿½ï¿½Òµï¿½ï¿½ï¿½ï¿½ï¿½
 					MSR_ENABLE(DISABLE);
 					MSR_ENABLE(ENABLE);
 					return DETECT_NO_SWIPING_CARD;
@@ -1005,7 +1009,7 @@
 
 /**
  * @brief	:Channel select signal for 3 tracks 
- * @param £ºT1ChannelSel: channel seletct signal for track 1,the param must equal to signal_t1 in this software version.
+ * @param ï¿½ï¿½T1ChannelSel: channel seletct signal for track 1,the param must equal to signal_t1 in this software version.
 						T2ChannelSel: channel seletct signal for track 2,the param can  equal to signal_t2,signal_t3
 						T3ChannelSel: channel seletct signal for track 3,the param can  equal to signal_t2,signal_t3
 						//parm select from enum signal_fortrack.
Index: yc_msr/yc_msr_single.c
===================================================================
--- /YC3121_SDK/fw/sdk/yc_msr/yc_msr_single.c	(revision 602)
+++ /YC3121_SDK/fw/sdk/yc_msr/yc_msr_single.c	(working copy)
@@ -22,8 +22,8 @@
 unsigned char T2data_buf[MAX_TRACK_RAW_DATA_SZIE] ={0};
 unsigned char T3data_buf[MAX_TRACK_RAW_DATA_SZIE] ={0};
 
-static swiping_direction SwipDirectionConfig =SD_BIDIRECTION;  //ÓÃ»§ÅäÖÃË¢¿¨·½Ïò
-static swiping_direction SwipDirection =SD_FORWARD_DIRECTION;  //Êµ¼ÊË¢¿¨·½Ïò
+static swiping_direction SwipDirectionConfig =SD_BIDIRECTION;  //ï¿½Ã»ï¿½ï¿½ï¿½ï¿½ï¿½Ë¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
+static swiping_direction SwipDirection =SD_FORWARD_DIRECTION;  //Êµï¿½ï¿½Ë¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 
 static uint8_t  TrackDataHead[3] = {0x45,0x0B,0x0B};//1,0,0,0,1,0,1   ,0,1,0,1,1     0,1,0,1,1
 static uint8_t  TrackDataEnd[3]  = {0x1F,0x1F,0x1F};//0,0,1,1,1,1,1    1,1,1,1,1      1,1,1,1,1
@@ -81,8 +81,8 @@
 }MSR_DataStruct;
  MSR_DataStruct MsrData;
 
-#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)//a:bufindex,b:bitindex£» bufindexÊÇµ±Ç°¼ìË÷µÄ×Ö½ÚÊý£¬bitindexÊÇÔÚµ±Ç°×Ö½ÚµÄÓÐÐ§Î»
-#define indexdec(a,b) ((b)>0)?((b)--):((a)--, (b)=4)//·´ÏòË¢¿¨µÄË÷ÒýÒÆ¶¯
+#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)//a:bufindex,b:bitindexï¿½ï¿½ bufindexï¿½Çµï¿½Ç°ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö½ï¿½ï¿½ï¿½ï¿½ï¿½bitindexï¿½ï¿½ï¿½Úµï¿½Ç°ï¿½Ö½Úµï¿½ï¿½ï¿½Ð§Î»
+#define indexdec(a,b) ((b)>0)?((b)--):((a)--, (b)=4)//ï¿½ï¿½ï¿½ï¿½Ë¢ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Æ¶ï¿½
 
 static uint8_t  get_data_bit(uint8_t data, int bitindex)
 {
@@ -104,7 +104,7 @@
 	switch(direction)
 	{
 		case SD_FORWARD_DIRECTION:
-			while( bitnum < CodingBits)     //ÔÚ°üÍ·µÄ³¤¶ÈÄÚ¶ÁÈ¡¶ÔÓ¦Î»µÄÊý¾Ý
+			while( bitnum < CodingBits)     //ï¿½Ú°ï¿½Í·ï¿½Ä³ï¿½ï¿½ï¿½ï¿½Ú¶ï¿½È¡ï¿½ï¿½Ó¦Î»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 			{
 				if( 1 == get_data_bit(InputBuf[bufindex], bitindex)  )
 				getchar |=  (1<<bitnum);
@@ -188,11 +188,11 @@
 	uint8_t LRCData=0x00;
 	for (int i = 0; i < len-1; i++)
   	{
-  		if(CodingBits==5)	data[i]&=0x0F;//ÆæÅ¼Ð£ÑéÎ»²»²ÎÓëLRCÐ£Ñé
+  		if(CodingBits==5)	data[i]&=0x0F;//ï¿½ï¿½Å¼Ð£ï¿½ï¿½Î»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½LRCÐ£ï¿½ï¿½
 		else	data[i]&=0x3F;
 
   		LRCData ^=  data[i];
-  		if(CodingBits==5)	data[i]+=0x30;//±àÂë×ª»»
+  		if(CodingBits==5)	data[i]+=0x30;//ï¿½ï¿½ï¿½ï¿½×ªï¿½ï¿½
 		else	data[i]+=0x20;
  	 }
  	 if(CodingBits==5)	data[len-1]&=0x0F;
@@ -241,7 +241,7 @@
 		CodingBits: one data size
 		direction: swipcard direction
 		track: the track you select ,it will equal to TRACK_SELECT_1,TRACK_SELECT_2 or TRACK_SELECT_3
-		OutputBuf£ºdecoding data
+		OutputBufï¿½ï¿½decoding data
 		Outlen: decoding data length 
 
 * @retval 
@@ -260,7 +260,7 @@
 	{
 		return TRACK_NO_DATA;          
 	}
-	int TempDirection=SD_FORWARD_DIRECTION, HeadIndex=0;//Ä¬ÈÏ°´ÕÕÕýÏò½âÂë£¬
+	int TempDirection=SD_FORWARD_DIRECTION, HeadIndex=0;//Ä¬ï¿½Ï°ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ë£¬
 	int bufindex = 0;
 	int bitindex = 0;
 	uint8_t tempdata = 0;
@@ -279,7 +279,7 @@
 	#endif
 	
 	
-//ÕýÏòÕÒµ½ÁËÍ· ¾ÍÏÈÕý½â
+//ï¿½ï¿½ï¿½ï¿½ï¿½Òµï¿½ï¿½ï¿½Í· ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½
 
 	SwipDirection=SD_FORWARD_DIRECTION;
 		
@@ -298,13 +298,13 @@
 			{	
 					if(get_data_bit( InputBuf[bufindex], bitindex))
 					{
-						tempdata|= 1<<getbinarynum;    //×îÖÕ»ñµÃ5¸öbitµÄÊý×ÖÖµ£¬ÓÃÓÚÆæÅ¼Ð£Ñé
+						tempdata|= 1<<getbinarynum;    //ï¿½ï¿½ï¿½Õ»ï¿½ï¿½5ï¿½ï¿½bitï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Öµï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Å¼Ð£ï¿½ï¿½
 					}
 					getbinarynum++;
-					indexadd(bufindex,bitindex);	//#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)bufindexÊÇµ±Ç°¼ìË÷µÄ×Ö½ÚÊý£¬bitindexÊÇÔÚµ±Ç°×Ö½ÚµÄÓÐÐ§Î»
+					indexadd(bufindex,bitindex);	//#define indexadd(a,b) ((b)<4)?((b)++):((a)++, (b)=0)bufindexï¿½Çµï¿½Ç°ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö½ï¿½ï¿½ï¿½ï¿½ï¿½bitindexï¿½ï¿½ï¿½Úµï¿½Ç°ï¿½Ö½Úµï¿½ï¿½ï¿½Ð§Î»
 			}
 
-			if(!MSR_OddEvenCheck(tempdata,CodingBits))                   //ÆæÐ£Ñé£¬Èç¹û´íÎóÔò½øÈëÖ´ÐÐ
+			if(!MSR_OddEvenCheck(tempdata,CodingBits))                   //ï¿½ï¿½Ð£ï¿½é£¬ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ö´ï¿½ï¿½
 			{
 				#ifdef MSR_DEBUG
 				MyPrintf("Forward direction Odd Even Check error bufindex:%d  bitindex %d data:%02X\n",bufindex,bitindex,tempdata);
@@ -313,7 +313,7 @@
 				rtnvalue = PARITY_ERR;
 				break;
 			}
-			OutputBuf[(*OutLen)++] = tempdata;     //ÆæÐ£ÑéÍ¨¹ý
+			OutputBuf[(*OutLen)++] = tempdata;     //ï¿½ï¿½Ð£ï¿½ï¿½Í¨ï¿½ï¿½
 
 			if(*(OutLen) >MAX_TRACK_DATA_SIZE)
 			{
@@ -326,7 +326,7 @@
 			}
 			else
 			{
-				if(OutputBuf[(*OutLen)-1] == end)//ÕÒµ½Í£Ö¹Î»°
+				if(OutputBuf[(*OutLen)-1] == end)//ï¿½Òµï¿½Í£Ö¹Î»ï¿½
 				{
 					tempdata = 0;
 					getbinarynum = 0;
@@ -354,7 +354,7 @@
 					}
 					if(MSR_LRCCheck(OutputBuf, ((*OutLen)+1), CodingBits))
 					{
-						OutputBuf[*OutLen] = 0x00;//ÌÞ³ýLRCÐ£ÑéÎ»
+						OutputBuf[*OutLen] = 0x00;//ï¿½Þ³ï¿½LRCÐ£ï¿½ï¿½Î»
 						if((TempDirection==SwipDirectionConfig) ||(SwipDirectionConfig==SD_BIDIRECTION))
 						{
 							return MSR_SUCCESS;
@@ -383,7 +383,7 @@
 	}
 
 	
-//·´Ïò½âÂëÆðÊ¼Î»ÖÃ
+//ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ê¼Î»ï¿½ï¿½
 	SwipDirection = SD_REVERSE_DIRECTION;
 	TempDirection = SD_REVERSE_DIRECTION;
 	HeadIndex=MSR_GetHeadIndex(InputBuf,InPutLen, head, end, CodingBits,&TempDirection);
@@ -440,7 +440,7 @@
 		}
 		else
 		{
-			if(OutputBuf[(*OutLen)-1] == end)//ÕÒµ½Í£Ö¹Î»
+			if(OutputBuf[(*OutLen)-1] == end)//ï¿½Òµï¿½Í£Ö¹Î»
 			{
 				tempdata = 0;
 				getbinarynum = 0;
@@ -468,7 +468,7 @@
 				
 				if(MSR_LRCCheck(OutputBuf, ((*OutLen)+1), CodingBits))
 				{
-					OutputBuf[*OutLen]=0x00;//ÌÞ³ýLRCÐ£ÑéÎ»
+					OutputBuf[*OutLen]=0x00;//ï¿½Þ³ï¿½LRCÐ£ï¿½ï¿½Î»
 					if(TempDirection==SwipDirectionConfig||SwipDirectionConfig==SD_BIDIRECTION)
 					{
 						return MSR_SUCCESS;
@@ -499,8 +499,12 @@
  uint8_t MSR_GetDecodeData(track_data  *ptrack, uint8_t options, uint8_t *cfmt, uint8_t *tflag)
  {
  	uint8_t result[3];
- 	int i; 
- 	if(options&TRACK_SELECT_1||options&TRACK_SELECT_ALL)   //Ñ¡Ôñ´ÅµÀÒ»»òÈ«²¿´ÅµÀ
+	int i; 
+	*tflag = 0;
+	*cfmt =0;
+	 memset((char*)ptrack,0,sizeof(ptrack));
+	 
+ 	if(options&TRACK_SELECT_1||options&TRACK_SELECT_ALL)   //Ñ¡ï¿½ï¿½Åµï¿½Ò»ï¿½ï¿½È«ï¿½ï¿½ï¿½Åµï¿½
  	{
  		#if defined (MSR_DEBUG) 
  		MyPrintf("\nstart track1 decode\n");
@@ -806,7 +810,7 @@
 	ISO7811_T2_AGC_CFG |= 1<<ISO7811_AGC_CFG_DISAB_MASK;
 	ISO7811_T3_AGC_CFG |= 1<<ISO7811_AGC_CFG_DISAB_MASK;
 	
-	//µ¥¶Ë´ÅÍ·ÅäÖÃ
+	//ï¿½ï¿½ï¿½Ë´ï¿½Í·ï¿½ï¿½ï¿½ï¿½
 	ISO7811_T2_PEAK_WIDTH_CFG	 = 0x620064;
 	ISO7811_T2_PULSE_WIDTH_CFG	 = 0x14afffe;
 	#if 0
@@ -828,7 +832,7 @@
 	
 //	ISO7811_T3_AGC_CFG = 0x24722b22;
 	
-	delay_ms(300);//´¦ÀíÉÏµçµÚÒ»´ÎË¢¿¨Ê§°ÜÎÊÌâ(ÅäÖÃÍêÄ£Äâ¼Ä´æÆ÷ÐèÒªµÈ´ýÎÈ¶¨ÔÙÊ¹ÄÜ×Ü¿ª¹Ø)
+	delay_ms(300);//ï¿½ï¿½ï¿½ï¿½ï¿½Ïµï¿½ï¿½Ò»ï¿½ï¿½Ë¢ï¿½ï¿½Ê§ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½(ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ä£ï¿½ï¿½Ä´ï¿½ï¿½ï¿½ï¿½ï¿½Òªï¿½È´ï¿½ï¿½È¶ï¿½ï¿½ï¿½Ê¹ï¿½ï¿½ï¿½Ü¿ï¿½ï¿½ï¿½)
 #ifdef MSR_FPGA
 	ISO7811_CTRL &= ~(0x1FF <<20);
 #endif
@@ -939,7 +943,7 @@
 
 /**
  * @brief	:Channel select signal for 3 tracks 
- * @param £ºT1ChannelSel: channel seletct signal for track 1,the param must equal to signal_t1 in this software version.
+ * @param ï¿½ï¿½T1ChannelSel: channel seletct signal for track 1,the param must equal to signal_t1 in this software version.
 						T2ChannelSel: channel seletct signal for track 2,the param can  equal to signal_t2,signal_t3
 						T3ChannelSel: channel seletct signal for track 3,the param can  equal to signal_t2,signal_t3
 						//parm select from enum signal_fortrack.

Index: yc_msr/yc_msr.lib
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
