From 79e2ee456bff6dd7478dbb6dac25fc55ea6370ee Mon Sep 17 00:00:00 2001
From: YunHorn Technology <dp.s@yunhorn.com>
Date: Tue, 25 Feb 2025 12:19:16 +0800
Subject: [PATCH] add SOS BUTTON CONTROL....

---
 Core/Src/ev1527.c                     |  49 ++++++++++++++++++++++----
 Core/Src/gpio.c                       |   5 +--
 Core/Src/main.c                       |  22 +++++++++---
 Core/Src/stm32wlxx_it.c               |   9 ++---
 STM32CubeIDE/Release/WL55JC_AS923.elf | Bin 68852 -> 68468 bytes
 5 files changed, 67 insertions(+), 18 deletions(-)

diff --git a/Core/Src/ev1527.c b/Core/Src/ev1527.c
index eef0a7d..96cff61 100644
--- a/Core/Src/ev1527.c
+++ b/Core/Src/ev1527.c
@@ -57,7 +57,9 @@ static uint8_t consecutiveEqualCount = 0;          // 数据接收相同计数
 static uint8_t Bit_Count = 0;                      // 接收数据位计数
 static uint8_t Received_Data = 0;                  // 接收到的数据
 static Decode_State_t RF_Decode_State = LEAD_CODE; // 数据解码状态
-
+static uint32_t Lead_Code_Count_Start =0;
+static uint32_t High_Bit_Count_Start =0;
+static uint32_t Low_Bit_Count_Start =0;
 void Decode_Data(void);
 void Execute_Function(void);
 void Reset_Decode_Parameters(void);
@@ -91,19 +93,28 @@ void RF_Signal_Decode(void)
         // 判断是否低电平
         if (HAL_GPIO_ReadPin(DATA_433_GPIO_PORT, DATA_433_PIN) == GPIO_PIN_RESET)
         {
-            Lead_Code_Count++;
+        	// printf("_");
+            // Lead_Code_Count++;
+        	// Lead_Code_Count = TIM1_cnt - Lead_Code_Count_Start;
+
         }
         else // 高电平判断范围
         {
+
+        	Lead_Code_Count = TIM1_cnt - Lead_Code_Count_Start;
+        	printf("+");
             // 判断引导码范围是否合法
+
             if (Lead_Code_Count >= MIN_LEAD_CODE && Lead_Code_Count <= MAX_LEAD_CODE)
             {
                 Lead_Code_Count = 0;
                 Reset_Decode_Parameters();  // 重置解码参数
                 RF_Decode_State = HIGH_BIT; // 进入高位数据位判断状态
+                printf("+");
             }
             else
             {
+            	printf(".");
                 Reset_Decode_Parameters(); // 引导码范围不合法,重置解码参数
             }
         }
@@ -113,16 +124,20 @@ void RF_Signal_Decode(void)
         // 判断是否高电平
         if (HAL_GPIO_ReadPin(DATA_433_GPIO_PORT, DATA_433_PIN) == GPIO_PIN_SET)
         {
-            High_Bit_Count++;
+            // High_Bit_Count++;
+        	// High_Bit_Count = TIM1_cnt;
+        	High_Bit_Count_Start = TIM1_cnt;
         }
         else // 低电平判断范围
         {
+        	High_Bit_Count = TIM1_cnt - High_Bit_Count_Start;
             // 判断高位数据位范围是否合法
             if (High_Bit_Count >= MIN_BIT_DURATION && High_Bit_Count <= MAX_BIT_DURATION)
             {
                 High_Bit_Duration = High_Bit_Count; // 保存计数值,用于区分0和1
                 High_Bit_Count = 0;
                 RF_Decode_State = LOW_BIT; // 进入低位数据位判断状态
+                printf("-");
             }
             else
             {
@@ -135,16 +150,20 @@ void RF_Signal_Decode(void)
         // 判断是否低电平
         if (HAL_GPIO_ReadPin(DATA_433_GPIO_PORT, DATA_433_PIN) == GPIO_PIN_RESET)
         {
-            Low_Bit_Count++;
+            //Low_Bit_Count++;
+        	// Low_Bit_Count = TIM1_cnt;
+        	Low_Bit_Count_Start = TIM1_cnt;
         }
         else // 高电平判断范围
         {
+        	Low_Bit_Count = TIM1_cnt - Low_Bit_Count_Start;
             // 判断低位数据位范围是否合法
             if (Low_Bit_Count >= MIN_BIT_DURATION && Low_Bit_Count <= MAX_BIT_DURATION)
             {
                 Low_Bit_Duration = Low_Bit_Count; // 保存计数值,用于区分0和1
                 Low_Bit_Count = 0;
                 RF_Decode_State = DATA_PROCESS; // 进入数据处理状态
+                printf("o");
             }
             else
             {
@@ -292,6 +311,10 @@ void Reset_Decode_Parameters(void)
     High_Bit_Duration = 0;
     Low_Bit_Duration = 0;
     RF_Decode_State = LEAD_CODE;
+
+    Lead_Code_Count_Start = TIM1_cnt;
+    High_Bit_Count_Start  = TIM1_cnt;
+
 }
 
 /**----------------------------------------------------------------------------------------------**
@@ -400,12 +423,24 @@ extern uint8_t rf_data[4];
 #define BIT0_LOW_US			1100
 #endif
 
+#if 0								// RC_PROJECTOR
 #define BIT1_HIGH_US		1000		// duty cycle =
 #define BIT1_LOW_US			500		//
 #define BIT0_HIGH_US		250
 #define BIT0_LOW_US			1200
-#define ENDING_LOW_US		200
-#define ENDING_HIGH_US		12000
+#define ENDING_LOW_US		12000
+#define ENDING_HIGH_US		200
+#endif
+
+#if 1								// SOS BUTTON
+#define BIT1_HIGH_US		800	// duty cycle =
+#define BIT1_LOW_US			300		//
+#define BIT0_HIGH_US		300
+#define BIT0_LOW_US			800
+#define ENDING_LOW_US		8000
+#define ENDING_HIGH_US		245
+#endif
+
 
 //#define CNT_SHORT_US	305		// 305 usec
 #define LEADING_MS			12		// 8 msec
@@ -494,7 +529,7 @@ void STS_RF_Send_AddressBit_and_CmdBit(uint8_t *rf_payload, uint8_t rf_length)
 
 	// send leading or sync signal for receiver to sync the RX clock
 	// printf("leading sync signal ...\r\n");
-	STS_RF_write_send_leading();
+	//STS_RF_write_send_leading();
 
 	// printf("address bits and cmd bits ...\r\n");
 	// send address and cmd code
diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c
index d6ff2b3..d3017c2 100644
--- a/Core/Src/gpio.c
+++ b/Core/Src/gpio.c
@@ -123,12 +123,13 @@ void MX_GPIO_Init(void)
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
   HAL_GPIO_Init(RF_Send_GPIO_Port, &GPIO_InitStruct);
 
+#if 0
   GPIO_InitStruct.Pin = RF_Receive_GPIO_Pin;
   GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
   GPIO_InitStruct.Pull = GPIO_PULLDOWN;
   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
   HAL_GPIO_Init(RF_Receive_GPIO_Port, &GPIO_InitStruct);
-
+#endif
 
 #ifdef L8
   /*Configure GPIO pins : PAPin PAPin */
@@ -189,7 +190,7 @@ void MX_GPIO_Init(void)
   HAL_NVIC_EnableIRQ(EXTI4_IRQn);
 
 
-  HAL_NVIC_SetPriority(EXTI9_5_IRQn, 2, 0);
+  HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
   HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
 
   HAL_NVIC_SetPriority(EXTI15_10_IRQn, 2, 0);
diff --git a/Core/Src/main.c b/Core/Src/main.c
index c52da32..ce1b638 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -64,7 +64,8 @@ uint32_t uwFrequency = 0;
 #endif
 //uint8_t rf_payload[3]={0xF8,0xCD,0x07}, rf_length=3;
 
-uint8_t rf_payload[3]={0x1F,0xB3,0xE0}, rf_length=3;
+uint8_t rf_payload[3]={0x1F,0xB3,0xE0}, rf_length=3;	// RC_PROJECTOR
+uint8_t sos_rf_payload[3]={0x82,0x73,0xA0}, sos_rf_length=3;	// sos_button
 enum rf_cmd_enum
 {		BUTTON_NONE=0,
 		BUTTON_ON,
@@ -79,7 +80,7 @@ enum rf_cmd_enum
 };
 
 uint8_t rf_cmd[16]={0x00, 0x8,0xC,0x4,0x6,0x1,0x9,0x2,0x3}; // cmd 1 = 1, cmd2=4, cmd3=3, cmd4=2
-
+uint8_t sos_rf_cmd[16]={0x00, 0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; // cmd 1 = 1
 void sts_rc_key(uint8_t key);
 void  sts_rc_decoder(void);
 uint8_t sts_rc_decodedx(void);
@@ -207,7 +208,7 @@ int main(void)
     External Signal DutyCycle = (TIM1_CCR1*100)/(TIM1_CCR2) in %.
 
     --------------------------------------------------------------------------- */
-#if 0
+#if 1
     /*## Start the Input Capture in interrupt mode ##########################*/
     if (HAL_TIM_IC_Start_IT(&htim1, TIM_CHANNEL_2) != HAL_OK)
     {
@@ -226,6 +227,7 @@ int main(void)
 
     while(1)
     {
+#if 1
   	  switch(capture_Cnt) {
 
   	  case 0:
@@ -243,7 +245,7 @@ int main(void)
   		  capture_Cnt = 0;		// clear flag
   		  break;
   	  }
-
+#endif
     }
 
 
@@ -370,11 +372,20 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 	switch(GPIO_Pin)
 	{
 	case BUT1_Pin:
+#if 0
 		printf("Button 1 pressed, sending cmd #1 \r\n");
 		//STS_RF_Send_AddressBit_and_CmdBit(rf_payload, rf_length);
 		// STS_RF_Send_Multi_Times(rf_payload, 3, 8);
 		single_button = rf_cmd[BUTTON_ON];
 		STS_RF_Send_Button_Multi_Times(rf_payload, single_button, 3, 8);
+#endif
+
+		printf("SOS Button pressed, sending cmd #1 \r\n");
+		//STS_RF_Send_AddressBit_and_CmdBit(rf_payload, rf_length);
+		// STS_RF_Send_Multi_Times(rf_payload, 3, 8);
+		single_button = sos_rf_cmd[BUTTON_ON];
+		STS_RF_Send_Button_Multi_Times(sos_rf_payload, single_button, 3, 8);
+
 		break;
 
 	case BUT2_Pin:
@@ -393,8 +404,9 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 
 
 	case DATA_433_PIN:
-
+		//printf("^");
 		RF_Signal_Decode();
+
 		break;
 
 	default:
diff --git a/Core/Src/stm32wlxx_it.c b/Core/Src/stm32wlxx_it.c
index 8d38229..f3b7ccc 100644
--- a/Core/Src/stm32wlxx_it.c
+++ b/Core/Src/stm32wlxx_it.c
@@ -372,7 +372,7 @@ void EXTI9_5_IRQHandler(void)
   HAL_GPIO_EXTI_IRQHandler(BUT3_Pin);
 
   HAL_GPIO_EXTI_IRQHandler(DATA_433_PIN);
-  __HAL_GPIO_EXTI_CLEAR_IT(DATA_433_PIN);
+  //__HAL_GPIO_EXTI_CLEAR_IT(DATA_433_PIN);
 
   /* USER CODE BEGIN EXTI9_5_IRQn 1 */
 
@@ -462,8 +462,10 @@ void SUBGHZ_Radio_IRQHandler(void)
 
 void TIM1_IRQHandler(void)
 {
+	TIM1_cnt++;
 	HAL_TIM_IRQHandler(&htim1);
 }
+#if 0
 /**
   * @brief This function handles TIM1 Capture Compare Interrupt.
   */
@@ -473,12 +475,11 @@ void TIM1_CC_IRQHandler(void)
 
   /* USER CODE END TIM1_CC_IRQn 0 */
   HAL_TIM_IRQHandler(&htim1);
-  TIM1_cnt++;
   /* USER CODE BEGIN TIM1_CC_IRQn 1 */
 
   /* USER CODE END TIM1_CC_IRQn 1 */
 }
-
+#endif
 /**
   * @brief This function handles TIM1 Capture Compare Interrupt.
   */
@@ -488,7 +489,7 @@ void TIM1_IC_IRQHandler(void)
 
   /* USER CODE END TIM1_CC_IRQn 0 */
   HAL_TIM_IRQHandler(&htim1);
-  TIM1_cnt++;
+  // TIM1_cnt++;
   /* USER CODE BEGIN TIM1_CC_IRQn 1 */
 
   /* USER CODE END TIM1_CC_IRQn 1 */
diff --git a/STM32CubeIDE/Release/WL55JC_AS923.elf b/STM32CubeIDE/Release/WL55JC_AS923.elf
index aa7371c0c25112d8cdf52189f08fe0dedfdee6d3..39af0da1f10e8d82ff145873e91f481ebd0ba1c5 100644
GIT binary patch
delta 24588
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
KCb54j4*nMmfvZ;l

delta 25664
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
E2mZ<53;+NC