From a9312568cde771d4b970445e1f66a04fabb64d56 Mon Sep 17 00:00:00 2001
From: QuakeGod <QuakeGod@sina.com>
Date: 星期三, 01 二月 2023 14:07:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/Radio' into dev1

---
 Src/functions.c |   80 ++++++++++++++++++++++++----------------
 1 files changed, 48 insertions(+), 32 deletions(-)

diff --git a/Src/functions.c b/Src/functions.c
index 8a519f7..d564f9b 100644
--- a/Src/functions.c
+++ b/Src/functions.c
@@ -19,16 +19,16 @@
 unsigned int TickPrioduS;	//
 volatile unsigned int nCurTick=0;
 volatile unsigned int CurTickuS=0;
-//volatile unsigned int ThisRunTime=0;		//锟斤拷锟斤拷时锟斤拷
-//volatile unsigned int TotalRunTime=0; 	//锟杰匡拷锟斤拷时锟斤拷
-//volatile unsigned int PwrCount=0;				//锟斤拷锟斤拷锟斤拷锟斤拷
-unsigned short ClkuS;				//每锟斤拷Clk锟斤拷nS锟斤拷锟斤拷
+//volatile unsigned int ThisRunTime=0;		//寮�鏈烘椂闂�
+//volatile unsigned int TotalRunTime=0; 	//鎬诲紑鏈烘椂闂�
+//volatile unsigned int PwrCount=0;				//寮�鏈烘鏁�
+unsigned short ClkuS;				//姣忎釜Clk鐨刵S鏁帮紝
 
 int InituS(int TickFreq1)
 {
-		TickPrioduS=1000000/TickFreq1;	//每锟斤拷SysTick锟斤拷微锟斤拷锟斤拷
-		CoreClkMHz=HAL_RCC_GetHCLKFreq()/1000000;		//=SystemCoreClock/1000000;每uS锟斤拷时锟斤拷锟斤拷
-		TickPriodClk=SystemCoreClock/TickFreq1;			//每锟斤拷SysTick锟斤拷时锟斤拷锟斤拷
+		TickPrioduS=1000000/TickFreq1;	//姣忎釜SysTick鐨勫井绉掓暟
+		CoreClkMHz=HAL_RCC_GetHCLKFreq()/1000000;		//=SystemCoreClock/1000000;姣弖S鐨勬椂閽熸暟
+		TickPriodClk=SystemCoreClock/TickFreq1;			//姣忎釜SysTick鐨勬椂閽熸暟
 		ClkuS=(1000000LL*65536)/SystemCoreClock;
 		CurTickuS=TickPrioduS+100u;
 	return 0;
@@ -53,6 +53,12 @@
 {
 //	unsigned short Clk1=SysTick->VAL;
 		return nCurTick;
+}
+
+void logData(unsigned char d)
+{
+			KMem.WDB[128+KMem.WDT[123]] = d;
+			KMem.WDT[123]++; 	 if (KMem.WDT[123]>=100) {KMem.WDT[123]=81;}			
 }
 
 const unsigned short crc16_table[256] = {
@@ -211,7 +217,7 @@
 	LL_DMA_SetDataLength(DMA1,LL_DMA_CHANNEL_2,nSize);
 	LL_DMA_EnableChannel(DMA1,LL_DMA_CHANNEL_2);
 	Uart1Stat.DMASendLen=nSize;
-	Uart1Stat.Sending=1;	
+	Uart1Stat.bSending=1;	
 	LL_DMA_EnableIT_TC(DMA1,LL_DMA_CHANNEL_2);
 	LL_USART_EnableDMAReq_TX(USART1);
 	return nSize;	
@@ -219,7 +225,7 @@
 
 int Uart1TriggerSendDMA()
 {
-		if (!Uart1Stat.Sending&&!IsEmpty(&Uart1Stat.QTx))
+		if (!Uart1Stat.bSending&&!IsEmpty(&Uart1Stat.QTx))
 		{			
 			int len1=GetContinueData(&Uart1Stat.QTx);
 			Uart1SendDMA(GetReadBuffer(&Uart1Stat.QTx),len1);
@@ -235,7 +241,7 @@
 	LL_DMA_SetDataLength(DMA1,LL_DMA_CHANNEL_5,nSize);
 	LL_DMA_EnableChannel(DMA1,LL_DMA_CHANNEL_5);
 	Uart2Stat.DMARecvLen=nSize;
-	Uart2Stat.Recving=1;	
+	Uart2Stat.bRecving=1;	
 	LL_DMA_EnableIT_TC(DMA1,LL_DMA_CHANNEL_5);
 	LL_USART_EnableDMAReq_RX(USART2);	
 	return 0;
@@ -248,14 +254,14 @@
 	LL_DMA_SetDataLength(DMA1,LL_DMA_CHANNEL_4,nSize);
 	LL_DMA_EnableChannel(DMA1,LL_DMA_CHANNEL_4);
 	Uart2Stat.DMASendLen=nSize;
-	Uart2Stat.Sending=1;	
+	Uart2Stat.bSending=1;	
 	LL_DMA_EnableIT_TC(DMA1,LL_DMA_CHANNEL_4);
 	LL_USART_EnableDMAReq_TX(USART2);
 	return nSize;	
 }
 int Uart2TriggerSendDMA()
 {
-		if (!Uart2Stat.Sending&&!IsEmpty(&Uart2Stat.QTx))
+		if (!Uart2Stat.bSending&&!IsEmpty(&Uart2Stat.QTx))
 		{			
 			int len1=GetContinueData(&Uart2Stat.QTx);
 			Uart2SendDMA(GetReadBuffer(&Uart2Stat.QTx),len1);
@@ -281,7 +287,7 @@
 #endif		
 	if (Uart2Stat.bPacketRecved)
 	{
-		ParsePacket(2, (pPacket)Uart2RecvBuf1, Uart2RecvBuf1DataLen);		
+		KBusParsePacket(2, (pKBPacket)Uart2RecvBuf1, Uart2RecvBuf1DataLen);		
 		Uart2RecvBuf1DataLen=0;
 		Uart2Stat.bPacketRecved=0;
 		Uart2RecvDMA(Uart2RecvBuf1,sizeof(Uart2RecvBuf1));		
@@ -296,12 +302,11 @@
 	 {
 		 	value = LL_SPI_ReceiveData8( SPI1);
 #if (BOARD_TYPE == 14)
-			KMem.SDD[62]++;
-			KMem.SDT[122]++;
+			KMem.WDD[62]++;
+			KMem.WDT[122]++;
 		 if (!bSPI1Sending)
 		 {
-		 	 KMem.SDB[128+KMem.SDT[123]] = value;
-			 KMem.SDT[123]++; 	 if (KMem.SDT[123]>=100) {KMem.SDT[123]=81;}
+			 logData(value);
 		 }
 		 if (!bSPI1Sending && (1 || bSPI1Recving))
 		 {
@@ -310,8 +315,7 @@
 			 
 			 if (value==0x0d)
 			 {
-		 	 KMem.SDB[128+KMem.SDT[123]] = nSPI1RecvPos;
-			 KMem.SDT[123]++; 	 if (KMem.SDT[123]>=100) {KMem.SDT[123]=81;}
+				 logData(nSPI1RecvPos);
 
 				 nSPI1RecvLenInBuf=nSPI1RecvPos;
 				 bSPI1RecvDone=1;
@@ -338,8 +342,7 @@
 			 else {
 				 value = SPI1SendBuf[nSPI1SentLen];
 				 LL_SPI_TransmitData8(SPI1,value);
-				 KMem.SDB[128+KMem.SDT[123]] = value;
-				 KMem.SDT[123]++; 	 if (KMem.SDT[123]>=100) {KMem.SDT[123]=81;}			 
+				logData(value);
 			 }
 		 }
 #endif		 
@@ -378,7 +381,7 @@
 	Uart2Stat.IdelCount++;
 	if (Uart2RecvBuf1DataLen>0)
 		TriggerPendSV();
-	//	ParsePacket((pPacket)Uart2RecvBuf1,Uart2RecvBuf1DataLen);
+	//	ParsePacket((pKBPacket)Uart2RecvBuf1,Uart2RecvBuf1DataLen);
 }
 
 int PutStr(char * str1, int len1)
@@ -433,7 +436,7 @@
 		Uart1Stat.SentPacket++;
 	return len1;
 }
-int SendPacket2(pPacket p1,int len1)
+int SendPacket2(pKBPacket p1,int len1)
 {
 		PutStr2((char *)p1,len1);	
 //	PushIn(&Uart2Stat.QTx,p1,len1);
@@ -444,6 +447,8 @@
 */
 void ToggleRunLed() {	LL_GPIO_TogglePin(GPIOC,LL_GPIO_PIN_13);}
 void ToggleErrLed() {	LL_GPIO_TogglePin(GPIOC,LL_GPIO_PIN_14);}
+void ToggleErr2Led() {	LL_GPIO_TogglePin(GPIOC,LL_GPIO_PIN_15);}
+
 #if (BOARD_TYPE == 14)
 void ToggleOutStat() {	LL_GPIO_TogglePin(GPIOC,LL_GPIO_PIN_15);}
 
@@ -472,11 +477,17 @@
 	if (bOn) {LL_GPIO_ResetOutputPin(GPIOC,LL_GPIO_PIN_14);}
 	else {LL_GPIO_SetOutputPin(GPIOC,LL_GPIO_PIN_14);}		
 }
+void SetErr2Led(uchar bOn)
+{
+	if (bOn) {LL_GPIO_ResetOutputPin(GPIOC,LL_GPIO_PIN_15);}
+	else {LL_GPIO_SetOutputPin(GPIOC,LL_GPIO_PIN_15);}		
+}
+/*
 void SetLeds(uchar bRun, uchar bErr)
 {
 	SetRunLed(bRun); SetErrLed (bErr);
 }
-
+*/
 #define set165SL_0() LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_4)
 #define set165SL_1() LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_4)
 #define set165CLK_0() LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_5)
@@ -615,9 +626,12 @@
 		case 13:
 						return Input165_R(16);
 		case 14:
-					 return 0;	//FP0
+						return 0;	//FP0
 		case 15:
 						return Input165_R(16);
+		case 16:
+						return Input165_R(8);
+		
 		default:
 			break;
 	}
@@ -709,6 +723,7 @@
 		case 14:
 					 return (~(LL_GPIO_ReadInputPort(GPIOA)>>4))&0x0f;	//FP0
 		case 15:
+		case 16:
 					 return ReadConfig_5();	//Wireless Master Slave 8 in 8 o
 		default:
 			
@@ -732,7 +747,7 @@
 void Output595_8(unsigned int cc)
 {
 //unsigned char i;
-;//		74HC595锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷8位
+;//		74HC595杈撳嚭绋嬪簭锛岃緭鍑�8浣�
 //	cc=~0x3f;
 	__disable_irq();
 	STRCLK2_1();
@@ -758,7 +773,7 @@
 void Output595_16(unsigned int cc)
 {
 //unsigned char i;
-;//		74HC595锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷8位
+;//		74HC595杈撳嚭绋嬪簭锛岃緭鍑�8浣�
 //	cc=~0x3f;
 	__disable_irq();
 	STRCLK2_1();
@@ -853,14 +868,15 @@
 {	
 #if (BOARD_TYPE == 14)
 	return ;
-#endif
+#else
 	PutOutputSPI2(Y);
 	//Output595_16(Y);
+#endif
 }
 
-#if (BOARD_TYPE == 9 || BOARD_TYPE == 10 || BOARD_TYPE == 15 )
+#if (BOARD_TYPE == 9 || BOARD_TYPE == 10 || BOARD_TYPE == 15 ||  BOARD_TYPE == 16)
 //#pragma message("9,10")
-	// V4.2 锟杰斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟狡讹拷锟斤拷一位锟斤拷
+	// V4.2 绠¤剼鎺掑垪鍚戝彸绉诲姩浜嗕竴浣嶃��
 #define SRCLK1_0() LL_GPIO_ResetOutputPin(GPIOB,LL_GPIO_PIN_1)
 #define SRCLK1_1() LL_GPIO_SetOutputPin(GPIOB,LL_GPIO_PIN_1)
 #define STRCLK1_0() LL_GPIO_ResetOutputPin(GPIOB,LL_GPIO_PIN_2)
@@ -869,7 +885,7 @@
 #define OE1_1() LL_GPIO_SetOutputPin(GPIOB,LL_GPIO_PIN_10)
 #define SER1_0() LL_GPIO_ResetOutputPin(GPIOB,LL_GPIO_PIN_11)
 #define SER1_1() LL_GPIO_SetOutputPin(GPIOB,LL_GPIO_PIN_11)
-#else		//锟斤拷锟斤拷原锟斤拷锟侥管斤拷锟斤拷锟斤拷
+#else		//鎸夌収鍘熸潵鐨勭鑴氭帓鍒�
 #define SRCLK1_0() LL_GPIO_ResetOutputPin(GPIOB,LL_GPIO_PIN_0)
 #define SRCLK1_1() LL_GPIO_SetOutputPin(GPIOB,LL_GPIO_PIN_0)
 #define STRCLK1_0() LL_GPIO_ResetOutputPin(GPIOB,LL_GPIO_PIN_1)
@@ -890,7 +906,7 @@
 void displayInput(unsigned int cc)
 {
 //unsigned char i;
-;//		74HC595锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷8位
+;//		74HC595杈撳嚭绋嬪簭锛岃緭鍑�8浣�
 //	cc=~0x3f;
 	__disable_irq();
 	STRCLK1_1();

--
Gitblit v1.9.1