zack 1 год назад
Родитель
Сommit
1f15c6f92b
7 измененных файлов с 4065 добавлено и 3861 удалено
  1. 10 0
      Core/Inc/oledfont.h
  2. 32 8
      Core/Src/interface.c
  3. 94 10
      Core/Src/key.c
  4. 4 4
      Core/Src/main.c
  5. 2 2
      Core/Src/mba32a.c
  6. 1 1
      MDK-ARM/dtu.uvoptx
  7. 3922 3836
      Output/dtu.hex

+ 10 - 0
Core/Inc/oledfont.h

@@ -433,6 +433,16 @@ const unsigned char Hzk1[][32]={
 {0x80,0x80,0x88,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0x88,0x80,0x80,0x00,0x20,0x20,0x10,0x08,0x04,0x02,0x01,0xFF,0x01,0x02,0x04,0x08,0x10,0x20,0x20,0x00},/*"未",32*/
 {0x80,0x80,0x88,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0x88,0x80,0x80,0x00,0x20,0x20,0x10,0x08,0x04,0x02,0x01,0xFF,0x01,0x02,0x04,0x08,0x10,0x20,0x20,0x00},/*"未",32*/
 {0x20,0x38,0xE7,0x30,0x00,0x48,0x48,0xFF,0x48,0x48,0x00,0xFE,0x42,0xB2,0x0E,0x00,0x22,0x27,0x12,0x12,0x00,0x82,0x62,0x1F,0x02,0x02,0x00,0xFF,0x08,0x10,0x0F,0x00},/*"绑",33*/
 {0x20,0x38,0xE7,0x30,0x00,0x48,0x48,0xFF,0x48,0x48,0x00,0xFE,0x42,0xB2,0x0E,0x00,0x22,0x27,0x12,0x12,0x00,0x82,0x62,0x1F,0x02,0x02,0x00,0xFF,0x08,0x10,0x0F,0x00},/*"绑",33*/
 {0x10,0x0C,0x44,0x44,0x44,0x44,0x45,0xC6,0x44,0x44,0x44,0x44,0x44,0x14,0x0C,0x00,0x80,0x40,0x20,0x1E,0x20,0x40,0x40,0x7F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00},/*"定",34*/
 {0x10,0x0C,0x44,0x44,0x44,0x44,0x45,0xC6,0x44,0x44,0x44,0x44,0x44,0x14,0x0C,0x00,0x80,0x40,0x20,0x1E,0x20,0x40,0x40,0x7F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00},/*"定",34*/
+	
+	
+
+{0x10,0x60,0x02,0x8C,0x00,0x44,0x54,0x54,0x54,0x7F,0x54,0x54,0x54,0x44,0x40,0x00,0x04,0x04,0x7E,0x01,0x00,0x00,0xFF,0x15,0x15,0x15,0x55,0x95,0x7F,0x00,0x00,0x00},/*"清",35*/
+{0x10,0x0C,0x44,0x24,0x14,0x04,0x05,0x06,0x04,0x04,0x14,0x24,0x44,0x14,0x0C,0x00,0x00,0x40,0x40,0x41,0x41,0x41,0x41,0x7F,0x41,0x41,0x41,0x41,0x40,0x40,0x00,0x00},/*"空",36*/
+{0x20,0x38,0xE7,0x30,0x00,0x48,0x48,0xFF,0x48,0x48,0x00,0xFE,0x42,0xB2,0x0E,0x00,0x22,0x27,0x12,0x12,0x00,0x82,0x62,0x1F,0x02,0x02,0x00,0xFF,0x08,0x10,0x0F,0x00},/*"绑",37*/
+{0x10,0x0C,0x44,0x44,0x44,0x44,0x45,0xC6,0x44,0x44,0x44,0x44,0x44,0x14,0x0C,0x00,0x80,0x40,0x20,0x1E,0x20,0x40,0x40,0x7F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00},/*"定",38*/
+{0x00,0x80,0x60,0xF8,0x07,0x00,0x04,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x04,0x00,0x01,0x00,0x00,0xFF,0x00,0x00,0x00,0xF9,0x49,0x49,0x49,0x49,0x49,0xF9,0x00,0x00},/*"信",39*/
+{0x00,0x00,0x00,0xFC,0x54,0x54,0x56,0x55,0x54,0x54,0x54,0xFC,0x00,0x00,0x00,0x00,0x40,0x30,0x00,0x03,0x39,0x41,0x41,0x45,0x59,0x41,0x41,0x73,0x00,0x08,0x30,0x00},/*"息",40*/
+
 
 
 
 
 
 

+ 32 - 8
Core/Src/interface.c

@@ -43,7 +43,7 @@ void workSet(Menu_table menu); //0x04 0x05 0x06 0x07
 
 
 void Macbinding(void);	//0xA1
 void Macbinding(void);	//0xA1
 void WarningTip(void);	//0xBB
 void WarningTip(void);	//0xBB
-  
+void clearSn(void);		//0xCC
 /**
 /**
   * @breaf 썹충契瘻
   * @breaf 썹충契瘻
   */
   */
@@ -54,6 +54,7 @@ void Jump_interface(Menu_table menu)
 		OLED_Clear();		
 		OLED_Clear();		
 		refresh=false;
 		refresh=false;
 	}
 	}
+
 	switch(menu.current)
 	switch(menu.current)
 	{
 	{
 		case 0:
 		case 0:
@@ -65,8 +66,17 @@ void Jump_interface(Menu_table menu)
 		break;
 		break;
 		
 		
 		case 2:
 		case 2:
-			LBinding();
-		break;
+			if(menu.up==0)
+			{
+				clearSn();
+				break;
+			}
+			else
+			{
+				LBinding();
+				break;
+			}
+		
 		
 		
 		case 3:
 		case 3:
 			setLock();
 			setLock();
@@ -87,9 +97,23 @@ void Jump_interface(Menu_table menu)
 		case 0xBB:
 		case 0xBB:
 			WarningTip();
 			WarningTip();
 		break;
 		break;
+		
+
 	}
 	}
 }
 }
 
 
+
+void clearSn(void)
+{
+	//헌왕곬땍斤口
+	OLED_ShowChinese(10,25,35,16,1);
+	OLED_ShowChinese(30,25,36,16,1);
+	OLED_ShowChinese(50,25,37,16,1);
+	OLED_ShowChinese(70,25,38,16,1);
+	OLED_ShowChinese(90,25,39,16,1);
+	OLED_ShowChinese(110,25,40,16,1);
+}
+
 void setLock(void)
 void setLock(void)
 {
 {
 	OLED_ShowString(20,2,(unsigned char*)"L 1",16,1);
 	OLED_ShowString(20,2,(unsigned char*)"L 1",16,1);
@@ -276,23 +300,23 @@ void LBinding(void)
 	OLED_ShowString(20,47,(unsigned char*)"L 4",16,1);
 	OLED_ShowString(20,47,(unsigned char*)"L 4",16,1);
 	OLED_ShowChinese(55,47,16,14,1);//곬
 	OLED_ShowChinese(55,47,16,14,1);//곬
 	OLED_ShowChinese(75,47,17,14,1);//땍
 	OLED_ShowChinese(75,47,17,14,1);//땍
-	if(menu.up==3 && menu.next==0)
+	if(menu.up==4 && menu.next==0)
 	{	
 	{	
 		OLED_ShowString(100,2,(unsigned char*)"<--",16,0); //L1
 		OLED_ShowString(100,2,(unsigned char*)"<--",16,0); //L1
 	}
 	}
-	else if(menu.up==2 && menu.next==1)
+	else if(menu.up==3 && menu.next==1)
 	{	
 	{	
 		OLED_ShowString(100,17,(unsigned char*)"<--",16,0);//L2
 		OLED_ShowString(100,17,(unsigned char*)"<--",16,0);//L2
 	}
 	}
-	else if(menu.up==1 && menu.next==2)
+	else if(menu.up==2 && menu.next==2)
 	{	
 	{	
 		OLED_ShowString(100,32,(unsigned char*)"<--",16,0);//L3
 		OLED_ShowString(100,32,(unsigned char*)"<--",16,0);//L3
 	}
 	}
-	else if(menu.up==0 && menu.next==3)
+	else if(menu.up==1 && menu.next==3)
 	{	
 	{	
 		OLED_ShowString(100,47,(unsigned char*)"<--",16,0);//L4
 		OLED_ShowString(100,47,(unsigned char*)"<--",16,0);//L4
 	}
 	}
-	
+
 }
 }
 
 
 /**
 /**

+ 94 - 10
Core/Src/key.c

@@ -49,6 +49,20 @@ uint8_t KEY_1_Scan(void)
 								break;
 								break;
 							}
 							}
 							case 2:
 							case 2:
+							{
+								if(menu.up!=4)
+								{
+									menu.up+=1;
+									menu.next-=1;
+								}
+								else if(menu.up==4)
+								{
+									menu.up=0;
+									menu.next=4;
+								}
+								refresh=true;
+								break;
+							}
 							case 3:
 							case 3:
 							{
 							{
 								if(menu.up!=3)
 								if(menu.up!=3)
@@ -106,7 +120,7 @@ uint8_t KEY_1_Scan(void)
 
 
 								
 								
 					}
 					}
-					//PRINT_MENU_STATUS("K1");
+					PRINT_MENU_STATUS("K1");
 					sent1_key = true;
 					sent1_key = true;
 				}
 				}
 				return 1;
 				return 1;
@@ -156,6 +170,20 @@ uint8_t KEY_2_Scan(void)
 							break;
 							break;
 						}
 						}
 						case 2:
 						case 2:
+						{
+							if(menu.next!=4)
+							{
+								menu.up-=1;
+								menu.next+=1;
+							}
+							else if(menu.next==4)
+							{
+								menu.up=4;
+								menu.next=0;
+							}
+							refresh=true;
+							break;
+						}
 						case 3:
 						case 3:
 						{
 						{
 							if(menu.next!=3)
 							if(menu.next!=3)
@@ -211,7 +239,7 @@ uint8_t KEY_2_Scan(void)
 							break;
 							break;
 						}
 						}
 					}
 					}
-					//PRINT_MENU_STATUS("K2");
+					PRINT_MENU_STATUS("K2");
 					sent2_key = true;
 					sent2_key = true;
 				}
 				}
 				return 1;
 				return 1;
@@ -259,7 +287,7 @@ uint8_t KEY_3_Scan(void)
 							if(menu.up==1)
 							if(menu.up==1)
 							{
 							{
 								scanMac();
 								scanMac();
-								SET_MENU_STATUS(2,3,0,2);
+								SET_MENU_STATUS(2,4,0,2);
 							}
 							}
 							else
 							else
 							{
 							{
@@ -270,10 +298,66 @@ uint8_t KEY_3_Scan(void)
 						}
 						}
 						case 2:
 						case 2:
 						{
 						{
-							menu.PreNext=menu.next;
-							SET_MENU_STATUS(0xA1,0xF,0,3);
-							//printf("%04x",menu.PreNext);
-							break;
+							if(menu.up==0)
+							{
+								//Çå¿ÕSN
+								
+								menu.SN1name=NULL;
+								menu.SN1=NULL;
+								menu.SN1F=NULL;
+								menu.SN2name=NULL;
+								menu.SN2=NULL;
+								menu.SN2F=NULL;
+								menu.SN3name=NULL;
+								menu.SN3=NULL;
+								menu.SN3F=NULL;
+								menu.SN4name=NULL;
+								menu.SN4=NULL;
+								menu.SN4F=NULL;
+								menu.SN1D=NULL;
+								menu.SN2D=NULL;
+								menu.SN3D=NULL;
+								menu.SN4D=NULL;
+								
+								erase_flash(Sn1StatusAddr);
+								HAL_Delay(10);
+								erase_flash(Sn2StatusAddr);
+								HAL_Delay(10);
+								erase_flash(Sn3StatusAddr);
+								HAL_Delay(10);
+								erase_flash(Sn4StatusAddr);
+								HAL_Delay(10);
+								erase_flash(Sn1Addr);
+								HAL_Delay(10);
+								erase_flash(Sn2Addr);
+								HAL_Delay(10);
+								erase_flash(Sn3Addr);
+								HAL_Delay(10);
+								erase_flash(Sn4Addr);
+								HAL_Delay(10);
+								erase_flash(serialNum1Addr);
+								HAL_Delay(10);
+								erase_flash(serialNum2Addr);
+								HAL_Delay(10);
+								erase_flash(serialNum3Addr);
+								HAL_Delay(10);
+								erase_flash(serialNum4Addr);
+								HAL_Delay(10);
+								L1bd=false;
+								L2bd=false;
+								L3bd=false;
+								L4bd=false;
+								menu.home=0x10000;
+								SET_MENU_STATUS(1,1,0,1);
+								break;
+							}
+							else
+							{
+								menu.PreNext=menu.next;
+								SET_MENU_STATUS(0xA1,0xF,0,3);
+								//printf("%04x",menu.PreNext);
+								break;
+							}
 						}
 						}
 						case 3:
 						case 3:
 						{
 						{
@@ -796,13 +880,13 @@ uint8_t KEY_3_Scan(void)
 							}
 							}
 
 
 							
 							
-							SET_MENU_STATUS(2,3,0,2);
+							SET_MENU_STATUS(2,4,0,2);
 							
 							
 							break;
 							break;
 						}
 						}
 					}
 					}
 
 
-					//PRINT_MENU_STATUS("K3");
+					PRINT_MENU_STATUS("K3");
 					sent3_key = true;
 					sent3_key = true;
 				}
 				}
 				return 1;
 				return 1;
@@ -885,7 +969,7 @@ uint8_t KEY_4_Scan(void)
 							break;
 							break;
 						}
 						}
 					}
 					}
-					//PRINT_MENU_STATUS("K4");
+					PRINT_MENU_STATUS("K4");
 					sent4_key = true;
 					sent4_key = true;
 				}
 				}
 				return 1;
 				return 1;

+ 4 - 4
Core/Src/main.c

@@ -224,7 +224,7 @@ void readLockStatusinit(void)
   
   
   if(S1LS==0xFFFFFFFF)
   if(S1LS==0xFFFFFFFF)
   {
   {
-	  btframe.serialNum1 = 0;
+	  btframe.serialNum1 = 0x00000001;
   }	
   }	
   else
   else
   {
   {
@@ -232,7 +232,7 @@ void readLockStatusinit(void)
   }
   }
   if(S2LS==0xFFFFFFFF)
   if(S2LS==0xFFFFFFFF)
   {
   {
-	  btframe.serialNum2 = 0;
+	  btframe.serialNum2 = 0x00000001;
   }	
   }	
   else
   else
   {
   {
@@ -240,7 +240,7 @@ void readLockStatusinit(void)
   }
   }
   if(S3LS==0xFFFFFFFF)
   if(S3LS==0xFFFFFFFF)
   {
   {
-	  btframe.serialNum3 = 0;
+	  btframe.serialNum3 = 0x00000001;
   }	
   }	
   else
   else
   {
   {
@@ -248,7 +248,7 @@ void readLockStatusinit(void)
   }
   }
   if(S4LS==0xFFFFFFFF)
   if(S4LS==0xFFFFFFFF)
   {
   {
-	  btframe.serialNum4 = 0;
+	  btframe.serialNum4 = 0x00000001;
   }	
   }	
   else
   else
   {
   {

+ 2 - 2
Core/Src/mba32a.c

@@ -83,7 +83,6 @@ void MBA32A_Init(void)
 	btframe.Autoseal  = 0xFF; \
 	btframe.Autoseal  = 0xFF; \
 	printf("\t###01\tBT_init%d...\r\n", resetcount_bt); 
 	printf("\t###01\tBT_init%d...\r\n", resetcount_bt); 
 	
 	
-	
 	Start_Read_resetFlag16();/** 启动位读写检查 **/
 	Start_Read_resetFlag16();/** 启动位读写检查 **/
 	if(sendCmd_BT("AT+DISCONN=0\r\n","ERROR",1,1))//断开连接
 	if(sendCmd_BT("AT+DISCONN=0\r\n","ERROR",1,1))//断开连接
 	{
 	{
@@ -218,13 +217,14 @@ void lock_searchInfo(void)				//
 	sendCombinedArray(header,sizeof(header),serchInfo_CMD,sizeof(serchInfo_CMD),0);
 	sendCombinedArray(header,sizeof(header),serchInfo_CMD,sizeof(serchInfo_CMD),0);
 	Echo_BT(20);
 	Echo_BT(20);
 }
 }
+
 /**
 /**
   * @breaf 蓝牙开锁信息帧
   * @breaf 蓝牙开锁信息帧
   */
   */
 void open_lock(BtFrame btframe)			//蓝牙开锁信息帧
 void open_lock(BtFrame btframe)			//蓝牙开锁信息帧
 {
 {
 	uint8_t header[2] 	= {0x66, 0x01};//Jl_lock帧头
 	uint8_t header[2] 	= {0x66, 0x01};//Jl_lock帧头
-	uint8_t open_CMD[] = {0x02, 0x0C, 	0x00,0x00,0x00,0x00,		0x00,0x00,0x00,0x00,	\
+	uint8_t open_CMD[] = {0x02, 0x0C, 	0x00,0x00,0x00,0x00,		0x00,0x00,0x00,0x00, \
 												0x00,0x00,0x00,0x00,   0x00};//开锁命令帧
 												0x00,0x00,0x00,0x00,   0x00};//开锁命令帧
 	
 	
 	uint32_t serialNum;
 	uint32_t serialNum;

+ 1 - 1
MDK-ARM/dtu.uvoptx

@@ -178,7 +178,7 @@
       <DebugFlag>
       <DebugFlag>
         <trace>0</trace>
         <trace>0</trace>
         <periodic>0</periodic>
         <periodic>0</periodic>
-        <aLwin>1</aLwin>
+        <aLwin>0</aLwin>
         <aCover>0</aCover>
         <aCover>0</aCover>
         <aSer1>0</aSer1>
         <aSer1>0</aSer1>
         <aSer2>0</aSer2>
         <aSer2>0</aSer2>

Разница между файлами не показана из-за своего большого размера
+ 3922 - 3836
Output/dtu.hex