Index: c51/Makefile
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/Makefile	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/Makefile	(working copy)
@@ -8,7 +8,7 @@
 
 
 OUTDIR = output
-ROOT_PATH =h:\Keil
+ROOT_PATH =D:\Keil
 
 UTIL_PATH = ..\rom\util
 
Index: c51/adc.c
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/adc.c	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/adc.c	(working copy)
@@ -77,7 +77,7 @@
 	}
 	else
 	{
-		if(g_variable.last_battery_status == BAT_STATUS_SHUT_DOWN)
+		if((g_variable.last_battery_status == BAT_STATUS_SHUT_DOWN) ||(g_variable.battery_shutdown_flag == 1))
 		{
 			g_variable.battery_shutdown_flag = 0;
 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/output/FW.COD	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/05/2023  17:17:28  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               03/07/2023  16:03:32  PAGE 1
 
 
 
@@ -294,7 +294,7 @@
 0008B2 E0                MOVX    A,@DPTR
 0008B3 FD                MOV     R5,A
 0008B4 7B64              MOV     R3,#064H
-0008B6 123CB4            LCALL   _bufsize
+0008B6 123CBC            LCALL   _bufsize
 0008B9 904EBE            MOV     DPTR,#len
 0008BC E0                MOVX    A,@DPTR
 0008BD FE                MOV     R6,A
@@ -1559,7 +1559,7 @@
 000E71 A3                INC     DPTR
 000E72 E0                MOVX    A,@DPTR
 000E73 F9                MOV     R1,A
-000E74 123D80            LCALL   _IIC_write
+000E74 123D88            LCALL   _IIC_write
 000E77 7F0A              MOV     R7,#0AH
 000E79 D19B              ACALL   _Delay1ms
 000E7B 904E9C            MOV     DPTR,#curr_len
@@ -3457,7 +3457,7 @@
 001737 A3                INC     DPTR
 001738 F0                MOVX    @DPTR,A
   341: 	if (!IPC_IsTxBuffEmpty())
-001739 123D1D            LCALL   IPC_IsTxBuffEmpty
+001739 123D25            LCALL   IPC_IsTxBuffEmpty
 00173C 5025              JNC     ?C0078?KB_PROCESS
 00173E         ?C0077?KB_PROCESS:
   342: 		return;
@@ -5013,7 +5013,7 @@
 001E16 E0                MOVX    A,@DPTR
 001E17 4404              ORL     A,#04H
 001E19 F0                MOVX    @DPTR,A
-001E1A 123E18            LCALL   IIcWaitDone
+001E1A 123E20            LCALL   IIcWaitDone
 001E1D 904ED3            MOV     DPTR,#pbuff
 001E20 E0                MOVX    A,@DPTR
 001E21 A3                INC     DPTR
@@ -5660,14 +5660,14 @@
   119: 	if (g_variable.battery_check_interval)
 0020D4 904CD3            MOV     DPTR,#g_variable+014H
 0020D7 E0                MOVX    A,@DPTR
-0020D8 600B              JZ      ?C0025?ADC
+0020D8 600B              JZ      ?C0026?ADC
   120: 	{
   121: 		g_variable.battery_check_interval--;
 0020DA 14                DEC     A
 0020DB F0                MOVX    @DPTR,A
   122: 		if (g_variable.battery_check_interval == 0)
 0020DC E0                MOVX    A,@DPTR
-0020DD 7006              JNZ     ?C0025?ADC
+0020DD 7006              JNZ     ?C0026?ADC
   123: 		{
   124: 			g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
 0020DF 7405              MOV     A,#05H
@@ -5678,7 +5678,7 @@
   127: 	}
   128: #endif	
   129: }
-0020E5         ?C0025?ADC:
+0020E5         ?C0026?ADC:
 0020E5 22                RET     
 ----- FUNCTION YC_adc_check_timer500ms (END) -------
 
@@ -11608,7 +11608,7 @@
 003AB7 E0                MOVX    A,@DPTR
 003AB8 9E                SUBB    A,R6
 003AB9 5002              JNC     $ + 4H
-003ABB 81B3              AJMP    ?C0006?ADC
+003ABB 81BB              AJMP    ?C0006?ADC
 003ABD         ?C0005?ADC:
    51: 		return;
    52: 
@@ -11893,7 +11893,7 @@
 003C1B E0                MOVX    A,@DPTR
 003C1C 6402              XRL     A,#02H
 003C1E 7002              JNZ     $ + 4H
-003C20 81AB              AJMP    ?C0017?ADC
+003C20 81B3              AJMP    ?C0017?ADC
    73: 		{
    74: 			g_variable.battery_shutdown_flag = 1;
 003C22 904CFF            MOV     DPTR,#g_variable+040H
@@ -11910,470 +11910,475 @@
 003C34 120DED            LCALL   _IIC_WriteBlock
    76: 		}
    77: 	}
-003C37 8072              SJMP    ?C0017?ADC
+003C37 807A              SJMP    ?C0017?ADC
 003C39         ?C0015?ADC:
    78: 	else
    79: 	{
-   80: 		if(g_variable.last_battery_status == BAT_STATUS_SHUT_DOWN)
+   80: 		if((g_variable.last_battery_status == BAT_STATUS_SHUT_DOWN) ||(g_variable.battery_shutdown_flag == 1))
 003C39 904D00            MOV     DPTR,#g_variable+041H
 003C3C E0                MOVX    A,@DPTR
-003C3D B40215            CJNE    A,#02H,?C0018?ADC
+003C3D 6402              XRL     A,#02H
+003C3F 6007              JZ      ?C0019?ADC
+003C41 904CFF            MOV     DPTR,#g_variable+040H
+003C44 E0                MOVX    A,@DPTR
+003C45 B40115            CJNE    A,#01H,?C0018?ADC
+003C48         ?C0019?ADC:
    81: 		{
    82: 			g_variable.battery_shutdown_flag = 0;
-003C40 E4                CLR     A
-003C41 904CFF            MOV     DPTR,#g_variable+040H
-003C44 F0                MOVX    @DPTR,A
+003C48 E4                CLR     A
+003C49 904CFF            MOV     DPTR,#g_variable+040H
+003C4C F0                MOVX    @DPTR,A
    83: 			IIC_WriteBlock(EEPROM_BATTERY_SHUTDOWN_FLAG ,1 ,(byte *)&g_variable.battery_shutdown_flag);
-003C45 7B01              MOV     R3,#01H
-003C47 7A4C              MOV     R2,#HIGH g_variable+040H
-003C49 79FF              MOV     R1,#LOW g_variable+040H
-003C4B 7D01              MOV     R5,#01H
-003C4D FC                MOV     R4,A
-003C4E 7FC0              MOV     R7,#0C0H
-003C50 7E7F              MOV     R6,#07FH
-003C52 120DED            LCALL   _IIC_WriteBlock
+003C4D 7B01              MOV     R3,#01H
+003C4F 7A4C              MOV     R2,#HIGH g_variable+040H
+003C51 79FF              MOV     R1,#LOW g_variable+040H
+003C53 7D01              MOV     R5,#01H
+003C55 FC                MOV     R4,A
+003C56 7FC0              MOV     R7,#0C0H
+003C58 7E7F              MOV     R6,#07FH
+003C5A 120DED            LCALL   _IIC_WriteBlock
    84: 		}
-003C55         ?C0018?ADC:
+003C5D         ?C0018?ADC:
    85: 		
    86: 		if (batValue < g_variable.battery_level_low)
-003C55 904CDE            MOV     DPTR,#g_variable+01FH
-003C58 E0                MOVX    A,@DPTR
-003C59 FE                MOV     R6,A
-003C5A A3                INC     DPTR
-003C5B E0                MOVX    A,@DPTR
-003C5C FF                MOV     R7,A
-003C5D E4                CLR     A
-003C5E FC                MOV     R4,A
-003C5F FD                MOV     R5,A
-003C60 904ECD            MOV     DPTR,#batValue
+003C5D 904CDE            MOV     DPTR,#g_variable+01FH
+003C60 E0                MOVX    A,@DPTR
+003C61 FE                MOV     R6,A
+003C62 A3                INC     DPTR
 003C63 E0                MOVX    A,@DPTR
-003C64 F8                MOV     R0,A
-003C65 A3                INC     DPTR
-003C66 E0                MOVX    A,@DPTR
-003C67 F9                MOV     R1,A
-003C68 A3                INC     DPTR
-003C69 E0                MOVX    A,@DPTR
-003C6A FA                MOV     R2,A
-003C6B A3                INC     DPTR
-003C6C E0                MOVX    A,@DPTR
-003C6D FB                MOV     R3,A
-003C6E C3                CLR     C
-003C6F 120565            LCALL   ?C?ULCMP
-003C72 501D              JNC     ?C0019?ADC
+003C64 FF                MOV     R7,A
+003C65 E4                CLR     A
+003C66 FC                MOV     R4,A
+003C67 FD                MOV     R5,A
+003C68 904ECD            MOV     DPTR,#batValue
+003C6B E0                MOVX    A,@DPTR
+003C6C F8                MOV     R0,A
+003C6D A3                INC     DPTR
+003C6E E0                MOVX    A,@DPTR
+003C6F F9                MOV     R1,A
+003C70 A3                INC     DPTR
+003C71 E0                MOVX    A,@DPTR
+003C72 FA                MOV     R2,A
+003C73 A3                INC     DPTR
+003C74 E0                MOVX    A,@DPTR
+003C75 FB                MOV     R3,A
+003C76 C3                CLR     C
+003C77 120565            LCALL   ?C?ULCMP
+003C7A 501D              JNC     ?C0020?ADC
    87: 		{
    88: 			g_variable.battery_status = BAT_STATUS_LOW;
-003C74 904CD5            MOV     DPTR,#g_variable+016H
-003C77 7401              MOV     A,#01H
-003C79 F0                MOVX    @DPTR,A
+003C7C 904CD5            MOV     DPTR,#g_variable+016H
+003C7F 7401              MOV     A,#01H
+003C81 F0                MOVX    @DPTR,A
    89: 			if(!g_variable.g24_long_sleep_flag)
-003C7A 904D01            MOV     DPTR,#g_variable+042H
-003C7D E0                MOVX    A,@DPTR
-003C7E 702B              JNZ     ?C0017?ADC
+003C82 904D01            MOV     DPTR,#g_variable+042H
+003C85 E0                MOVX    A,@DPTR
+003C86 702B              JNZ     ?C0017?ADC
    90: 			{
    91: 			m_24g_enter_hibernate[0]	= 0x00;
-003C80 904D40            MOV     DPTR,#m_24g_enter_hibernate
-003C83 F0                MOVX    @DPTR,A
+003C88 904D40            MOV     DPTR,#m_24g_enter_hibernate
+003C8B F0                MOVX    @DPTR,A
    92: 			m_24g_enter_hibernate[1]	= 0x48;
-003C84 A3                INC     DPTR
-003C85 7448              MOV     A,#048H
-003C87 F0                MOVX    @DPTR,A
+003C8C A3                INC     DPTR
+003C8D 7448              MOV     A,#048H
+003C8F F0                MOVX    @DPTR,A
    93: 			m_24g_enter_hibernate[2]	= 0x12;		// 100ms
-003C88 A3                INC     DPTR
-003C89 7412              MOV     A,#012H
-003C8B F0                MOVX    @DPTR,A
+003C90 A3                INC     DPTR
+003C91 7412              MOV     A,#012H
+003C93 F0                MOVX    @DPTR,A
    94: 			m_24g_enter_hibernate[3]	= 0x00;
-003C8C E4                CLR     A
-003C8D A3                INC     DPTR
-003C8E F0                MOVX    @DPTR,A
+003C94 E4                CLR     A
+003C95 A3                INC     DPTR
+003C96 F0                MOVX    @DPTR,A
    95: 			}
    96: 		}
-003C8F 801A              SJMP    ?C0017?ADC
-003C91         ?C0019?ADC:
+003C97 801A              SJMP    ?C0017?ADC
+003C99         ?C0020?ADC:
    97: 		else
    98: 		{
    99: 			g_variable.battery_status = BAT_STATUS_NONE;
-003C91 E4                CLR     A
-003C92 904CD5            MOV     DPTR,#g_variable+016H
-003C95 F0                MOVX    @DPTR,A
+003C99 E4                CLR     A
+003C9A 904CD5            MOV     DPTR,#g_variable+016H
+003C9D F0                MOVX    @DPTR,A
   100: 			if(!g_variable.g24_long_sleep_flag)
-003C96 904D01            MOV     DPTR,#g_variable+042H
-003C99 E0                MOVX    A,@DPTR
-003C9A 700F              JNZ     ?C0017?ADC
+003C9E 904D01            MOV     DPTR,#g_variable+042H
+003CA1 E0                MOVX    A,@DPTR
+003CA2 700F              JNZ     ?C0017?ADC
   101: 			{
   102: 			m_24g_enter_hibernate[0]	= 0x00;
-003C9C 904D40            MOV     DPTR,#m_24g_enter_hibernate
-003C9F F0                MOVX    @DPTR,A
+003CA4 904D40            MOV     DPTR,#m_24g_enter_hibernate
+003CA7 F0                MOVX    @DPTR,A
   103: 			m_24g_enter_hibernate[1]	= 0x48;
-003CA0 A3                INC     DPTR
-003CA1 7448              MOV     A,#048H
-003CA3 F0                MOVX    @DPTR,A
+003CA8 A3                INC     DPTR
+003CA9 7448              MOV     A,#048H
+003CAB F0                MOVX    @DPTR,A
   104: 			m_24g_enter_hibernate[2]   = 0x5d;		// 510ms
-003CA4 A3                INC     DPTR
-003CA5 745D              MOV     A,#05DH
-003CA7 F0                MOVX    @DPTR,A
+003CAC A3                INC     DPTR
+003CAD 745D              MOV     A,#05DH
+003CAF F0                MOVX    @DPTR,A
   105: 			m_24g_enter_hibernate[3]	= 0x00;
-003CA8 E4                CLR     A
-003CA9 A3                INC     DPTR
-003CAA F0                MOVX    @DPTR,A
+003CB0 E4                CLR     A
+003CB1 A3                INC     DPTR
+003CB2 F0                MOVX    @DPTR,A
   106: 			}
   107: 		}
   108: 	}
-003CAB         ?C0017?ADC:
+003CB3         ?C0017?ADC:
   109: 
   110: 	g_variable.last_battery_status = g_variable.battery_status;
-003CAB 904CD5            MOV     DPTR,#g_variable+016H
-003CAE E0                MOVX    A,@DPTR
-003CAF 904D00            MOV     DPTR,#g_variable+041H
-003CB2 F0                MOVX    @DPTR,A
+003CB3 904CD5            MOV     DPTR,#g_variable+016H
+003CB6 E0                MOVX    A,@DPTR
+003CB7 904D00            MOV     DPTR,#g_variable+041H
+003CBA F0                MOVX    @DPTR,A
   111: #endif	
   112: }
-003CB3         ?C0006?ADC:
-003CB3 22                RET     
+003CBB         ?C0006?ADC:
+003CBB 22                RET     
 ----- FUNCTION YC_adc_check (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-003CB4 904EDE            MOV     DPTR,#rptr
-003CB7 EE                MOV     A,R6
-003CB8 F0                MOVX    @DPTR,A
-003CB9 A3                INC     DPTR
-003CBA EF                MOV     A,R7
-003CBB F0                MOVX    @DPTR,A
-003CBC 904EE0            MOV     DPTR,#wptr
-003CBF EC                MOV     A,R4
+003CBC 904EDE            MOV     DPTR,#rptr
+003CBF EE                MOV     A,R6
 003CC0 F0                MOVX    @DPTR,A
 003CC1 A3                INC     DPTR
-003CC2 ED                MOV     A,R5
+003CC2 EF                MOV     A,R7
 003CC3 F0                MOVX    @DPTR,A
-;---- Variable 'buflen' assigned to Register 'R3' ----
 003CC4 904EE0            MOV     DPTR,#wptr
-003CC7 E0                MOVX    A,@DPTR
-003CC8 FE                MOV     R6,A
+003CC7 EC                MOV     A,R4
+003CC8 F0                MOVX    @DPTR,A
 003CC9 A3                INC     DPTR
-003CCA E0                MOVX    A,@DPTR
-003CCB FF                MOV     R7,A
-003CCC D3                SETB    C
-003CCD 904EDF            MOV     DPTR,#rptr+01H
-003CD0 E0                MOVX    A,@DPTR
-003CD1 9F                SUBB    A,R7
-003CD2 904EDE            MOV     DPTR,#rptr
-003CD5 E0                MOVX    A,@DPTR
-003CD6 9E                SUBB    A,R6
-003CD7 4016              JC      ?C0001?IPC
-003CD9 904EE0            MOV     DPTR,#wptr
-003CDC E0                MOVX    A,@DPTR
-003CDD FE                MOV     R6,A
-003CDE A3                INC     DPTR
-003CDF E0                MOVX    A,@DPTR
-003CE0 FF                MOV     R7,A
-003CE1 904EDF            MOV     DPTR,#rptr+01H
+003CCA ED                MOV     A,R5
+003CCB F0                MOVX    @DPTR,A
+;---- Variable 'buflen' assigned to Register 'R3' ----
+003CCC 904EE0            MOV     DPTR,#wptr
+003CCF E0                MOVX    A,@DPTR
+003CD0 FE                MOV     R6,A
+003CD1 A3                INC     DPTR
+003CD2 E0                MOVX    A,@DPTR
+003CD3 FF                MOV     R7,A
+003CD4 D3                SETB    C
+003CD5 904EDF            MOV     DPTR,#rptr+01H
+003CD8 E0                MOVX    A,@DPTR
+003CD9 9F                SUBB    A,R7
+003CDA 904EDE            MOV     DPTR,#rptr
+003CDD E0                MOVX    A,@DPTR
+003CDE 9E                SUBB    A,R6
+003CDF 4016              JC      ?C0001?IPC
+003CE1 904EE0            MOV     DPTR,#wptr
 003CE4 E0                MOVX    A,@DPTR
-003CE5 9F                SUBB    A,R7
-003CE6 FF                MOV     R7,A
-003CE7 904EDE            MOV     DPTR,#rptr
-003CEA E0                MOVX    A,@DPTR
-003CEB 9E                SUBB    A,R6
-003CEC FE                MOV     R6,A
-003CED 801E              SJMP    ?C0002?IPC
-003CEF         ?C0001?IPC:
+003CE5 FE                MOV     R6,A
+003CE6 A3                INC     DPTR
+003CE7 E0                MOVX    A,@DPTR
+003CE8 FF                MOV     R7,A
+003CE9 904EDF            MOV     DPTR,#rptr+01H
+003CEC E0                MOVX    A,@DPTR
+003CED 9F                SUBB    A,R7
+003CEE FF                MOV     R7,A
 003CEF 904EDE            MOV     DPTR,#rptr
 003CF2 E0                MOVX    A,@DPTR
-003CF3 FE                MOV     R6,A
-003CF4 A3                INC     DPTR
-003CF5 E0                MOVX    A,@DPTR
-003CF6 FF                MOV     R7,A
-003CF7 C3                CLR     C
-003CF8 904EE1            MOV     DPTR,#wptr+01H
-003CFB E0                MOVX    A,@DPTR
-003CFC 9F                SUBB    A,R7
-003CFD FF                MOV     R7,A
-003CFE 904EE0            MOV     DPTR,#wptr
-003D01 E0                MOVX    A,@DPTR
-003D02 9E                SUBB    A,R6
-003D03 FE                MOV     R6,A
-003D04 AD03              MOV     R5,AR3
-003D06 C3                CLR     C
-003D07 EB                MOV     A,R3
-003D08 9F                SUBB    A,R7
-003D09 FF                MOV     R7,A
-003D0A E4                CLR     A
-003D0B 9E                SUBB    A,R6
-003D0C FE                MOV     R6,A
-003D0D         ?C0002?IPC:
-003D0D 22                RET     
+003CF3 9E                SUBB    A,R6
+003CF4 FE                MOV     R6,A
+003CF5 801E              SJMP    ?C0002?IPC
+003CF7         ?C0001?IPC:
+003CF7 904EDE            MOV     DPTR,#rptr
+003CFA E0                MOVX    A,@DPTR
+003CFB FE                MOV     R6,A
+003CFC A3                INC     DPTR
+003CFD E0                MOVX    A,@DPTR
+003CFE FF                MOV     R7,A
+003CFF C3                CLR     C
+003D00 904EE1            MOV     DPTR,#wptr+01H
+003D03 E0                MOVX    A,@DPTR
+003D04 9F                SUBB    A,R7
+003D05 FF                MOV     R7,A
+003D06 904EE0            MOV     DPTR,#wptr
+003D09 E0                MOVX    A,@DPTR
+003D0A 9E                SUBB    A,R6
+003D0B FE                MOV     R6,A
+003D0C AD03              MOV     R5,AR3
+003D0E C3                CLR     C
+003D0F EB                MOV     A,R3
+003D10 9F                SUBB    A,R7
+003D11 FF                MOV     R7,A
+003D12 E4                CLR     A
+003D13 9E                SUBB    A,R6
+003D14 FE                MOV     R6,A
+003D15         ?C0002?IPC:
+003D15 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _IPC_TxSppData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003D0E 900BE7            MOV     DPTR,#ipcSendBuff
-003D11 7404              MOV     A,#04H
-003D13 F0                MOVX    @DPTR,A
-003D14 0217BB            LJMP    _IPC_TxData
+003D16 900BE7            MOV     DPTR,#ipcSendBuff
+003D19 7404              MOV     A,#04H
+003D1B F0                MOVX    @DPTR,A
+003D1C 0217BB            LJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxSppData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-003D17 900446            MOV     DPTR,#bbDisReason
-003D1A E0                MOVX    A,@DPTR
-003D1B FF                MOV     R7,A
-003D1C 22                RET     
+003D1F 900446            MOV     DPTR,#bbDisReason
+003D22 E0                MOVX    A,@DPTR
+003D23 FF                MOV     R7,A
+003D24 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION IPC_IsTxBuffEmpty (BEGIN) -----
-003D1D 904B9C            MOV     DPTR,#ipcTxWritePtr
-003D20 E0                MOVX    A,@DPTR
-003D21 FE                MOV     R6,A
-003D22 A3                INC     DPTR
-003D23 E0                MOVX    A,@DPTR
-003D24 FF                MOV     R7,A
-003D25 904B9A            MOV     DPTR,#ipcTxReadPtr
+003D25 904B9C            MOV     DPTR,#ipcTxWritePtr
 003D28 E0                MOVX    A,@DPTR
-003D29 B50607            CJNE    A,AR6,?C0025?IPC
-003D2C A3                INC     DPTR
-003D2D E0                MOVX    A,@DPTR
-003D2E B50702            CJNE    A,AR7,?C0025?IPC
-003D31 D3                SETB    C
-003D32 22                RET     
-003D33         ?C0025?IPC:
-003D33 C3                CLR     C
-003D34 22                RET     
+003D29 FE                MOV     R6,A
+003D2A A3                INC     DPTR
+003D2B E0                MOVX    A,@DPTR
+003D2C FF                MOV     R7,A
+003D2D 904B9A            MOV     DPTR,#ipcTxReadPtr
+003D30 E0                MOVX    A,@DPTR
+003D31 B50607            CJNE    A,AR6,?C0025?IPC
+003D34 A3                INC     DPTR
+003D35 E0                MOVX    A,@DPTR
+003D36 B50702            CJNE    A,AR7,?C0025?IPC
+003D39 D3                SETB    C
+003D3A 22                RET     
+003D3B         ?C0025?IPC:
+003D3B C3                CLR     C
+003D3C 22                RET     
 ----- FUNCTION IPC_IsTxBuffEmpty (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-003D35 908280            MOV     DPTR,#08280H
-003D38 7401              MOV     A,#01H
-003D3A F0                MOVX    @DPTR,A
-003D3B 22                RET     
+003D3D 908280            MOV     DPTR,#08280H
+003D40 7401              MOV     A,#01H
+003D42 F0                MOVX    @DPTR,A
+003D43 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _dmemcpy (BEGIN) -----
-003D3C 904E9E            MOV     DPTR,#dest
-003D3F EB                MOV     A,R3
-003D40 F0                MOVX    @DPTR,A
-003D41 A3                INC     DPTR
-003D42 EA                MOV     A,R2
-003D43 F0                MOVX    @DPTR,A
-003D44 A3                INC     DPTR
-003D45 E9                MOV     A,R1
-003D46 F0                MOVX    @DPTR,A
-003D47         ?C0005?UTILITIES:
-003D47 904EA4            MOV     DPTR,#len
-003D4A 74FF              MOV     A,#0FFH
-003D4C F5F0              MOV     B,A
-003D4E 120424            LCALL   ?C?ILDIX
-003D51 45F0              ORL     A,B
-003D53 602A              JZ      ?C0007?UTILITIES
-003D55 904EA1            MOV     DPTR,#src
-003D58 E0                MOVX    A,@DPTR
-003D59 FB                MOV     R3,A
-003D5A A3                INC     DPTR
-003D5B E4                CLR     A
-003D5C 75F001            MOV     B,#01H
-003D5F 120424            LCALL   ?C?ILDIX
-003D62 A9F0              MOV     R1,B
-003D64 FA                MOV     R2,A
-003D65 1203B6            LCALL   ?C?CLDPTR
-003D68 FF                MOV     R7,A
-003D69 904E9E            MOV     DPTR,#dest
-003D6C E0                MOVX    A,@DPTR
-003D6D FB                MOV     R3,A
-003D6E A3                INC     DPTR
-003D6F E4                CLR     A
-003D70 75F001            MOV     B,#01H
-003D73 120424            LCALL   ?C?ILDIX
-003D76 A9F0              MOV     R1,B
-003D78 FA                MOV     R2,A
-003D79 EF                MOV     A,R7
-003D7A 1203FC            LCALL   ?C?CSTPTR
-003D7D 80C8              SJMP    ?C0005?UTILITIES
-003D7F         ?C0007?UTILITIES:
-003D7F 22                RET     
+003D44 904E9E            MOV     DPTR,#dest
+003D47 EB                MOV     A,R3
+003D48 F0                MOVX    @DPTR,A
+003D49 A3                INC     DPTR
+003D4A EA                MOV     A,R2
+003D4B F0                MOVX    @DPTR,A
+003D4C A3                INC     DPTR
+003D4D E9                MOV     A,R1
+003D4E F0                MOVX    @DPTR,A
+003D4F         ?C0005?UTILITIES:
+003D4F 904EA4            MOV     DPTR,#len
+003D52 74FF              MOV     A,#0FFH
+003D54 F5F0              MOV     B,A
+003D56 120424            LCALL   ?C?ILDIX
+003D59 45F0              ORL     A,B
+003D5B 602A              JZ      ?C0007?UTILITIES
+003D5D 904EA1            MOV     DPTR,#src
+003D60 E0                MOVX    A,@DPTR
+003D61 FB                MOV     R3,A
+003D62 A3                INC     DPTR
+003D63 E4                CLR     A
+003D64 75F001            MOV     B,#01H
+003D67 120424            LCALL   ?C?ILDIX
+003D6A A9F0              MOV     R1,B
+003D6C FA                MOV     R2,A
+003D6D 1203B6            LCALL   ?C?CLDPTR
+003D70 FF                MOV     R7,A
+003D71 904E9E            MOV     DPTR,#dest
+003D74 E0                MOVX    A,@DPTR
+003D75 FB                MOV     R3,A
+003D76 A3                INC     DPTR
+003D77 E4                CLR     A
+003D78 75F001            MOV     B,#01H
+003D7B 120424            LCALL   ?C?ILDIX
+003D7E A9F0              MOV     R1,B
+003D80 FA                MOV     R2,A
+003D81 EF                MOV     A,R7
+003D82 1203FC            LCALL   ?C?CSTPTR
+003D85 80C8              SJMP    ?C0005?UTILITIES
+003D87         ?C0007?UTILITIES:
+003D87 22                RET     
 ----- FUNCTION _dmemcpy (END) -------
 
 
 ----- FUNCTION _IIC_write (BEGIN) -----
-003D80 904EB4            MOV     DPTR,#addr
-003D83 EE                MOV     A,R6
-003D84 F0                MOVX    @DPTR,A
-003D85 A3                INC     DPTR
-003D86 EF                MOV     A,R7
-003D87 F0                MOVX    @DPTR,A
-003D88 904EB8            MOV     DPTR,#pbuff
-003D8B EB                MOV     A,R3
+003D88 904EB4            MOV     DPTR,#addr
+003D8B EE                MOV     A,R6
 003D8C F0                MOVX    @DPTR,A
 003D8D A3                INC     DPTR
-003D8E EA                MOV     A,R2
+003D8E EF                MOV     A,R7
 003D8F F0                MOVX    @DPTR,A
-003D90 A3                INC     DPTR
-003D91 E9                MOV     A,R1
-003D92 F0                MOVX    @DPTR,A
-003D93 904EB6            MOV     DPTR,#len
-003D96 EC                MOV     A,R4
+003D90 904EB8            MOV     DPTR,#pbuff
+003D93 EB                MOV     A,R3
+003D94 F0                MOVX    @DPTR,A
+003D95 A3                INC     DPTR
+003D96 EA                MOV     A,R2
 003D97 F0                MOVX    @DPTR,A
 003D98 A3                INC     DPTR
-003D99 ED                MOV     A,R5
+003D99 E9                MOV     A,R1
 003D9A F0                MOVX    @DPTR,A
-003D9B A3                INC     DPTR
-003D9C E0                MOVX    A,@DPTR
-003D9D F9                MOV     R1,A
-003D9E A3                INC     DPTR
-003D9F E0                MOVX    A,@DPTR
-003DA0 FA                MOV     R2,A
-003DA1 A3                INC     DPTR
-003DA2 E0                MOVX    A,@DPTR
-003DA3 904EA1            MOV     DPTR,#?_dmemcpy?BYTE+03H
-003DA6 C9                XCH     A,R1
-003DA7 F0                MOVX    @DPTR,A
-003DA8 A3                INC     DPTR
-003DA9 EA                MOV     A,R2
-003DAA F0                MOVX    @DPTR,A
-003DAB A3                INC     DPTR
-003DAC E9                MOV     A,R1
-003DAD F0                MOVX    @DPTR,A
-003DAE A3                INC     DPTR
-003DAF EC                MOV     A,R4
-003DB0 F0                MOVX    @DPTR,A
-003DB1 A3                INC     DPTR
-003DB2 ED                MOV     A,R5
-003DB3 F0                MOVX    @DPTR,A
-003DB4 7B01              MOV     R3,#01H
-003DB6 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
-003DB8 7986              MOV     R1,#LOW IIC_TempBuff+03H
-003DBA B13C              ACALL   _dmemcpy
-003DBC 900B83            MOV     DPTR,#IIC_TempBuff
-003DBF 74A0              MOV     A,#0A0H
-003DC1 F0                MOVX    @DPTR,A
-003DC2 904EB4            MOV     DPTR,#addr
-003DC5 E0                MOVX    A,@DPTR
-003DC6 FF                MOV     R7,A
-003DC7 A3                INC     DPTR
-003DC8 E0                MOVX    A,@DPTR
-003DC9 900B84            MOV     DPTR,#IIC_TempBuff+01H
-003DCC CF                XCH     A,R7
-003DCD F0                MOVX    @DPTR,A
-003DCE A3                INC     DPTR
-003DCF EF                MOV     A,R7
-003DD0 F0                MOVX    @DPTR,A
-003DD1 904EB7            MOV     DPTR,#len+01H
-003DD4 E0                MOVX    A,@DPTR
-003DD5 2403              ADD     A,#03H
-003DD7 FD                MOV     R5,A
-003DD8 904EB6            MOV     DPTR,#len
-003DDB E0                MOVX    A,@DPTR
-003DDC 3400              ADDC    A,#00H
-003DDE FC                MOV     R4,A
-003DDF ED                MOV     A,R5
-003DE0 FA                MOV     R2,A
-003DE1 EC                MOV     A,R4
-003DE2 FF                MOV     R7,A
-003DE3 EA                MOV     A,R2
-003DE4 FE                MOV     R6,A
-003DE5 EF                MOV     A,R7
-003DE6 908098            MOV     DPTR,#08098H
-003DE9 EE                MOV     A,R6
-003DEA F0                MOVX    @DPTR,A
-003DEB A3                INC     DPTR
-003DEC EF                MOV     A,R7
-003DED F0                MOVX    @DPTR,A
-003DEE 7A0B              MOV     R2,#HIGH IIC_TempBuff
-003DF0 7983              MOV     R1,#LOW IIC_TempBuff
-003DF2 7E0B              MOV     R6,#HIGH IIC_TempBuff
-003DF4 7F83              MOV     R7,#LOW IIC_TempBuff
-003DF6 7483              MOV     A,#LOW IIC_TempBuff
-003DF8 FC                MOV     R4,A
-003DF9 740B              MOV     A,#HIGH IIC_TempBuff
-003DFB FF                MOV     R7,A
-003DFC EC                MOV     A,R4
-003DFD FE                MOV     R6,A
-003DFE EF                MOV     A,R7
-003DFF A3                INC     DPTR
-003E00 EE                MOV     A,R6
-003E01 F0                MOVX    @DPTR,A
-003E02 A3                INC     DPTR
-003E03 EF                MOV     A,R7
-003E04 F0                MOVX    @DPTR,A
-003E05 90809E            MOV     DPTR,#0809EH
-003E08 E4                CLR     A
+003D9B 904EB6            MOV     DPTR,#len
+003D9E EC                MOV     A,R4
+003D9F F0                MOVX    @DPTR,A
+003DA0 A3                INC     DPTR
+003DA1 ED                MOV     A,R5
+003DA2 F0                MOVX    @DPTR,A
+003DA3 A3                INC     DPTR
+003DA4 E0                MOVX    A,@DPTR
+003DA5 F9                MOV     R1,A
+003DA6 A3                INC     DPTR
+003DA7 E0                MOVX    A,@DPTR
+003DA8 FA                MOV     R2,A
+003DA9 A3                INC     DPTR
+003DAA E0                MOVX    A,@DPTR
+003DAB 904EA1            MOV     DPTR,#?_dmemcpy?BYTE+03H
+003DAE C9                XCH     A,R1
+003DAF F0                MOVX    @DPTR,A
+003DB0 A3                INC     DPTR
+003DB1 EA                MOV     A,R2
+003DB2 F0                MOVX    @DPTR,A
+003DB3 A3                INC     DPTR
+003DB4 E9                MOV     A,R1
+003DB5 F0                MOVX    @DPTR,A
+003DB6 A3                INC     DPTR
+003DB7 EC                MOV     A,R4
+003DB8 F0                MOVX    @DPTR,A
+003DB9 A3                INC     DPTR
+003DBA ED                MOV     A,R5
+003DBB F0                MOVX    @DPTR,A
+003DBC 7B01              MOV     R3,#01H
+003DBE 7A0B              MOV     R2,#HIGH IIC_TempBuff+03H
+003DC0 7986              MOV     R1,#LOW IIC_TempBuff+03H
+003DC2 B144              ACALL   _dmemcpy
+003DC4 900B83            MOV     DPTR,#IIC_TempBuff
+003DC7 74A0              MOV     A,#0A0H
+003DC9 F0                MOVX    @DPTR,A
+003DCA 904EB4            MOV     DPTR,#addr
+003DCD E0                MOVX    A,@DPTR
+003DCE FF                MOV     R7,A
+003DCF A3                INC     DPTR
+003DD0 E0                MOVX    A,@DPTR
+003DD1 900B84            MOV     DPTR,#IIC_TempBuff+01H
+003DD4 CF                XCH     A,R7
+003DD5 F0                MOVX    @DPTR,A
+003DD6 A3                INC     DPTR
+003DD7 EF                MOV     A,R7
+003DD8 F0                MOVX    @DPTR,A
+003DD9 904EB7            MOV     DPTR,#len+01H
+003DDC E0                MOVX    A,@DPTR
+003DDD 2403              ADD     A,#03H
+003DDF FD                MOV     R5,A
+003DE0 904EB6            MOV     DPTR,#len
+003DE3 E0                MOVX    A,@DPTR
+003DE4 3400              ADDC    A,#00H
+003DE6 FC                MOV     R4,A
+003DE7 ED                MOV     A,R5
+003DE8 FA                MOV     R2,A
+003DE9 EC                MOV     A,R4
+003DEA FF                MOV     R7,A
+003DEB EA                MOV     A,R2
+003DEC FE                MOV     R6,A
+003DED EF                MOV     A,R7
+003DEE 908098            MOV     DPTR,#08098H
+003DF1 EE                MOV     A,R6
+003DF2 F0                MOVX    @DPTR,A
+003DF3 A3                INC     DPTR
+003DF4 EF                MOV     A,R7
+003DF5 F0                MOVX    @DPTR,A
+003DF6 7A0B              MOV     R2,#HIGH IIC_TempBuff
+003DF8 7983              MOV     R1,#LOW IIC_TempBuff
+003DFA 7E0B              MOV     R6,#HIGH IIC_TempBuff
+003DFC 7F83              MOV     R7,#LOW IIC_TempBuff
+003DFE 7483              MOV     A,#LOW IIC_TempBuff
+003E00 FC                MOV     R4,A
+003E01 740B              MOV     A,#HIGH IIC_TempBuff
+003E03 FF                MOV     R7,A
+003E04 EC                MOV     A,R4
+003E05 FE                MOV     R6,A
+003E06 EF                MOV     A,R7
+003E07 A3                INC     DPTR
+003E08 EE                MOV     A,R6
 003E09 F0                MOVX    @DPTR,A
 003E0A A3                INC     DPTR
-003E0B F0                MOVX    @DPTR,A
-003E0C 908090            MOV     DPTR,#08090H
-003E0F 04                INC     A
-003E10 F0                MOVX    @DPTR,A
-003E11 908006            MOV     DPTR,#08006H
-003E14 E0                MOVX    A,@DPTR
-003E15 4404              ORL     A,#04H
-003E17 F0                MOVX    @DPTR,A
+003E0B EF                MOV     A,R7
+003E0C F0                MOVX    @DPTR,A
+003E0D 90809E            MOV     DPTR,#0809EH
+003E10 E4                CLR     A
+003E11 F0                MOVX    @DPTR,A
+003E12 A3                INC     DPTR
+003E13 F0                MOVX    @DPTR,A
+003E14 908090            MOV     DPTR,#08090H
+003E17 04                INC     A
+003E18 F0                MOVX    @DPTR,A
+003E19 908006            MOV     DPTR,#08006H
+003E1C E0                MOVX    A,@DPTR
+003E1D 4404              ORL     A,#04H
+003E1F F0                MOVX    @DPTR,A
 ;----                  JMP     IIcWaitDone
 ----- FUNCTION _IIC_write (END) -------
 
 
 ----- FUNCTION IIcWaitDone (BEGIN) -----
-003E18         ?C0001?IIC:
-003E18 90812C            MOV     DPTR,#0812CH
-003E1B E0                MOVX    A,@DPTR
-003E1C 30E5F9            JNB     ACC.5,?C0001?IIC
-003E1F 22                RET     
+003E20         ?C0001?IIC:
+003E20 90812C            MOV     DPTR,#0812CH
+003E23 E0                MOVX    A,@DPTR
+003E24 30E5F9            JNB     ACC.5,?C0001?IIC
+003E27 22                RET     
 ----- FUNCTION IIcWaitDone (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-003E20 EF                MOV     A,R7
-003E21 F4                CPL     A
-003E22 603A              JZ      ?C0023?GPIO
-003E24         ?C0022?GPIO:
-003E24 EF                MOV     A,R7
-003E25 5407              ANL     A,#07H
-003E27 FE                MOV     R6,A
-;---- Variable 'queue' assigned to Register 'R6' ----
 003E28 EF                MOV     A,R7
-003E29 13                RRC     A
-003E2A 13                RRC     A
-003E2B 13                RRC     A
-003E2C 5403              ANL     A,#03H
-003E2E FF                MOV     R7,A
+003E29 F4                CPL     A
+003E2A 603A              JZ      ?C0023?GPIO
+003E2C         ?C0022?GPIO:
+003E2C EF                MOV     A,R7
+003E2D 5407              ANL     A,#07H
+003E2F FE                MOV     R6,A
+;---- Variable 'queue' assigned to Register 'R6' ----
+003E30 EF                MOV     A,R7
+003E31 13                RRC     A
+003E32 13                RRC     A
+003E33 13                RRC     A
+003E34 5403              ANL     A,#03H
+003E36 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-003E2F 24A3              ADD     A,#LOW YC_GPIOWakeupL
-003E31 F582              MOV     DPL,A
-003E33 E4                CLR     A
-003E34 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-003E36 F583              MOV     DPH,A
-003E38 C083              PUSH    DPH
-003E3A C082              PUSH    DPL
-003E3C E0                MOVX    A,@DPTR
-003E3D FD                MOV     R5,A
-003E3E 7401              MOV     A,#01H
-003E40 A806              MOV     R0,AR6
-003E42 08                INC     R0
-003E43 8002              SJMP    ?C0043?GPIO
-003E45         ?C0042?GPIO:
-003E45 C3                CLR     C
-003E46 33                RLC     A
-003E47         ?C0043?GPIO:
-003E47 D8FC              DJNZ    R0,?C0042?GPIO
-003E49 F4                CPL     A
-003E4A FC                MOV     R4,A
-003E4B 5D                ANL     A,R5
-003E4C D082              POP     DPL
-003E4E D083              POP     DPH
-003E50 F0                MOVX    @DPTR,A
-003E51 74A7              MOV     A,#LOW YC_GPIOWakeupH
-003E53 2F                ADD     A,R7
-003E54 F582              MOV     DPL,A
-003E56 E4                CLR     A
-003E57 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-003E59 F583              MOV     DPH,A
-003E5B E0                MOVX    A,@DPTR
-003E5C 5C                ANL     A,R4
-003E5D F0                MOVX    @DPTR,A
-003E5E         ?C0023?GPIO:
-003E5E 22                RET     
+003E37 24A3              ADD     A,#LOW YC_GPIOWakeupL
+003E39 F582              MOV     DPL,A
+003E3B E4                CLR     A
+003E3C 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+003E3E F583              MOV     DPH,A
+003E40 C083              PUSH    DPH
+003E42 C082              PUSH    DPL
+003E44 E0                MOVX    A,@DPTR
+003E45 FD                MOV     R5,A
+003E46 7401              MOV     A,#01H
+003E48 A806              MOV     R0,AR6
+003E4A 08                INC     R0
+003E4B 8002              SJMP    ?C0043?GPIO
+003E4D         ?C0042?GPIO:
+003E4D C3                CLR     C
+003E4E 33                RLC     A
+003E4F         ?C0043?GPIO:
+003E4F D8FC              DJNZ    R0,?C0042?GPIO
+003E51 F4                CPL     A
+003E52 FC                MOV     R4,A
+003E53 5D                ANL     A,R5
+003E54 D082              POP     DPL
+003E56 D083              POP     DPH
+003E58 F0                MOVX    @DPTR,A
+003E59 74A7              MOV     A,#LOW YC_GPIOWakeupH
+003E5B 2F                ADD     A,R7
+003E5C F582              MOV     DPL,A
+003E5E E4                CLR     A
+003E5F 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+003E61 F583              MOV     DPH,A
+003E63 E0                MOVX    A,@DPTR
+003E64 5C                ANL     A,R4
+003E65 F0                MOVX    @DPTR,A
+003E66         ?C0023?GPIO:
+003E66 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/output/FW.HTM	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>01/05/2023  17:17:28</b><p>
+Creation time: <b>03/07/2023  16:03:32</b><p>
 
 <hr>
 
@@ -151,7 +151,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S141"></a>?PR?_IPC_TXSPPDATA?IPC (C:003D0EH - C:003D16H)</h2>
+<h2><a name="S141"></a>?PR?_IPC_TXSPPDATA?IPC (C:003D16H - C:003D1EH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S137">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -822,7 +822,7 @@
 <li><a href="#S104">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S125"></a>?PR?YC_ADC_CHECK?ADC (C:003A9CH - C:003CB3H)</h2>
+<h2><a name="S125"></a>?PR?YC_ADC_CHECK?ADC (C:003A9CH - C:003CBBH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S214">?PR?_IIC_WRITEBLOCK?IIC</a>) Top=4 Bytes (<a href="#S127">?PR?YC_ADC_CHECK_TIMER500MS?ADC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -847,7 +847,7 @@
 <li><a href="#S118">?PR?KB_CB_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S129"></a>?PR?_BUFSIZE?IPC (C:003CB4H - C:003D0DH)</h2>
+<h2><a name="S129"></a>?PR?_BUFSIZE?IPC (C:003CBCH - C:003D15H)</h2>
 <p><br><b>Maximum Stack:</b> Top=12 Bytes (<a href="#S133">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -967,7 +967,7 @@
 <li><a href="#S121">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S147"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:003D1DH - C:003D34H)</h2>
+<h2><a name="S147"></a>?PR?IPC_ISTXBUFFEMPTY?IPC (C:003D25H - C:003D3CH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S68">?PR?KB_MOTION?KB_PROCESS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1003,7 +1003,7 @@
 <li><a href="#S4">?PR?_YC_STORE_RECORD_LIST?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S170"></a>?PR?_DMEMCPY?UTILITIES (C:003D3CH - C:003D7FH)</h2>
+<h2><a name="S170"></a>?PR?_DMEMCPY?UTILITIES (C:003D44H - C:003D87H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S218">?C?LIB_CODE</a>) Top=16 Bytes (<a href="#S212">?PR?_IIC_WRITE?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1228,7 +1228,7 @@
 <li><a href="#S88">?PR?KS_UNISTALL?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S209"></a>?PR?IICWAITDONE?IIC (C:003E18H - C:003E1FH)</h2>
+<h2><a name="S209"></a>?PR?IICWAITDONE?IIC (C:003E20H - C:003E27H)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S210">?PR?_IIC_READ?IIC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -1251,7 +1251,7 @@
 <li><a href="#S13">?PR?YC_START_RECONNECT?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S212"></a>?PR?_IIC_WRITE?IIC (C:003D80H - C:003E17H)</h2>
+<h2><a name="S212"></a>?PR?_IIC_WRITE?IIC (C:003D88H - C:003E1FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S170">?PR?_DMEMCPY?UTILITIES</a>) Top=14 Bytes (<a href="#S214">?PR?_IIC_WRITEBLOCK?IIC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/output/FW.MAP	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/output/FW.MAP	(working copy)
@@ -1,8 +1,8 @@
-LX51 LINKER/LOCATER V4.41                                                               01/05/2023  17:17:28  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               03/07/2023  16:03:32  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
-H:\KEIL\C51\BIN\LX51.EXE OUTPUT/BLUETOOTH.OBJ, OUTPUT/GLOBAL_VARIABLE.OBJ, OUTPUT/KB_PROCESS.OBJ, OUTPUT/KEYSCAN.OBJ, OU
+D:\KEIL\C51\BIN\LX51.EXE OUTPUT/BLUETOOTH.OBJ, OUTPUT/GLOBAL_VARIABLE.OBJ, OUTPUT/KB_PROCESS.OBJ, OUTPUT/KEYSCAN.OBJ, OU
 >> TPUT/LED.OBJ, OUTPUT/SYS.OBJ, OUTPUT/ADC.OBJ, OUTPUT/RAM.OBJ, OUTPUT/..\PATCH\IPC.OBJ, OUTPUT/..\PATCH\UTILITIES.OBJ,
 >>  OUTPUT/..\PATCH\GPIO.OBJ, OUTPUT/..\PATCH\IIC.OBJ TO OUTPUT\FW CLASSES (XDATA (X:0X4DD0-X:0X4F40), CODE (C:0-C:0XFFF
 >> F), DATA (D:0X10-0X7F), IDATA (I:0X80-0XCF)) SEGMENTS (?STACK (D:0XD0)) NOOVERLAY PAGELENGTH (60000) CODE
@@ -37,47 +37,47 @@
          COMMENT TYPE 0: C51 V9.00
   OUTPUT/..\PATCH\IIC.OBJ (IIC)
          COMMENT TYPE 0: C51 V9.00
-  H:\KEIL\C51\LIB\C51FPL.LIB (?C?FPADD)
+  D:\KEIL\C51\LIB\C51FPL.LIB (?C?FPADD)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51FPL.LIB (?C?FPMUL)
+  D:\KEIL\C51\LIB\C51FPL.LIB (?C?FPMUL)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51FPL.LIB (?C?FCAST)
+  D:\KEIL\C51\LIB\C51FPL.LIB (?C?FCAST)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51FPL.LIB (?C?CASTF)
+  D:\KEIL\C51\LIB\C51FPL.LIB (?C?CASTF)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51FPL.LIB (?C?FPGETOPN)
+  D:\KEIL\C51\LIB\C51FPL.LIB (?C?FPGETOPN)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C_STARTUP)
+  D:\KEIL\C51\LIB\C51L.LIB (?C_STARTUP)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?COPY)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?COPY)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?CLDPTR)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?CLDPTR)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?CLDOPTR)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?CLDOPTR)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?CSTPTR)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?CSTPTR)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?IILDX)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?IILDX)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?ILDIX)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?ILDIX)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?LMUL)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?LMUL)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?ULDIV)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?ULDIV)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?LNEG)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?LNEG)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?ULCMP)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?ULCMP)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?LSTXDATA)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?LSTXDATA)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?LSTKXDATA)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?LSTKXDATA)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?CCASE)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?CCASE)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C?ICALL)
+  D:\KEIL\C51\LIB\C51L.LIB (?C?ICALL)
          COMMENT TYPE 1: A51 / ASM51 Assembler
-  H:\KEIL\C51\LIB\C51L.LIB (?C_INIT)
+  D:\KEIL\C51\LIB\C51L.LIB (?C_INIT)
          COMMENT TYPE 1: A51 / ASM51 Assembler
 
 
@@ -86,7 +86,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   000391H   XDATA
-C:000000H   C:000000H   C:00FFFFH   003DA9H   CODE
+C:000000H   C:000000H   C:00FFFFH   003DB1H   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   0000B6H   CONST
@@ -215,16 +215,16 @@
 00378DH   00379CH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
 00379DH   003970H   0001D4H   BYTE   UNIT     CODE           ?PR?KB_BUTTON_PRESS_TIMER500MS?SYS
 003971H   003A9BH   00012BH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-003A9CH   003CB3H   000218H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
-003CB4H   003D0DH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-003D0EH   003D16H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-003D17H   003D1CH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-003D1DH   003D34H   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
-003D35H   003D3BH   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-003D3CH   003D7FH   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
-003D80H   003E17H   000098H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
-003E18H   003E1FH   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
-003E20H   003E5EH   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+003A9CH   003CBBH   000220H   BYTE   UNIT     CODE           ?PR?YC_ADC_CHECK?ADC
+003CBCH   003D15H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+003D16H   003D1EH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+003D1FH   003D24H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+003D25H   003D3CH   000018H   BYTE   UNIT     CODE           ?PR?IPC_ISTXBUFFEMPTY?IPC
+003D3DH   003D43H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+003D44H   003D87H   000044H   BYTE   UNIT     CODE           ?PR?_DMEMCPY?UTILITIES
+003D88H   003E1FH   000098H   BYTE   UNIT     CODE           ?PR?_IIC_WRITE?IIC
+003E20H   003E27H   000008H   BYTE   UNIT     CODE           ?PR?IICWAITDONE?IIC
+003E28H   003E66H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?31
@@ -413,8 +413,8 @@
       01002F03H   CODE     ---       _array_is_empty
       01001F4FH   CODE     ---       _compare_str
       01000E9BH   CODE     ---       _Delay1ms
-      01003D3CH   CODE     ---       _dmemcpy
-      01003E20H   CODE     ---       _GPIO_ClearWakeup
+      01003D44H   CODE     ---       _dmemcpy
+      01003E28H   CODE     ---       _GPIO_ClearWakeup
       01000CDCH   CODE     ---       _GPIO_FlipOutBit
       01002610H   CODE     ---       _GPIO_GetInputStatus
       01003418H   CODE     ---       _GPIO_SetInput
@@ -426,7 +426,7 @@
       01002318H   CODE     ---       _GPIO_SetWakeup
       01002305H   CODE     ---       _GPIO_SetWakeupByCurrentState
       01001D8BH   CODE     ---       _IIC_Read
-      01003D80H   CODE     ---       _IIC_write
+      01003D88H   CODE     ---       _IIC_write
       01000DEDH   CODE     ---       _IIC_WriteBlock
       01002603H   CODE     ---       _IPC_Initialize
       010017B5H   CODE     ---       _IPC_Tx24GData
@@ -435,7 +435,7 @@
       0100085FH   CODE     ---       _IPC_TxControlCmd
       010017BBH   CODE     ---       _IPC_TxData
       01001491H   CODE     ---       _IPC_TxHidData
-      01003D0EH   CODE     ---       _IPC_TxSppData
+      01003D16H   CODE     ---       _IPC_TxSppData
       010030CAH   CODE     ---       _kb_combination_key_press
       01002F89H   CODE     ---       _kb_device_select
       0100112BH   CODE     ---       _kb_motion_keyscan
@@ -476,8 +476,8 @@
       02004DE2H   XDATA    BYTE      iOS_rec_pinCode
       01002657H   CODE     ---       IPC_AbandonLpm
       010023A4H   CODE     ---       IPC_DealSingleStep
-      01003D17H   CODE     ---       IPC_GetBBDIsconnectReason
-      01003D1DH   CODE     ---       IPC_IsTxBuffEmpty
+      01003D1FH   CODE     ---       IPC_GetBBDIsconnectReason
+      01003D25H   CODE     ---       IPC_IsTxBuffEmpty
       01001F99H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
       0200054FH   XDATA    BYTE      ipcPinlen
@@ -572,7 +572,7 @@
       01002011H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      01003D35H   CODE     ---       YC_Ice_break
+      01003D3DH   CODE     ---       YC_Ice_break
       01002697H   CODE     ---       YC_pairing_timerout_500ms
       01000EB3H   CODE     ---       YC_start_reconnect
       01002211H   CODE     ---       YC_System_Main
@@ -3256,34 +3256,34 @@
       01003C37H   LINE      ---      ---       #77
       01003C39H   LINE      ---      ---       #79
       01003C39H   LINE      ---      ---       #80
-      01003C40H   LINE      ---      ---       #81
-      01003C40H   LINE      ---      ---       #82
-      01003C45H   LINE      ---      ---       #83
-      01003C55H   LINE      ---      ---       #84
-      01003C55H   LINE      ---      ---       #86
-      01003C74H   LINE      ---      ---       #87
-      01003C74H   LINE      ---      ---       #88
-      01003C7AH   LINE      ---      ---       #89
-      01003C80H   LINE      ---      ---       #90
-      01003C80H   LINE      ---      ---       #91
-      01003C84H   LINE      ---      ---       #92
-      01003C88H   LINE      ---      ---       #93
-      01003C8CH   LINE      ---      ---       #94
-      01003C8FH   LINE      ---      ---       #95
-      01003C8FH   LINE      ---      ---       #96
-      01003C91H   LINE      ---      ---       #98
-      01003C91H   LINE      ---      ---       #99
-      01003C96H   LINE      ---      ---       #100
-      01003C9CH   LINE      ---      ---       #101
-      01003C9CH   LINE      ---      ---       #102
-      01003CA0H   LINE      ---      ---       #103
-      01003CA4H   LINE      ---      ---       #104
-      01003CA8H   LINE      ---      ---       #105
-      01003CABH   LINE      ---      ---       #106
-      01003CABH   LINE      ---      ---       #107
-      01003CABH   LINE      ---      ---       #108
-      01003CABH   LINE      ---      ---       #110
-      01003CB3H   LINE      ---      ---       #112
+      01003C48H   LINE      ---      ---       #81
+      01003C48H   LINE      ---      ---       #82
+      01003C4DH   LINE      ---      ---       #83
+      01003C5DH   LINE      ---      ---       #84
+      01003C5DH   LINE      ---      ---       #86
+      01003C7CH   LINE      ---      ---       #87
+      01003C7CH   LINE      ---      ---       #88
+      01003C82H   LINE      ---      ---       #89
+      01003C88H   LINE      ---      ---       #90
+      01003C88H   LINE      ---      ---       #91
+      01003C8CH   LINE      ---      ---       #92
+      01003C90H   LINE      ---      ---       #93
+      01003C94H   LINE      ---      ---       #94
+      01003C97H   LINE      ---      ---       #95
+      01003C97H   LINE      ---      ---       #96
+      01003C99H   LINE      ---      ---       #98
+      01003C99H   LINE      ---      ---       #99
+      01003C9EH   LINE      ---      ---       #100
+      01003CA4H   LINE      ---      ---       #101
+      01003CA4H   LINE      ---      ---       #102
+      01003CA8H   LINE      ---      ---       #103
+      01003CACH   LINE      ---      ---       #104
+      01003CB0H   LINE      ---      ---       #105
+      01003CB3H   LINE      ---      ---       #106
+      01003CB3H   LINE      ---      ---       #107
+      01003CB3H   LINE      ---      ---       #108
+      01003CB3H   LINE      ---      ---       #110
+      01003CBBH   LINE      ---      ---       #112
       02004ECCH   SYMBOL    XDATA    VOID      i
       02004ECDH   SYMBOL    XDATA    VOID      batValue
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3325,23 +3325,23 @@
       0200054FH   PUBLIC    XDATA    BYTE      ipcPinlen
       02000B7EH   PUBLIC    XDATA    BYTE      current_task
       010023A4H   PUBLIC    CODE     ---       IPC_DealSingleStep
-      01003D1DH   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
+      01003D25H   PUBLIC    CODE     ---       IPC_IsTxBuffEmpty
       01002657H   PUBLIC    CODE     ---       IPC_AbandonLpm
       01001F99H   PUBLIC    CODE     ---       IPC_WaitLpm
       01002603H   PUBLIC    CODE     ---       _IPC_Initialize
-      01003D17H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      01003D1FH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
       010017E1H   PUBLIC    CODE     ---       _IPC_TxBleData
-      01003D0EH   PUBLIC    CODE     ---       _IPC_TxSppData
+      01003D16H   PUBLIC    CODE     ---       _IPC_TxSppData
       010017B5H   PUBLIC    CODE     ---       _IPC_Tx24GData
       010017E9H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
       010017BBH   PUBLIC    CODE     ---       _IPC_TxData
       0100085FH   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01003CB4H   BLOCK     CODE     ---       LVL=0
-      01003CB4H   LINE      ---      ---       #44
-      01003CC4H   LINE      ---      ---       #45
-      01003CC4H   LINE      ---      ---       #46
-      01003D0DH   LINE      ---      ---       #47
+      01003CBCH   BLOCK     CODE     ---       LVL=0
+      01003CBCH   LINE      ---      ---       #44
+      01003CCCH   LINE      ---      ---       #45
+      01003CCCH   LINE      ---      ---       #46
+      01003D15H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
       010025ADH   BLOCK     CODE     ---       LVL=0
@@ -3413,11 +3413,11 @@
       010017B5H   LINE      ---      ---       #99
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003D0EH   BLOCK     CODE     ---       LVL=0
-      01003D0EH   LINE      ---      ---       #103
-      01003D0EH   LINE      ---      ---       #104
-      01003D0EH   LINE      ---      ---       #105
-      01003D14H   LINE      ---      ---       #106
+      01003D16H   BLOCK     CODE     ---       LVL=0
+      01003D16H   LINE      ---      ---       #103
+      01003D16H   LINE      ---      ---       #104
+      01003D16H   LINE      ---      ---       #105
+      01003D1CH   LINE      ---      ---       #106
       ---         BLOCKEND  ---      ---       LVL=0
 
       010017E1H   BLOCK     CODE     ---       LVL=0
@@ -3427,11 +3427,11 @@
       010017E7H   LINE      ---      ---       #112
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003D17H   BLOCK     CODE     ---       LVL=0
-      01003D17H   LINE      ---      ---       #115
-      01003D17H   LINE      ---      ---       #116
-      01003D17H   LINE      ---      ---       #117
-      01003D1CH   LINE      ---      ---       #118
+      01003D1FH   BLOCK     CODE     ---       LVL=0
+      01003D1FH   LINE      ---      ---       #115
+      01003D1FH   LINE      ---      ---       #116
+      01003D1FH   LINE      ---      ---       #117
+      01003D24H   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       01002603H   BLOCK     CODE     ---       LVL=0
@@ -3456,13 +3456,13 @@
       01002662H   LINE      ---      ---       #136
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003D1DH   BLOCK     CODE     ---       LVL=0
-      01003D1DH   LINE      ---      ---       #138
-      01003D1DH   LINE      ---      ---       #139
-      01003D1DH   LINE      ---      ---       #140
-      01003D31H   LINE      ---      ---       #141
-      01003D33H   LINE      ---      ---       #142
-      01003D34H   LINE      ---      ---       #143
+      01003D25H   BLOCK     CODE     ---       LVL=0
+      01003D25H   LINE      ---      ---       #138
+      01003D25H   LINE      ---      ---       #139
+      01003D25H   LINE      ---      ---       #140
+      01003D39H   LINE      ---      ---       #141
+      01003D3BH   LINE      ---      ---       #142
+      01003D3CH   LINE      ---      ---       #143
       ---         BLOCKEND  ---      ---       LVL=0
 
       010023A4H   BLOCK     CODE     ---       LVL=0
@@ -3519,16 +3519,16 @@
       01001E3CH   PUBLIC    CODE     ---       _xmemclear_ff
       01001590H   PUBLIC    CODE     ---       _xmemclear
       02004E9EH   PUBLIC    XDATA    BYTE      ?_dmemcpy?BYTE
-      01003D3CH   PUBLIC    CODE     ---       _dmemcpy
+      01003D44H   PUBLIC    CODE     ---       _dmemcpy
       02004EC1H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       010010E8H   PUBLIC    CODE     ---       _xmemcpy
-      01003D35H   PUBLIC    CODE     ---       YC_Ice_break
+      01003D3DH   PUBLIC    CODE     ---       YC_Ice_break
 
-      01003D35H   BLOCK     CODE     ---       LVL=0
-      01003D35H   LINE      ---      ---       #3
-      01003D35H   LINE      ---      ---       #4
-      01003D35H   LINE      ---      ---       #5
-      01003D3BH   LINE      ---      ---       #7
+      01003D3DH   BLOCK     CODE     ---       LVL=0
+      01003D3DH   LINE      ---      ---       #3
+      01003D3DH   LINE      ---      ---       #4
+      01003D3DH   LINE      ---      ---       #5
+      01003D43H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       010010E8H   BLOCK     CODE     ---       LVL=0
@@ -3539,12 +3539,12 @@
       0100112AH   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003D3CH   BLOCK     CODE     ---       LVL=0
-      01003D3CH   LINE      ---      ---       #16
-      01003D47H   LINE      ---      ---       #17
-      01003D47H   LINE      ---      ---       #18
-      01003D55H   LINE      ---      ---       #19
-      01003D7FH   LINE      ---      ---       #21
+      01003D44H   BLOCK     CODE     ---       LVL=0
+      01003D44H   LINE      ---      ---       #16
+      01003D4FH   LINE      ---      ---       #17
+      01003D4FH   LINE      ---      ---       #18
+      01003D5DH   LINE      ---      ---       #19
+      01003D87H   LINE      ---      ---       #21
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001590H   BLOCK     CODE     ---       LVL=0
@@ -3595,7 +3595,7 @@
       01002663H   PUBLIC    CODE     ---       GPIO_fillpd
       01000CDCH   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       01002305H   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      01003E20H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      01003E28H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
       01002318H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
@@ -3724,16 +3724,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003E20H   BLOCK     CODE     ---       LVL=0
-      01003E20H   LINE      ---      ---       #107
-      01003E20H   LINE      ---      ---       #108
-      01003E20H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003E20H   LINE      ---      ---       #111
-      01003E24H   LINE      ---      ---       #113
-      01003E28H   LINE      ---      ---       #114
-      01003E2FH   LINE      ---      ---       #115
-      01003E51H   LINE      ---      ---       #116
-      01003E5EH   LINE      ---      ---       #117
+      01003E28H   BLOCK     CODE     ---       LVL=0
+      01003E28H   LINE      ---      ---       #107
+      01003E28H   LINE      ---      ---       #108
+      01003E28H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003E28H   LINE      ---      ---       #111
+      01003E2CH   LINE      ---      ---       #113
+      01003E30H   LINE      ---      ---       #114
+      01003E37H   LINE      ---      ---       #115
+      01003E59H   LINE      ---      ---       #116
+      01003E66H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3772,14 +3772,14 @@
 
       ---         MODULE    ---      ---       IIC
       01000DEDH   PUBLIC    CODE     ---       _IIC_WriteBlock
-      01003D80H   PUBLIC    CODE     ---       _IIC_write
+      01003D88H   PUBLIC    CODE     ---       _IIC_write
       01001D8BH   PUBLIC    CODE     ---       _IIC_Read
 
-      01003E18H   BLOCK     CODE     ---       LVL=0
-      01003E18H   LINE      ---      ---       #11
-      01003E18H   LINE      ---      ---       #12
-      01003E18H   LINE      ---      ---       #13
-      01003E1FH   LINE      ---      ---       #14
+      01003E20H   BLOCK     CODE     ---       LVL=0
+      01003E20H   LINE      ---      ---       #11
+      01003E20H   LINE      ---      ---       #12
+      01003E20H   LINE      ---      ---       #13
+      01003E27H   LINE      ---      ---       #14
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001D8BH   BLOCK     CODE     ---       LVL=0
@@ -3805,17 +3805,17 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003D80H   BLOCK     CODE     ---       LVL=0
-      01003D80H   LINE      ---      ---       #35
-      01003D9BH   LINE      ---      ---       #36
-      01003D9BH   LINE      ---      ---       #37
-      01003DBCH   LINE      ---      ---       #38
-      01003DC2H   LINE      ---      ---       #39
-      01003DD1H   LINE      ---      ---       #40
-      01003DEEH   LINE      ---      ---       #41
-      01003E05H   LINE      ---      ---       #42
-      01003E0CH   LINE      ---      ---       #43
-      01003E11H   LINE      ---      ---       #44
+      01003D88H   BLOCK     CODE     ---       LVL=0
+      01003D88H   LINE      ---      ---       #35
+      01003DA3H   LINE      ---      ---       #36
+      01003DA3H   LINE      ---      ---       #37
+      01003DC4H   LINE      ---      ---       #38
+      01003DCAH   LINE      ---      ---       #39
+      01003DD9H   LINE      ---      ---       #40
+      01003DF6H   LINE      ---      ---       #41
+      01003E0DH   LINE      ---      ---       #42
+      01003E14H   LINE      ---      ---       #43
+      01003E19H   LINE      ---      ---       #44
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000DEDH   BLOCK     CODE     ---       LVL=0
@@ -3910,5 +3910,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=913 const=182 code=15785
+Program Size: data=10.2 xdata=913 const=182 code=15793
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/output/eeprom.dat	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/output/eeprom.dat	(working copy)
@@ -8192,7 +8192,7 @@
 69
 aa
 55
-61
+69
 3e
 02
 05
@@ -10426,7 +10426,7 @@
 64
 12
 3c
-b4
+bc
 90
 4e
 be
@@ -11896,7 +11896,7 @@
 f9
 12
 3d
-80
+88
 7f
 0a
 d1
@@ -14141,7 +14141,7 @@
 f0
 12
 3d
-1d
+25
 50
 25
 12
@@ -15902,7 +15902,7 @@
 f0
 12
 3e
-18
+20
 90
 4e
 d3
@@ -23230,7 +23230,7 @@
 50
 02
 81
-b3
+bb
 90
 4c
 95
@@ -23587,7 +23587,7 @@
 70
 02
 81
-ab
+b3
 90
 4c
 ff
@@ -23610,13 +23610,21 @@
 0d
 ed
 80
-72
+7a
 90
 4d
 00
 e0
-b4
+64
 02
+60
+07
+90
+4c
+ff
+e0
+b4
+01
 15
 e4
 90
@@ -23997,7 +24005,7 @@
 79
 86
 b1
-3c
+44
 90
 0b
 83
@@ -24161,8 +24169,8 @@
 5c
 f0
 22
-da
-8c
+c9
+5b
 aa
 55
 40
@@ -26242,16 +26250,8 @@
 6c
 59
 50
-bc
-68
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+d1
+49
 ff
 ff
 ff
@@ -32764,5 +32764,5 @@
 ff
 ff
 ff
-bc
-70
+f9
+22
Index: c51/output/fw.hex
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/output/fw.hex	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/output/fw.hex	(working copy)
@@ -137,7 +137,7 @@
 :10088000017A4E79E37D03904EBBEBF0A3EAF0A32F
 :10089000E9F0A3EDF0904B9CE0FFA3E0904EBFCFBA
 :1008A000F0A3EFF0904B9AE0FEA3E0FF904B9CE0AA
-:1008B000FCA3E0FD7B64123CB4904EBEE0FEEFC3AF
+:1008B000FCA3E0FD7B64123CBC904EBEE0FEEFC3A7
 :1008C0009E40E1904EBEE0FF14F0EF603F904EBBC3
 :1008D000E0FBA3E475F001120424A9F0FA1203B6B8
 :1008E000FF904EBFE475F00112042485F082F58379
@@ -229,7 +229,7 @@
 :100E4000FEA3E0FF8004AE04AF05904E9CEEF0FCE4
 :100E5000A3EFF0FDC3904E98E09DF0904E97E09C7C
 :100E6000F0904E95E0FEA3E0FF904E99E0FBA3E0EA
-:100E7000FAA3E0F9123D807F0AD19B904E9CE0FEE0
+:100E7000FAA3E0F9123D887F0AD19B904E9CE0FED8
 :100E8000A3E0FF904E9AEE8FF012040E904E96E083
 :100E90002FF0904E95E03EF0C10422EFD394004035
 :100EA00011E4FDFC0DBD00010CBC04F8BDA6F51F4E
@@ -369,7 +369,7 @@
 :101700004CF8E07007904CF47406F022904CF4749E
 :1017100005F022904CF4E0B40615E4904CF6F090FD
 :101720004CF5F0A3E0FDE4FFD161E4904CF4F0222D
-:10173000904EE9E4F0A3F0A3F0123D1D5025122CC9
+:10173000904EE9E4F0A3F0A3F0123D255025122CC1
 :10174000A6904EE9EBF0A3EAF0A3E9F04A70079007
 :101750004CB604F0800E904EE9E0FBA3E0FAA3E063
 :10176000F9312B22904D46E0604A904DDEE0704406
@@ -479,7 +479,7 @@
 :101DE000EEF0A3EFF07A0B79837E0B7F837483FC94
 :101DF000740BFFECFEEF90809CEEF0A3EFF0908070
 :101E0000907402F090809CA3E020E707908090E01F
-:101E10004401F0908006E04404F0123E18904ED346
+:101E10004401F0908006E04404F0123E20904ED33E
 :101E2000E0A3E0FAA3E0AE02FF7B017A0B79839096
 :101E30004ED1E0A3E0904EC6F00210E8904EF8EBD1
 :101E4000F0A3EAF0A3E9F0ED1DAE0470011C4E60B2
@@ -937,7 +937,7 @@
 :103A8000904CC7E0B40407904213740CF022904CA1
 :103A9000C9E0B40406904213743AF022904ECD125D
 :103AA000058200000000904C91E0FEA3E0FFC3906F
-:103AB0004C96E09F904C95E09E500281B3904C95BF
+:103AB0004C96E09F904C95E09E500281BB904C95B7
 :103AC000E0FEA3E0FF904CD4E0FD04F0ED25E024FF
 :103AD000D6F582E4344CF583EEF0A3EFF0904CD4AD
 :103AE000E0C394044002E4F0E4904ECCF0904ECD5C
@@ -960,40 +960,41 @@
 :103BF000F9EFF0904CE0E0FEA3E0FFE4FCFD904E16
 :103C0000CDE0F8A3E0F9A3E0FAA3E0FBC312056559
 :103C10005027904CD57402F0904D00E06402700281
-:103C200081AB904CFF7401F0FB7A4C79FFFD7C0076
-:103C30007FC07E7F120DED8072904D00E0B40215C2
-:103C4000E4904CFFF07B017A4C79FF7D01FC7FC052
-:103C50007E7F120DED904CDEE0FEA3E0FFE4FCFD64
-:103C6000904ECDE0F8A3E0F9A3E0FAA3E0FBC31285
-:103C70000565501D904CD57401F0904D01E0702BFE
-:103C8000904D40F0A37448F0A37412F0E4A3F080C8
-:103C90001AE4904CD5F0904D01E0700F904D40F03B
-:103CA000A37448F0A3745DF0E4A3F0904CD5E090C9
-:103CB0004D00F022904EDEEEF0A3EFF0904EE0ECDF
-:103CC000F0A3EDF0904EE0E0FEA3E0FFD3904EDFD6
-:103CD000E09F904EDEE09E4016904EE0E0FEA3E0B6
-:103CE000FF904EDFE09FFF904EDEE09EFE801E9034
-:103CF0004EDEE0FEA3E0FFC3904EE1E09FFF904E5A
-:103D0000E0E09EFEAD03C3EB9FFFE49EFE22900B1E
-:103D1000E77404F00217BB900446E0FF22904B9C2E
-:103D2000E0FEA3E0FF904B9AE0B50607A3E0B507DD
-:103D300002D322C3229082807401F022904E9EEB27
-:103D4000F0A3EAF0A3E9F0904EA474FFF5F012049A
-:103D50002445F0602A904EA1E0FBA3E475F0011227
-:103D60000424A9F0FA1203B6FF904E9EE0FBA3E4F0
-:103D700075F001120424A9F0FAEF1203FC80C822A6
-:103D8000904EB4EEF0A3EFF0904EB8EBF0A3EAF053
-:103D9000A3E9F0904EB6ECF0A3EDF0A3E0F9A3E0B8
-:103DA000FAA3E0904EA1C9F0A3EAF0A3E9F0A3ECD6
-:103DB000F0A3EDF07B017A0B7986B13C900B837414
-:103DC000A0F0904EB4E0FFA3E0900B84CFF0A3EFFF
-:103DD000F0904EB7E02403FD904EB6E03400FCEDC9
-:103DE000FAECFFEAFEEF908098EEF0A3EFF07A0B8A
-:103DF00079837E0B7F837483FC740BFFECFEEFA34F
-:103E0000EEF0A3EFF090809EE4F0A3F09080900499
-:103E1000F0908006E04404F090812CE030E5F92237
-:103E2000EFF4603AEF5407FEEF1313135403FF242B
-:103E3000A3F582E43400F583C083C082E0FD740101
-:103E4000A806088002C333D8FCF4FC5DD082D0837E
-:0F3E5000F074A72FF582E43400F583E05CF022D4
+:103C200081B3904CFF7401F0FB7A4C79FFFD7C006E
+:103C30007FC07E7F120DED807A904D00E0640260BF
+:103C400007904CFFE0B40115E4904CFFF07B017A43
+:103C50004C79FF7D01FC7FC07E7F120DED904CDE24
+:103C6000E0FEA3E0FFE4FCFD904ECDE0F8A3E0F918
+:103C7000A3E0FAA3E0FBC3120565501D904CD57478
+:103C800001F0904D01E0702B904D40F0A37448F08E
+:103C9000A37412F0E4A3F0801AE4904CD5F0904D98
+:103CA00001E0700F904D40F0A37448F0A3745DF0F4
+:103CB000E4A3F0904CD5E0904D00F022904EDEEE63
+:103CC000F0A3EFF0904EE0ECF0A3EDF0904EE0E0CA
+:103CD000FEA3E0FFD3904EDFE09F904EDEE09E40DB
+:103CE00016904EE0E0FEA3E0FF904EDFE09FFF90D5
+:103CF0004EDEE09EFE801E904EDEE0FEA3E0FFC39F
+:103D0000904EE1E09FFF904EE0E09EFEAD03C3EBDE
+:103D10009FFFE49EFE22900BE77404F00217BB9015
+:103D20000446E0FF22904B9CE0FEA3E0FF904B9AFC
+:103D3000E0B50607A3E0B50702D322C32290828034
+:103D40007401F022904E9EEBF0A3EAF0A3E9F0900C
+:103D50004EA474FFF5F012042445F0602A904EA1A1
+:103D6000E0FBA3E475F001120424A9F0FA1203B6F3
+:103D7000FF904E9EE0FBA3E475F001120424A9F02D
+:103D8000FAEF1203FC80C822904EB4EEF0A3EFF0DD
+:103D9000904EB8EBF0A3EAF0A3E9F0904EB6ECF049
+:103DA000A3EDF0A3E0F9A3E0FAA3E0904EA1C9F0DF
+:103DB000A3EAF0A3E9F0A3ECF0A3EDF07B017A0B0A
+:103DC0007986B144900B8374A0F0904EB4E0FFA3C9
+:103DD000E0900B84CFF0A3EFF0904EB7E02403FD0A
+:103DE000904EB6E03400FCEDFAECFFEAFEEF908076
+:103DF00098EEF0A3EFF07A0B79837E0B7F837483C8
+:103E0000FC740BFFECFEEFA3EEF0A3EFF090809EAE
+:103E1000E4F0A3F090809004F0908006E04404F079
+:103E200090812CE030E5F922EFF4603AEF5407FE80
+:103E3000EF1313135403FF24A3F582E43400F58336
+:103E4000C083C082E0FD7401A806088002C333D895
+:103E5000FCF4FC5DD082D083F074A72FF582E434AB
+:073E600000F583E05CF02295
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /YC1026/YC1026_3mode_SDK/c51/output/fwram.rom	(revision 603)
+++ /YC1026/YC1026_3mode_SDK/c51/output/fwram.rom	(working copy)
@@ -2230,7 +2230,7 @@
 64
 12
 3c
-b4
+bc
 90
 4e
 be
@@ -3700,7 +3700,7 @@
 f9
 12
 3d
-80
+88
 7f
 0a
 d1
@@ -5945,7 +5945,7 @@
 f0
 12
 3d
-1d
+25
 50
 25
 12
@@ -7706,7 +7706,7 @@
 f0
 12
 3e
-18
+20
 90
 4e
 d3
@@ -15034,7 +15034,7 @@
 50
 02
 81
-b3
+bb
 90
 4c
 95
@@ -15391,7 +15391,7 @@
 70
 02
 81
-ab
+b3
 90
 4c
 ff
@@ -15414,13 +15414,21 @@
 0d
 ed
 80
-72
+7a
 90
 4d
 00
 e0
-b4
+64
 02
+60
+07
+90
+4c
+ff
+e0
+b4
+01
 15
 e4
 90
@@ -15801,7 +15809,7 @@
 79
 86
 b1
-3c
+44
 90
 0b
 83
Index: c51/patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
