From 650073d366d00a62588537bf9f57225a08c71a52 Mon Sep 17 00:00:00 2001 From: caocong Date: Thu, 8 Jan 2026 21:32:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95:=E5=9C=BA=E6=99=AF=E4=B8=AD?= =?UTF-8?q?=E5=BB=B6=E6=97=B6=E6=89=A7=E8=A1=8C=E3=80=81=E5=8F=8D=E9=A6=88?= =?UTF-8?q?=E7=81=AF=E6=8E=A7=E5=88=B6=EF=BC=8C=E5=88=9D=E6=AD=A5=E6=B5=8B?= =?UTF-8?q?=E8=AF=95OK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 场景执行基本功能都已测试通过,开关设备、插卡取电设备、温控器设备初步测试OK --- BLV_485_Driver/blv_nor_dev_hvoutfun.c | 2 + BLV_485_Driver/blv_rs485_dev_tempctrl.c | 10 +- BLV_485_Driver/blv_rs485_dev_touchtempt1.c | 3 +- BLV_485_Driver/pc_devicetest_fun.c | 217 +++------------------ MCU_Driver/blv_dev_action.c | 172 ++++++++++------ MCU_Driver/blv_rs485_protocol.c | 11 +- MCU_Driver/inc/led.h | 2 +- MCU_Driver/inc/uart.h | 10 +- MCU_Driver/uart.c | 57 +++--- Readme.md | 44 +++++ User/main.c | 8 +- 11 files changed, 250 insertions(+), 286 deletions(-) diff --git a/BLV_485_Driver/blv_nor_dev_hvoutfun.c b/BLV_485_Driver/blv_nor_dev_hvoutfun.c index 72b0011..607d69b 100644 --- a/BLV_485_Driver/blv_nor_dev_hvoutfun.c +++ b/BLV_485_Driver/blv_nor_dev_hvoutfun.c @@ -334,6 +334,7 @@ __attribute__((section(".non_0_wait"))) uint16_t BLW_HVout_Group_Read( } break; } + } } break; @@ -368,6 +369,7 @@ __attribute__((section(".non_0_wait"))) uint16_t BLW_HVout_Group_Read( break; } } + return Ret; } diff --git a/BLV_485_Driver/blv_rs485_dev_tempctrl.c b/BLV_485_Driver/blv_rs485_dev_tempctrl.c index 778fe7e..730fc1a 100644 --- a/BLV_485_Driver/blv_rs485_dev_tempctrl.c +++ b/BLV_485_Driver/blv_rs485_dev_tempctrl.c @@ -355,7 +355,7 @@ __attribute__((section(".non_0_wait"))) void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAd { if(Dev_Temp_State_Data(Rs485TemLoc) != Dev_Temp_State_Data(Rs485Tem.TemState)) { - Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"¿״̬ȫͬ״̬:%4x", Dev_Temp_State_Data(Rs485Tem.TemState)); + Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"¿״̬ȫͬ״̬:%x", Dev_Temp_State_Data(Rs485Tem.TemState)); Dev_Temp_State_Sync(&Rs485TemLoc,&Rs485Tem.TemState); Dev_Temp_State_Sync(&Rs485Tem.TemStateCtrlLast,&Rs485TemLoc); @@ -373,7 +373,7 @@ __attribute__((section(".non_0_wait"))) void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAd { Dev_Temp_State_Sync(&Rs485TemLoc,&Rs485TemIn.TemState); //״̬һ£ÿ״̬ } - Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"¿״̬ͬ״̬:%4x - %4x", Dev_Temp_State_Data(Rs485Tem.TemState),Dev_Temp_State_Data(Rs485TemIn.TemState)); + Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"¿״̬ͬ״̬:%x - %x", Dev_Temp_State_Data(Rs485Tem.TemState),Dev_Temp_State_Data(Rs485TemIn.TemState)); } } else //ͨ豸¿ @@ -477,7 +477,7 @@ __attribute__((section(".non_0_wait"))) void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAd uint32_t Season; SRAM_DMA_Read_Buff((uint8_t *)&Season,4,SRAM_Register_Start_ADDRESS + Register_SeasonStatus_OFFSET); - Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"ڴӡ:%08X ǰ·:%x", Season, RTC_Raw_Data.month); + Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"ڴӡ:%X ǰ·:%x", Season, RTC_Raw_Data.month); switch((Season>>(HEX_Conversion_To_DEC(RTC_Raw_Data.month)-1)*2)&0x03) //ǰ·ݵļ { @@ -580,7 +580,7 @@ __attribute__((section(".non_0_wait"))) void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAd if(0x01 == TemCtrlFlag) { - Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"¿״̬:%4x - %4x", Dev_Temp_State_Data(Rs485Tem.TemStateCtrl),Dev_Temp_State_Data(Rs485TemLoc)); + Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"¿״̬:%x - %x", Dev_Temp_State_Data(Rs485Tem.TemStateCtrl),Dev_Temp_State_Data(Rs485TemLoc)); if(Rs485Tem.Carbon_Set_Temp != Rs485TemLoc.set_t){ Rs485Tem.Carbon_Set_Temp = Rs485TemLoc.set_t; @@ -592,7 +592,7 @@ __attribute__((section(".non_0_wait"))) void Dev_TEMPCTRL_Ctrl(uint32_t CfgDevAd KeepFlag = 0x01; Dev_Temp_State_Sync(&Rs485Tem.TemStateCtrl,&Rs485TemLoc); - Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"TemStateCtrl: %04X", Dev_Temp_State_Data(Rs485Tem.TemStateCtrl)); + Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"TemStateCtrl: %X", Dev_Temp_State_Data(Rs485Tem.TemStateCtrl)); } } diff --git a/BLV_485_Driver/blv_rs485_dev_touchtempt1.c b/BLV_485_Driver/blv_rs485_dev_touchtempt1.c index 80b9625..a49864c 100644 --- a/BLV_485_Driver/blv_rs485_dev_touchtempt1.c +++ b/BLV_485_Driver/blv_rs485_dev_touchtempt1.c @@ -408,7 +408,7 @@ __attribute__((section(".non_0_wait"))) uint8_t BLWOut_Rs485_TempT1_Check(uint32 if(len > RECDATALENMAX) { - Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"T1 Temp ݳȳΧ!!\r\n"); + Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"T1 Temp ݳȳΧ!! %d\r\n",len); return rev; // } SRAM_DMA_Read_Buff(data,len,data_addr); //482 @@ -420,6 +420,7 @@ __attribute__((section(".non_0_wait"))) uint8_t BLWOut_Rs485_TempT1_Check(uint32 if((data[0] != 0x55) || (data[1] != 0x55) || (data[2] != 0xee) || (len != data[3] + 0x03) || (0x03 != data[4]) ||BUS_Public.addr!=data[5] ) { Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"%s Addr:%d Check Error",__func__,BUS_Public.addr); + Dbg_Print_Buff(DBG_BIT_DEVICE_STATUS_bit,"Recv Buff:",data,len); return rev; } crc_val = data[len-2] + (data[len-1]<<8); diff --git a/BLV_485_Driver/pc_devicetest_fun.c b/BLV_485_Driver/pc_devicetest_fun.c index db1aa90..6726243 100644 --- a/BLV_485_Driver/pc_devicetest_fun.c +++ b/BLV_485_Driver/pc_devicetest_fun.c @@ -666,18 +666,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_WriteRegister_DataDeal(ui /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(back_data,temp_len); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(back_data,temp_len); //0 - #endif + MCU485_SendString_0(back_data,temp_len); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(back_data,temp_len); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(back_data,temp_len); //1 - #endif + UART1_SendString(back_data,temp_len); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(back_data,temp_len); //2 @@ -800,34 +792,13 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_Testing_DataDeal(uint32_t back_data[PKT2_PARA] = 0x01; //óɹ back_data[PKT2_CHKSUM] = Data_CheckSum(back_data,temp_len); -// /**/ -// if(g_pc_test.link_port == 0x00) -// { -// UART0_SendString(back_data,temp_len); //0 -// }else if(g_pc_test.link_port == 0x01) -// { -// MCU485_SendString_1(back_data,temp_len); //1 -// }else if(g_pc_test.link_port == 0x02) -// { -// MCU485_SendString_2(back_data,temp_len); //2 -// }else { -// return 0xF0; -// } /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(back_data,temp_len); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(back_data,temp_len); //0 - #endif + MCU485_SendString_0(back_data,temp_len); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(back_data,temp_len); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(back_data,temp_len); //1 - #endif + UART1_SendString(back_data,temp_len); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(back_data,temp_len); //2 @@ -885,18 +856,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_Testing_DataDeal(uint32_t /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(back_data,temp_len); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(back_data,temp_len); //0 - #endif + MCU485_SendString_0(back_data,temp_len); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(back_data,temp_len); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(back_data,temp_len); //1 - #endif + UART1_SendString(back_data,temp_len); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(back_data,temp_len); //2 @@ -936,24 +899,15 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_Testing_Data_Reported(uin send_buff[PKT2_PARA + 3 + i] = SRAM_Read_Byte(data_addr + i); } - send_buff[PKT2_CHKSUM] = Data_CheckSum(send_buff,send_buff[PKT2_LEN]); /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -989,24 +943,15 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_Testing_Data_Reported2(ui send_buff[PKT2_PARA + 3 + i] = data_buff[i]; } - send_buff[PKT2_CHKSUM] = Data_CheckSum(send_buff,send_buff[PKT2_LEN]); /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1027,12 +972,8 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_TEST_TOUR_DATASEND(void) { send_buff[i] = i; } -#if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,10); //0 -#elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,10); //1 -#endif //USE_CORE_TYPE == CORE_TYPE_C1F + MCU485_SendString_0(send_buff,10); //0 return 0; } @@ -1091,18 +1032,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_TEST_TOUR_ACKSend(uint8_t /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1165,18 +1098,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_SET_MCU_Revision_Data_Rep /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1218,18 +1143,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_READ_MCU_Revision_Data_Re /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1307,18 +1224,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_READ_RCU_Data_Reported(ui /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1403,18 +1312,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_READ_RCU_VERSION_Reported /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1525,18 +1426,10 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_READ_Device_Data_Reported /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(send_buff,send_buff[PKT2_LEN]); //0 - #endif + MCU485_SendString_0(send_buff,send_buff[PKT2_LEN]); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(send_buff,send_buff[PKT2_LEN]); //1 - #endif + UART1_SendString(send_buff,send_buff[PKT2_LEN]); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(send_buff,send_buff[PKT2_LEN]); //2 @@ -1549,7 +1442,6 @@ __attribute__((section(".non_0_wait"))) uint8_t BLV_PC_READ_Device_Data_Reported __attribute__((section(".non_0_wait"))) uint8_t SyncTime_DATA_Processing(uint32_t data_addr,uint16_t data_len) { -// uint32_t utc_tick = 0; uint16_t temp_len = 0x09; uint8_t temp = 0; uint32_t device_listaddr = 0; @@ -1558,20 +1450,13 @@ __attribute__((section(".non_0_wait"))) uint8_t SyncTime_DATA_Processing(uint32_ memset(ack_buff,0,temp_len); set_time.year = SRAM_Read_Byte(data_addr + PKT2_PARA); - set_time.month = SRAM_Read_Byte(data_addr + PKT2_PARA + 1); - set_time.day = SRAM_Read_Byte(data_addr + PKT2_PARA + 2); - set_time.hour = SRAM_Read_Byte(data_addr + PKT2_PARA + 3); - set_time.minute = SRAM_Read_Byte(data_addr + PKT2_PARA + 4); - set_time.second = SRAM_Read_Byte(data_addr + PKT2_PARA + 5); - set_time.week = SRAM_Read_Byte(data_addr + PKT2_PARA + 6); - temp = RTC_WriteDate(set_time); //ҵCSIO @@ -1583,11 +1468,6 @@ __attribute__((section(".non_0_wait"))) uint8_t SyncTime_DATA_Processing(uint32_ } } - -// /*UTCʱ*/ -// utc_tick = RTC_Conversion_To_Unix(&set_time); -// Unix_Conversion_To_RTC(&set_time,utc_tick); - /*ظݴ*/ ack_buff[PKT2_ADD_FM] = 0x00; //ַ ack_buff[PKT2_TYPE] = g_pc_test.DevSendSN; @@ -1603,35 +1483,12 @@ __attribute__((section(".non_0_wait"))) uint8_t SyncTime_DATA_Processing(uint32_ ack_buff[PKT2_CHKSUM] = Data_CheckSum(ack_buff,temp_len); /**/ - if(g_pc_test.link_port == 0x00) { - UART0_SendString(ack_buff,temp_len); //0 + MCU485_SendString_0(ack_buff,temp_len); //0 }else if(g_pc_test.link_port == 0x01) { - MCU485_SendString_1(ack_buff,temp_len); //1 - }else if(g_pc_test.link_port == 0x02) - { - MCU485_SendString_2(ack_buff,temp_len); //2 - }else { - return 0xF0; - } - - /**/ - if(g_pc_test.link_port == 0x00) - { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(ack_buff,temp_len); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(ack_buff,temp_len); //0 - #endif - }else if(g_pc_test.link_port == 0x01) - { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(ack_buff,temp_len); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(ack_buff,temp_len); //1 - #endif + UART1_SendString(ack_buff,temp_len); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(ack_buff,temp_len); //2 @@ -1671,18 +1528,10 @@ __attribute__((section(".non_0_wait"))) uint16_t QueryTime_Relay_DATA_Packaging( /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(ack_buff,temp_len); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(ack_buff,temp_len); //0 - #endif + MCU485_SendString_0(ack_buff,temp_len); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(ack_buff,temp_len); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(ack_buff,temp_len); //1 - #endif + UART1_SendString(ack_buff,temp_len); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(ack_buff,temp_len); //2 @@ -1715,18 +1564,10 @@ __attribute__((section(".non_0_wait"))) uint8_t TEST_GPIO_Relay_Fail(void) /**/ if(g_pc_test.link_port == 0x00) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ - MCU485_SendString_0(ack_buff,temp_len); //0 - #elif (USE_CORE_TYPE == 2) //ʹC1İ -- DEBUG - UART0_SendString(ack_buff,temp_len); //0 - #endif + MCU485_SendString_0(ack_buff,temp_len); //0 }else if(g_pc_test.link_port == 0x01) { - #if (USE_CORE_TYPE == 1) //ʹC1Fİ -- DEBUG - UART1_SendString(ack_buff,temp_len); //1 - #elif (USE_CORE_TYPE == 2) //ʹC1İ - MCU485_SendString_1(ack_buff,temp_len); //1 - #endif + UART1_SendString(ack_buff,temp_len); //1 }else if(g_pc_test.link_port == 0x02) { MCU485_SendString_2(ack_buff,temp_len); //2 diff --git a/MCU_Driver/blv_dev_action.c b/MCU_Driver/blv_dev_action.c index 7f32b05..b413f8f 100644 --- a/MCU_Driver/blv_dev_action.c +++ b/MCU_Driver/blv_dev_action.c @@ -660,6 +660,7 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D uint8_t DevCtrlCont = 0x00; //ִ uint8_t SceneState = DEV_STATE_OPEN; uint8_t SceneType = 0x01; + uint8_t rev = 0; Device_Public_Information_G BUS_Public; @@ -683,13 +684,20 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if(DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr == expand_type[j].Addr) { + if(expand_type[j].ExpandReadFlag != 0x00) { BLV_Device_PublicInfo_Read_To_Struct(DevActionInfo->DevActionOutput[i].DevActionOutAddr,&BUS_Public); if(NULL != BUS_Public.DevFunInfo.Dev_Output_Loop_Group_State_Get_ptr) { - if(DEV_STATE_CLOSE == BUS_Public.DevFunInfo.Dev_Output_Loop_Group_State_Get_ptr(DevActionInfo->DevActionOutput[i].DevActionOutAddr, SceneType, expand_type[j].ExpandReadFlag, HVoutNumMAX, expand_type[j].ExpandReadState)) + rev = BUS_Public.DevFunInfo.Dev_Output_Loop_Group_State_Get_ptr(DevActionInfo->DevActionOutput[i].DevActionOutAddr, SceneType, expand_type[j].ExpandReadFlag, HVoutNumMAX, expand_type[j].ExpandReadState); + if( DEV_STATE_CLOSE == rev) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"1 :%d :%d ַ:%d ·:%d %x״̬ %d",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState,rev); SceneState = DEV_STATE_CLOSE; } } @@ -712,6 +720,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if(DEV_STATE_CLOSE == BUS_Public.DevFunInfo.Dev_Output_Loop_Group_State_Get_ptr(DevActionInfo->DevActionOutput[i].DevActionOutAddr, SceneType, dimm_type[j].DimmReadFlag, LED_OUT_CH_MAX, dimm_type[j].DimmReadState)) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"2 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; } } @@ -748,6 +761,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if(BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop) != DevCtrlWay) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"3 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; break; } @@ -788,6 +806,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if( BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop) != DevCtrlWay) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"4 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; break; } @@ -795,6 +818,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if( BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop) != DEV_CTRLWAY_STOP) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"5 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; break; } @@ -803,7 +831,7 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D } break; #if Dev_Nor_ColorTemp - case Dev_Nor_ColorTemp: + case DEV_Virtual_ColorTemp: BLV_Device_PublicInfo_Read_To_Struct(DevActionInfo->DevActionOutput[i].DevActionOutAddr,&BUS_Public); if(BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get != 0x00) { @@ -815,6 +843,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D DevCtrlCont |= 0x80; if( BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop) != DevCtrlCont ) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"6 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; break; } @@ -822,6 +855,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if( BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop) != (DevCtrlCont & 0x80) ) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"7 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; break; } @@ -829,7 +867,7 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D } break; #endif - case DEV_C5MUSIC_Type: + case DEV_RS485_MUSIC: if(DevActionInfo->DevActionCond.SceneExcute != ACTION_SCENE_SLEEP) { BLV_Device_PublicInfo_Read_To_Struct(DevActionInfo->DevActionOutput[i].DevActionOutAddr,&BUS_Public); @@ -845,6 +883,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if(DevCtrlWay != BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop)) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"8 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; break; } @@ -864,6 +907,11 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D { if(DevCtrlCont != BUS_Public.DevFunInfo.Dev_Output_Loop_State_Get(DevActionInfo->DevActionOutput[i].DevActionOutAddr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop)) { +// Dbg_Println(DBG_BIT_ActCond_STATUS_bit,"9 :%d :%d ַ:%d ·:%d %x״̬",DevActionInfo->DevActionCore.ActionNo,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop,\ +// DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); SceneState = DEV_STATE_CLOSE; //ֻҪһ״̬ ʱ״̬Ϊ break; //switchѭ } @@ -878,7 +926,7 @@ __attribute__((section(".non_0_wait"))) void Expand_State_Get(DEV_ACTION_INFO *D if(DevActionInfo->DevActionState.SceneState != SceneState) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit," ǰ:%d ״̬:%d", DevActionInfo->DevActionCore.ActionNo, SceneState); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit," ǰ:%d ״̬:%d", DevActionInfo->DevActionCore.ActionNo, SceneState); DevActionInfo->DevActionState.SceneState = SceneState; //1 2 0δʼ } } @@ -908,6 +956,7 @@ __attribute__((section(".non_0_wait"))) void Sleep_State_Get(DEV_ACTION_INFO *De { if(DevActionInfo->DevActionOutput[i].DevActionOutAddr != 0x00) { + switch(DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType) { case Dev_Host_HVout: //̵ @@ -1192,6 +1241,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_State_Get(DEV_ACTION_INFO if( DevActionGlobal.DevActionU64Cond.NeightState != DevActionGlobal.Last_NeightState ) { + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ״̬ı:%d -1",DevActionGlobal.DevActionU64Cond.NeightState); DevActionGlobal.Last_NeightState = DevActionGlobal.DevActionU64Cond.NeightState; } } @@ -1241,7 +1291,7 @@ __attribute__((section(".non_0_wait"))) void DevDly_InfoSet( DlyExcuteTime = SysTick_1ms + DevDlyValue.DelayCont*1000*60*60; break; default: - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ʱλΪЧ:", DevDlyValue.DelayWeight); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ʱλΪЧ:%d", DevDlyValue.DelayWeight); return; //ֱӷ } @@ -1277,7 +1327,7 @@ __attribute__((section(".non_0_wait"))) void DevDly_InfoSet( DevDlyInfo.DlyBlinkTime.DelayCont = DevDelayTime.DelayCont; DevDlyInfo.DlyBlinkTime.DelayWeight = DevDelayTime.DelayWeight; - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ʱڵ㸳ֵڵַ:%08X ִб־:%d ʱ:%02x%02x, ִзʽ:%04X ˸־:%d", \ + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ʱڵ㸳ֵڵַ:%X ִб־:%d ʱ:%x-%x, ִзʽ:%X ˸־:%d", \ DevDlyAddr, DlyExcuteFlag, \ DevDlyValue.DelayCont, \ DevDlyValue.DelayWeight, \ @@ -1300,14 +1350,14 @@ __attribute__((section(".non_0_wait"))) uint32_t DevDlyAddr_Get(uint32_t DevDlyA { uint16_t i = 0x00; uint32_t list_addr = 0x00; - Struct_Dev_Dly_Core DevDlyCore; + Struct_Dev_Dly DevDly; for(i = 0; i < DevActionGlobal.DevDlyNum; i++) { list_addr = SRAM_DevDly_List_Start_Addr + i * DevDlyStructLen; - SRAM_DMA_Read_Buff((uint8_t *)&DevDlyCore, sizeof(Struct_Dev_Dly_Core), list_addr); + SRAM_DMA_Read_Buff((uint8_t *)&DevDly, DevDlyStructLen, list_addr); - if( (DevDlyCore.DevDlyAddr == DevDlyAddr) && (DevDlyCore.DevOutputLoop == DevOutputLoop) ) + if( (DevDly.DevDlyCore.DevDlyAddr == DevDlyAddr) && (DevDly.DevDlyCore.DevOutputLoop == DevOutputLoop) ) { return list_addr; } @@ -1328,7 +1378,7 @@ __attribute__((section(".non_0_wait"))) uint32_t DevDlyAddr_Get(uint32_t DevDlyA __attribute__((section(".non_0_wait"))) uint32_t Add_DevDly_To_List(uint8_t DevType, uint32_t DevDlyAddr, uint16_t DevOutputLoop) { uint32_t list_addr = 0x00; - Struct_Dev_Dly_Core DevDlyCore; + Struct_Dev_Dly DevDly; if(DevActionGlobal.DevActionNum >= DevDlyNumMax) //ʱ豸Χͷ { @@ -1338,19 +1388,19 @@ __attribute__((section(".non_0_wait"))) uint32_t Add_DevDly_To_List(uint8_t DevT list_addr = DevDlyAddr_Get(DevDlyAddr, DevOutputLoop); //ǰʱڵ if(list_addr != 0x00) return list_addr; //ֱӽַ - DevDlyCore.DevType = DevType; - DevDlyCore.DevDlyAddr = DevDlyAddr; - DevDlyCore.DevOutputLoop = DevOutputLoop; // + DevDly.DevDlyCore.DevType = DevType; + DevDly.DevDlyCore.DevDlyAddr = DevDlyAddr; + DevDly.DevDlyCore.DevOutputLoop = DevOutputLoop; // list_addr = SRAM_DevDly_List_Start_Addr + DevActionGlobal.DevDlyNum*DevDlyStructLen; - SRAM_DMA_Write_Buff((uint8_t *)&DevDlyCore, sizeof(Struct_Dev_Dly_Core), list_addr); + SRAM_DMA_Write_Buff((uint8_t *)&DevDly, DevDlyStructLen, list_addr); DevActionGlobal.DevDlyNum++; //ʱڵ Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ʱӳɹǰʱڵַ:%X ǰʱ豸:%d ʱ豸ַ: %X ʱ豸·%d", list_addr , DevActionGlobal.DevDlyNum, - DevDlyCore.DevDlyAddr, - DevDlyCore.DevOutputLoop); + DevDly.DevDlyCore.DevDlyAddr, + DevDly.DevDlyCore.DevOutputLoop); /*ǰеʱ豸ڹģͲӣڵľ*/ return list_addr; //Чĵַ @@ -1461,7 +1511,7 @@ __attribute__((section(".non_0_wait"))) uint8_t DevAddrCtr(DEV_ACTION_INFO *DevA { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"1 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionOutput.DevActionOutCfg.DevType, DevAddrOut, @@ -1496,7 +1546,7 @@ __attribute__((section(".non_0_wait"))) uint8_t DevAddrCtr(DEV_ACTION_INFO *DevA { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"2 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionOutput.DevActionOutCfg.DevType, DevAddrOut, @@ -1637,7 +1687,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandCtrl(DEV_ACTION_INF HVoutNumMAX, expand_type[j].ExpandReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵״̬Ⱥؿƿʼ·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵״̬Ⱥؿƿʼ·־:%X :%s ", expand_type[j].ExpandReadFlag, DevActionInfo->DevActionCore.DevActionName); @@ -1666,7 +1716,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandCtrl(DEV_ACTION_INF dimm_type[j].DimmReadFlag, LED_OUT_CH_MAX, dimm_type[j].DimmReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWM״̬Ⱥؿƿʼַ:%d·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWM״̬Ⱥؿƿʼַ:%d·־:%X :%s ", DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr, dimm_type[j].DimmReadFlag, DevActionInfo->DevActionCore.DevActionName); @@ -1724,7 +1774,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandCtrl(DEV_ACTION_INF { if( (DevActionInfo != NULL) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"3 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -1756,7 +1806,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandCtrl(DEV_ACTION_INF { if( (DevActionInfo != NULL) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"4 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -1792,7 +1842,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandCtrl(DEV_ACTION_INF switch(DevMusicCtrlState.DevMusicCtrlWay.CtrlDirect) { case 0x03: // - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"׼ִбָļпţ·:%d ״̬: %04X",DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"׼ִбָļпţ·:%d ״̬: %X",DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); BUS_Public.DevFunInfo.Dev_Output_Ctrl( 0x00, 0x00, @@ -1803,7 +1853,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandCtrl(DEV_ACTION_INF case 0x04: //ز break; default: // - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"׼ִбֿػģʽƣַ:%d ·:%d״̬: %04X",BUS_Public.addr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"׼ִбֿػģʽƣַ:%d ·:%d״̬: %X",BUS_Public.addr, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); BUS_Public.DevFunInfo.Dev_Output_Ctrl( 0x00, 0x00, @@ -1880,7 +1930,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightOpen(DEV_ACTIO HVoutNumMAX, expand_type[j].ExpandReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵Ⱥؿƣ·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵Ⱥؿƣ·־:%X :%s ", expand_type[j].ExpandReadFlag, DevActionInfo->DevActionCore.DevActionName); @@ -1910,7 +1960,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightOpen(DEV_ACTIO LED_OUT_CH_MAX, dimm_type[j].DimmReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWMȺؿƿʼַ:%d·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWMȺؿƿʼַ:%d·־:%X :%s ", DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr, dimm_type[j].DimmReadFlag, DevActionInfo->DevActionCore.DevActionName); @@ -1945,7 +1995,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightOpen(DEV_ACTIO { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"5 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -1976,7 +2026,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightOpen(DEV_ACTIO { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"6 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -2070,7 +2120,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightClose(DEV_ACTI expand_type[j].ExpandReadFlag, HVoutNumMAX, expand_type[j].ExpandReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵״̬Ⱥؿƿʼ·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵״̬Ⱥؿƿʼ·־:%X :%s ", expand_type[j].ExpandReadFlag, DevActionInfo->DevActionCore.DevActionName); } @@ -2099,7 +2149,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightClose(DEV_ACTI LED_OUT_CH_MAX, dimm_type[j].DimmReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWM״̬Ⱥؿƿʼַ:%d·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWM״̬Ⱥؿƿʼַ:%d·־:%X :%s ", DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr, dimm_type[j].DimmReadFlag, DevActionInfo->DevActionCore.DevActionName); @@ -2140,7 +2190,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightClose(DEV_ACTI { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"7 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -2171,7 +2221,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandLightClose(DEV_ACTI { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"8 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -2229,6 +2279,8 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandClose(DEV_ACTION_IN EXPAND_TYPE_G expand_type[Action_Group_Ctrl_Num]={0}; DIMM_TYPE_G dimm_type[Action_Group_Ctrl_Num]={0}; + Expand_And_Dimm_Action_Get(DevActionInfo,expand_type,dimm_type,0x00); + for(i = 0; i < DevActionInfo->DevCtrlNum; i++) { if(DevActionInfo->DevActionOutput[i].DevActionOutAddr != 0x00) @@ -2253,7 +2305,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandClose(DEV_ACTION_IN HVoutNumMAX, expand_type[j].ExpandReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵״̬Ⱥؿƿʼ·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"̵״̬Ⱥؿƿʼ·־:%X :%s ", expand_type[j].ExpandReadFlag, DevActionInfo->DevActionCore.DevActionName); } @@ -2282,7 +2334,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandClose(DEV_ACTION_IN LED_OUT_CH_MAX, dimm_type[j].DimmReadState); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWM״̬Ⱥؿƿʼַ:%d·־:%08X :%s ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"PWM״̬Ⱥؿƿʼַ:%d·־:%X :%s ", DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevAddr, dimm_type[j].DimmReadFlag, DevActionInfo->DevActionCore.DevActionName); @@ -2323,7 +2375,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandClose(DEV_ACTION_IN { if( (DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"9 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -2354,7 +2406,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandClose(DEV_ACTION_IN { if((DevActionInfo != 0x00) && (DevActionInfo->DevActionState.DevAddrIn != 0x00)) // { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"豸ַ:%04X 豸:%d ַ:%04X %d· ״̬: %04X", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"10 豸ַ:%X 豸:%d ַ:%X %d· ״̬: %X", DevActionInfo->DevActionState.DevAddrIn, DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevType, DevActionInfo->DevActionOutput[i].DevActionOutAddr, @@ -2440,7 +2492,7 @@ __attribute__((section(".non_0_wait"))) void DevAction_ExpandClose(DEV_ACTION_IN DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevOutputLoop, DEV_CTRLWAY_STOP); - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"485رտ state:%4X",DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"485رտ state:%X",DevActionInfo->DevActionOutput[i].DevActionOutCfg.DevCtrlState); break; case DEV_CTRLWAY_STOP: break; @@ -2741,12 +2793,12 @@ __attribute__((section(".non_0_wait"))) void DevAction_Output(DEV_ACTION_INFO *D DevActionGlobal.DevActionU64Cond.NeightState = NightModeClose; DevAction_No_Ctrl(DevActionGlobal.SleepActionNo, 0x02, DEV_CTRLWAY_CLOSE);//رҹ case NightModeClose: - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹرտʼ豸״̬иֵ:"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹر-ִг"); DevAction_ExpandCtrl(DevActionInfo); //ִеǰ break; } }else { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹرտʼ豸״̬иֵ:"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹر-ִг"); DevAction_ExpandCtrl(DevActionInfo); if(DevActionInfo->DevActionInput.DevType == DEV_RS485_SWT) { @@ -2780,12 +2832,12 @@ __attribute__((section(".non_0_wait"))) void DevAction_Output(DEV_ACTION_INFO *D } if(DEV_STATE_CLOSE == DevActionInfo->DevActionState.SceneState) //ǰΪ { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹر:׼ִг"); DevAction_ExpandCtrl(DevActionInfo); //ִеǰ } else if(DEV_STATE_OPEN == DevActionInfo->DevActionState.SceneState) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹر:׼ִг"); DevAction_ExpandClose(DevActionInfo, NOR_MODE_CTRL); //ִеǰ } break; @@ -2793,14 +2845,15 @@ __attribute__((section(".non_0_wait"))) void DevAction_Output(DEV_ACTION_INFO *D }else { if(DEV_STATE_CLOSE == DevActionInfo->DevActionState.SceneState) //ǰΪ { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹر:׼ִг"); DevAction_ExpandCtrl(DevActionInfo); //ִеǰ } else if(DEV_STATE_OPEN == DevActionInfo->DevActionState.SceneState) //ǰΪ { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹر:׼ִг"); DevAction_ExpandClose(DevActionInfo, NOR_MODE_CTRL); //ִеǰ } + if(DevActionInfo->DevActionInput.DevType == DEV_RS485_SWT) { DevActionGlobal.SleepMode_State = 0x00; //˯ģʽ @@ -2833,12 +2886,12 @@ __attribute__((section(".non_0_wait"))) void DevAction_Output(DEV_ACTION_INFO *D } if(DevActionInfo->DevActionState.SceneState == DEV_STATE_CLOSE) //ǰΪ { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ܿ-ҹй ɹر:׼ִг"); DevAction_ExpandLightOpen(DevActionInfo); //򿪵ǰĵƹ } else if(DevActionInfo->DevActionState.SceneState == DEV_STATE_OPEN) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹй ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ܿ-ҹй ɹر:׼ִг"); DevAction_ExpandClose(DevActionInfo, SLEEP_MODE_CTRL); //ִеǰƹ豸ر } break; @@ -2846,12 +2899,12 @@ __attribute__((section(".non_0_wait"))) void DevAction_Output(DEV_ACTION_INFO *D }else { if(DevActionInfo->DevActionState.SceneState == DEV_STATE_CLOSE) //ǰΪ { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ܿ-ҹ޹ ɹر:׼ִг"); DevAction_ExpandLightOpen(DevActionInfo); //򿪵ǰĵƹ } else if(DevActionInfo->DevActionState.SceneState == DEV_STATE_OPEN) //ǰΪ { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ɹرտʼ豸״̬иֵ:׼ִг"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ܿ-ҹ޹ ɹر:׼ִг"); DevAction_ExpandClose(DevActionInfo, SLEEP_MODE_CTRL); //ִеǰ } if(DevActionInfo->DevActionInput.DevType == DEV_RS485_SWT) @@ -2969,12 +3022,13 @@ __attribute__((section(".non_0_wait"))) void DevAction_Output(DEV_ACTION_INFO *D break; #endif case ACTION_SCENE_SLEEP_UNRELATED: - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ޿ȡ-ⰴ ׼ִдҹ:"); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ޹ ޿ȡ-ⰴ ׼ִдҹ"); DevAction_ExpandCtrl(DevActionInfo); //ִеǰ break; } if(DevActionGlobal.DevActionU64Cond.NeightState != DevActionGlobal.Last_NeightState) { + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҹ״̬ı:%d -2",DevActionGlobal.DevActionU64Cond.NeightState); DevActionGlobal.Last_NeightState = DevActionGlobal.DevActionU64Cond.NeightState; } @@ -3162,7 +3216,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr if(BLV_DevAction_Cond_Judge(&DevActionInfo) == CondIsPass) { BreakFlag = 0x01; - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%d ַ%d ·:%d :%d ַ:%Xͨ", \ + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%d ַ%d ·:%d :%d ַ:%Xͨ", \ DevActionInfo.DevActionInput.DevType, \ DevActionInfo.DevActionInput.DevAddr, \ DevActionInfo.DevActionInput.DevLoop, \ @@ -3171,7 +3225,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr DevAction_Output(&DevActionInfo); //ִ }else if(DevActionInfo.DevActionCond.DevActionU64Cond.EleCtrlFlag == 0x01) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%d ַ%d ·:%d :%d ַ:%Xδͨпȡ翪־", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%d ַ%d ·:%d :%d ַ:%Xδͨпȡ翪־", DevActionInfo.DevActionInput.DevType, \ DevActionInfo.DevActionInput.DevAddr, \ DevActionInfo.DevActionInput.DevLoop, \ @@ -3198,7 +3252,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr if( DevActionInfo.DevActionState.MultiNumber == (ret >> 0x01) ) { BreakFlag = 0x01; - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%s,豸͸:%d 豸ַ%d ַ:%d :%d ַ:%08Xͨ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%s,豸͸:%d 豸ַ%d ַ:%d :%d ַ:%Xͨ", DevActionInfo.DevActionCore.DevActionName, \ DevActionInfo.DevActionInput.DevType, \ DevActionInfo.DevActionInput.DevAddr, \ @@ -3219,7 +3273,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr deal_addr = deal_addr - 3; if( SRAM_Read_Byte(deal_addr) == (ret >> 0x01) ) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҵ:%d ַ:%08X",SRAM_Read_Byte(deal_addr),TempAddr); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ҵ:%d ַ:%X",SRAM_Read_Byte(deal_addr),TempAddr); break; } } @@ -3235,7 +3289,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr } BreakFlag = 0x01; - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%s,豸͸:%d 豸ַ%d ַ:%d :%d ַ:%08Xͨ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%s,豸͸:%d 豸ַ%d ַ:%d :%d ַ:%Xͨ", DevActionInfo.DevActionCore.DevActionName, \ DevActionInfo.DevActionInput.DevType, \ DevActionInfo.DevActionInput.DevAddr, \ @@ -3256,7 +3310,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr DevActionInfo.DevActionInput.DevEvent ) == CtrlValid ) ) { BreakFlag = 0x01; - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%s,豸͸:%d 豸ַ%d ַ:%d :%d ַ:%08Xͨ", + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,":%s,豸͸:%d 豸ַ%d ַ:%d :%d ַ:%Xͨ", DevActionInfo.DevActionCore.DevActionName, \ DevActionInfo.DevActionInput.DevType, \ DevActionInfo.DevActionInput.DevAddr, \ @@ -3275,12 +3329,14 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr if(BreakFlag == 0x01) //ز¼ˢ³״̬ { + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%d %d״̬...", DevActionInfo.DevActionCore.ActionNo,DevActionInfo.DevActionState.SceneState); DevAction_State_Get(&DevActionInfo); //ǰ״̬ 豸ȥж } //״̬ı,Ʒ if( DevActionInfo.DevActionState.SceneState != DevActionInfo.DevActionState.SceneStateLast ) { + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%d ״̬ı:%d,泡...", DevActionInfo.DevActionCore.ActionNo,DevActionInfo.DevActionState.SceneState); DevActionInfo.DevActionState.SceneStateLast = DevActionInfo.DevActionState.SceneState; DevAction_IndicateCtrl(&DevActionInfo); @@ -3289,7 +3345,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevAction_Cycle(uint32_t Dev_pr if(BreakFlag == 0x01) { - Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ǰ±:%d", j); + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"ǰ±:%d", j); break; } } @@ -3415,6 +3471,8 @@ __attribute__((section(".non_0_wait"))) void BLV_DevDly_Process(uint32_t dly_pro uint8_t KeepFlag = 0x00; Dev_Output_Ctrl_ptr Dev_Output_Ctrl; + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s : %x",__func__,dly_processing_addr); + SRAM_DMA_Read_Buff((uint8_t *)&DevDlyInfo, sizeof(Struct_Dev_Dly), dly_processing_addr); if( (DevDlyInfo.DlyExcuteFlag == 0x01) && (SysTick_1ms >= DevDlyInfo.DlyExcuteTime) ) @@ -3422,6 +3480,8 @@ __attribute__((section(".non_0_wait"))) void BLV_DevDly_Process(uint32_t dly_pro DevDlyInfo.DlyExcuteFlag = 0x00; //־0 KeepFlag = 0x01; + Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"%s : %x ʱ䵽 %x %d",__func__,dly_processing_addr,DevDlyInfo.DevDlyCore.DevDlyAddr,DevDlyInfo.DevDlyCore.DevType); + if(DevDlyInfo.DevDlyCore.DevDlyAddr != 0x00) { switch(DevDlyInfo.DevDlyCore.DevType) @@ -3486,7 +3546,7 @@ __attribute__((section(".non_0_wait"))) void BLV_DevDly_Task(void) static uint32_t dev_devdly_processing_tick = 0; uint32_t dly_processing_addr = 0; - if( SysTick_1ms - dev_devdly_processing_tick >= 10 ) + if( SysTick_1ms - dev_devdly_processing_tick >= 100 ) { dev_devdly_processing_tick = SysTick_1ms; diff --git a/MCU_Driver/blv_rs485_protocol.c b/MCU_Driver/blv_rs485_protocol.c index fb7185d..de7f7f8 100644 --- a/MCU_Driver/blv_rs485_protocol.c +++ b/MCU_Driver/blv_rs485_protocol.c @@ -795,6 +795,7 @@ __attribute__((section(".non_0_wait"))) void BLV_PollPort_Task(void) Poll485_Info.Retry_Flag = 0x01; /*2021 09 17 ޸ӷͺֵжϣRS485OCCUPYNOTIMEʾûзݣ豸*/ + //Dbg_Println(DBG_BIT_SYS_STATUS_bit,"ѯ˿ - ȡ豸 %x",Poll485_Info.n_list_read_addr); if((Poll485_Info.n_polling_cf!=0x00000000) && (Poll485_Info.n_polling_cf!=0xFFFFFFFF)) rev = ((fun4_prt)Poll485_Info.n_polling_cf)(Poll485_Info.n_list_read_addr); @@ -851,7 +852,7 @@ __attribute__((section(".non_0_wait"))) void BLV_PollPort_Task(void) case Change_Dev: Poll485_Info.Last_list_addr += SRAM_Device_List_Size; //һ豸 if(Poll485_Info.Last_list_addr >= SRAM_Read_DW(SRAM_POLL_Device_List_Addr)) Poll485_Info.Last_list_addr = SRAM_Read_DW(SRAM_BUS_Device_List_Addr); - + //Dbg_Println(DBG_BIT_SYS_STATUS_bit,"ѯ˿ - л豸 %x",Poll485_Info.n_list_read_addr); Poll485_Info.POLL_Start = B_Polling; break; case B_Retry: @@ -868,6 +869,8 @@ __attribute__((section(".non_0_wait"))) void BLV_PollPort_Task(void) Poll485_Info.n_retry_num--; Poll485_Info.POLL_Start = Wait_Reply; } + + //Dbg_Println(DBG_BIT_SYS_STATUS_bit,"ѯ˿ - ط %x",Poll485_Info.n_list_read_addr); }else if((Poll485_Info.Retry_Flag == 0x01) && (Poll485_Info.n_retry_num == 0x00)) { Poll485_Info.POLL_Start = Change_Dev; //ʧܣл¸豸 @@ -880,6 +883,7 @@ __attribute__((section(".non_0_wait"))) void BLV_PollPort_Task(void) if(g_uart[UART_0].RX_Buffer_WriteAddr != g_uart[UART_0].RX_Buffer_ReadAddr) { data_len = SRAM_Read_Word(g_uart[UART_0].RX_Buffer_ReadAddr); + //Dbg_Println(DBG_BIT_SYS_STATUS_bit,"ѯ˿ڽյ %x - %d",g_uart[UART_0].RX_Buffer_ReadAddr,data_len); if((Poll485_Info.n_processing_cf!=0x00000000) && (Poll485_Info.n_processing_cf!=0xFFFFFFFF)) { Poll485_Info.Retry_Flag = ((fun2_prt )Poll485_Info.n_processing_cf)(Poll485_Info.n_list_read_addr,g_uart[UART_0].RX_Buffer_ReadAddr + 2,data_len); @@ -901,7 +905,10 @@ __attribute__((section(".non_0_wait"))) void BLV_PollPort_Task(void) } } /*ճʱ - ط*/ - if(SysTick_1ms - BLV_POLL_Wait > Poll485_Info.n_dev_waittime) Poll485_Info.POLL_Start = B_Retry; + if(SysTick_1ms - BLV_POLL_Wait > Poll485_Info.n_dev_waittime) { + //Dbg_Println(DBG_BIT_SYS_STATUS_bit,"ѯ˿ڽճʱ - ط"); + Poll485_Info.POLL_Start = B_Retry; + } break; case B_Wait: //ͳɹȴʱ if(SysTick_1ms - BLV_POLL_Wait > Poll485_Info.n_dev_waittime) Poll485_Info.POLL_Start = Change_Dev; diff --git a/MCU_Driver/inc/led.h b/MCU_Driver/inc/led.h index e960935..4a9e5fd 100644 --- a/MCU_Driver/inc/led.h +++ b/MCU_Driver/inc/led.h @@ -10,7 +10,7 @@ #include "ch564.h" -#define SYS_LED_ON GPIOB_ResetBits(GPIO_Pin_12) +#define SYS_LED_ON GPIOA_ResetBits(GPIO_Pin_12) #define SYS_LED_OFF GPIOA_SetBits(GPIO_Pin_12) #define SYS_LED_FLIP GPIOA_InverseBits(GPIO_Pin_12) diff --git a/MCU_Driver/inc/uart.h b/MCU_Driver/inc/uart.h index e9d5641..2faeb4e 100644 --- a/MCU_Driver/inc/uart.h +++ b/MCU_Driver/inc/uart.h @@ -17,10 +17,10 @@ #define USART_BUFFER_NUM 3 #define USART_BUFFER_SIZE 100 -#define MCU485_EN1_H -#define MCU485_EN1_L -#define MCU485_EN2_H -#define MCU485_EN2_L +#define MCU485_EN1_H GPIOD_SetBits(GPIO_Pin_21) +#define MCU485_EN1_L GPIOD_ResetBits(GPIO_Pin_21) +#define MCU485_EN2_H GPIOB_SetBits(GPIO_Pin_15) +#define MCU485_EN2_L GPIOB_ResetBits(GPIO_Pin_15) #define MCU485_EN3_H #define MCU485_EN3_L @@ -70,7 +70,7 @@ void Uart2_Flush(uint16_t over_time); void Uart3_Flush(uint16_t over_time); void Uart_SendString(uint8_t uart_id,uint8_t* buff,uint16_t len); -void MCU485_SendString_1(uint8_t *buf, uint16_t len); +void MCU485_SendString_0(uint8_t *buf, uint16_t len); void MCU485_SendString_2(uint8_t *buf, uint16_t len); void MCU485_SendString_3(uint8_t *buf, uint16_t len); void MCU485_SendString(uint8_t uart_id,uint8_t* buff,uint16_t len); diff --git a/MCU_Driver/uart.c b/MCU_Driver/uart.c index cdd74a1..a52713d 100644 --- a/MCU_Driver/uart.c +++ b/MCU_Driver/uart.c @@ -33,10 +33,10 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 switch (uart_id) { case UART_0: - /* ô1IOģʽ */ + /* ô0IOģʽ */ UART0_BaudRateCfg(buad); - R8_UART0_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; - // FIFO open, trigger point 14 bytes + R8_UART0_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; + // FIFO open, trigger point 1 bytes R8_UART0_LCR = RB_LCR_WORD_SZ; R8_UART0_IER = RB_IER_TXD_EN; @@ -44,7 +44,10 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 GPIOB_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP); GPIOB_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_Floating); + GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP); //RS485ųʼ - ѯ˿ RS485 ʹ + UART0_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY); + NVIC_SetPriority(UART0_IRQn, 0x80); NVIC_EnableIRQ(UART0_IRQn); memset(&g_uart[UART_0],0,sizeof(UART_t)); @@ -58,8 +61,8 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 case UART_1: /* ô1IOģʽ */ UART1_BaudRateCfg(buad); - R8_UART1_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; - // FIFO open, trigger point 14 bytes + R8_UART1_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; + // FIFO open, trigger point 1 bytes R8_UART1_LCR = RB_LCR_WORD_SZ; R8_UART1_IER = RB_IER_TXD_EN; @@ -68,6 +71,7 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 GPIOB_ModeCfg(GPIO_Pin_10, GPIO_ModeIN_Floating); UART1_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY); + NVIC_SetPriority(UART1_IRQn, 0x80); NVIC_EnableIRQ(UART1_IRQn); memset(&g_uart[UART_1],0,sizeof(UART_t)); @@ -80,15 +84,18 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 break; case UART_2: UART2_BaudRateCfg(buad); - R8_UART2_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; - // FIFO open, trigger point 14 bytes + R8_UART2_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; + // FIFO open, trigger point 1 bytes R8_UART2_LCR = RB_LCR_WORD_SZ; R8_UART2_IER = RB_IER_TXD_EN; GPIO_PinRemapConfig(GPIO_PartialRemap1_UART2,ENABLE); GPIOB_ModeCfg(GPIO_Pin_14, GPIO_ModeOut_PP); GPIOB_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_Floating); + GPIOD_ModeCfg(GPIO_Pin_21, GPIO_ModeOut_PP); //RS485ųʼ - ˿ RS485 ʹ + UART2_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY); + NVIC_SetPriority(UART2_IRQn, 0x80); NVIC_EnableIRQ(UART2_IRQn); memset(&g_uart[UART_2],0,sizeof(UART_t)); @@ -101,8 +108,8 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 break; case UART_3: UART3_BaudRateCfg(buad); - R8_UART3_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; - // FIFO open, trigger point 14 bytes + R8_UART3_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; + // FIFO open, trigger point 1 bytes R8_UART3_LCR = RB_LCR_WORD_SZ; R8_UART3_IER = RB_IER_TXD_EN; GPIO_PinRemapConfig(GPIO_PartialRemap1_UART3,ENABLE); @@ -110,6 +117,7 @@ __attribute__((section(".non_0_wait"))) void UARTx_Init(UART_IDX uart_id, uint32 GPIOB_ModeCfg(GPIO_Pin_18, GPIO_ModeIN_Floating); UART3_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY); + NVIC_SetPriority(UART3_IRQn, 0x80); NVIC_EnableIRQ(UART3_IRQn); memset(&g_uart[UART_3],0,sizeof(UART_t)); @@ -257,8 +265,8 @@ __attribute__((section(".non_0_wait"))) void UART0_RECEIVE(void) { g_uart[UART_0].RecvIdleTiming = SysTick_1ms; - Dbg_Println(DBG_BIT_SYS_STATUS_bit,"UART_0 Len %d ",g_uart[UART_0].RecvLen); - Dbg_Print_Buff(DBG_BIT_SYS_STATUS_bit,"UART_0 Buff:", g_uart[UART_0].RecvBuffer,g_uart[UART_0].RecvLen); +// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"UART_0 Len %d ",g_uart[UART_0].RecvLen); +// Dbg_Print_Buff(DBG_BIT_SYS_STATUS_bit,"UART_0 Buff:", g_uart[UART_0].RecvBuffer,g_uart[UART_0].RecvLen); g_uart[UART_0].Receiving = 0; @@ -291,8 +299,8 @@ __attribute__((section(".non_0_wait"))) void UART1_RECEIVE(void) { g_uart[UART_1].RecvIdleTiming = SysTick_1ms; - Dbg_Println(DBG_BIT_SYS_STATUS_bit,"UART_1 Len %d ",g_uart[UART_1].RecvLen); - Dbg_Print_Buff(DBG_BIT_SYS_STATUS_bit,"UART_1 Buff:", g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); +// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"UART_1 Len %d ",g_uart[UART_1].RecvLen); +// Dbg_Print_Buff(DBG_BIT_SYS_STATUS_bit,"UART_1 Buff:", g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen); g_uart[UART_1].Receiving = 0; @@ -327,8 +335,8 @@ __attribute__((section(".non_0_wait"))) void UART2_RECEIVE(void) { g_uart[UART_2].RecvIdleTiming = SysTick_1ms; - Dbg_Println(DBG_BIT_SYS_STATUS_bit,"UART_2 Len %d ",g_uart[UART_2].RecvLen); - Dbg_Print_Buff(DBG_BIT_SYS_STATUS_bit,"UART_2 Buff:", g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); +// Dbg_Println(DBG_BIT_SYS_STATUS_bit,"UART_2 Len %d ",g_uart[UART_2].RecvLen); +// Dbg_Print_Buff(DBG_BIT_SYS_STATUS_bit,"UART_2 Buff:", g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen); g_uart[UART_2].Receiving = 0; @@ -693,26 +701,26 @@ __attribute__((section(".non_0_wait"))) void Uart_SendString(uint8_t uart_id,uin } /******************************************************************************* -* Function Name : MCU485_SendString_1 -* Description : 485_1 ͺ +* Function Name : MCU485_SendString_0 +* Description : 485_0 ͺ * Input : buf - l - ݳ * Return : None *******************************************************************************/ -__attribute__((section(".non_0_wait"))) void MCU485_SendString_1(uint8_t *buf, uint16_t len) +__attribute__((section(".non_0_wait"))) void MCU485_SendString_0(uint8_t *buf, uint16_t len) { uint16_t delay_num = 0; MCU485_EN1_H; - UART1_SendString(buf,len); + UART0_SendString(buf,len); //ȴ - 50ms while(1) { WDT_Feed(); - if( (R8_UART1_LSR & RB_LSR_TX_ALL_EMP) != 0x00 ) break; //жϷFIFOΪ,ͬʱFIFOΪ + if( (R8_UART0_LSR & RB_LSR_TX_ALL_EMP) != 0x00 ) break; //жϷFIFOΪ,ͬʱFIFOΪ Delay_Us(100); delay_num++; if(delay_num > 500) break; @@ -789,23 +797,24 @@ __attribute__((section(".non_0_wait"))) void MCU485_SendString_3(uint8_t *buf, u *******************************************************************************/ __attribute__((section(".non_0_wait"))) void MCU485_SendString(uint8_t uart_id,uint8_t* buff,uint16_t len) { + //Dbg_Println(DBG_BIT_SYS_STATUS_bit,"%s:%d - %d",__func__,uart_id,len); switch(uart_id) { - case UART_1: + case Polling_Port: if(Poll485_Info.port_mode == Port_Monitoring_mode ) //ѯ˿ { //Udp_Internal_SeriaNet_Uploading2(Polling_Port,Poll485_Info.baud,buff,len); } - MCU485_SendString_1(buff,len); + MCU485_SendString_0(buff,len); break; - case UART_2: + case Active_Port: if(Act485_Info.port_mode == Port_Monitoring_mode ) //ѯ˿ { //Udp_Internal_SeriaNet_Uploading2(Active_Port,Act485_Info.baud,buff,len); } MCU485_SendString_2(buff,len); break; - case UART_3: + case Bus_port: if(BUS485_Info.port_mode == Port_Monitoring_mode ) //ѯ˿ { //Udp_Internal_SeriaNet_Uploading2(Bus_port,BUS485_Info.baud,buff,len); diff --git a/Readme.md b/Readme.md index 3bf0603..1d57707 100644 --- a/Readme.md +++ b/Readme.md @@ -1,3 +1,47 @@ +待完成事项: + +​ 1、Launcher 第一次跳转失败问题,待解决。 + +​ 2、RS485主动端口增加避障功能,RS485轮询端口与BUS端口是轮询机制,不需要增加。 + +​ 3、BLV-C1P 无启动原因,需另辟须经实现启动原因。 + +​ 4、Launcher流程修改,MCU Flash只在升级后写入,其他原因启动不写入MCU Flash。 + +​ 5、在每个设备驱动中增加读取软件版本号, + +待测试事项: + +​ 1、配置功能 - 睡眠功能 + +​ 2、配置功能 - 多联开关 + +​ 3、配置功能 - 无卡取电 + +​ 4、配置功能 - 空调提示音 + +遇到问题: + +​ 1、网络搜索主机 - 回复项目编码、房型、房号、房号ID、房型ID 、房态、不正确 + +​ 2、网络搜索主机中,服务器通讯端口在C1F中,这个端口是固定为3341,网络配置工具上使用的是这个字段进行的网络通讯下发字段。 + +​ 问题点:RCU主机 UDP套接字固定端口为3341,而服务器端口为3339 + +​ + + + +#### 2026-01-08 + +1、场景动作延时执行 - 初步测试OK + +2、场景反馈灯控制 - 初步测试OK + +3、开关、插卡取电、温控器设备模型 - 初步测试OK + + + #### 2026-01-06 ​ 1、场景动作执行初步测试OK diff --git a/User/main.c b/User/main.c index 8d6c137..0e204f8 100644 --- a/User/main.c +++ b/User/main.c @@ -30,10 +30,10 @@ int main(void) SystemCoreClockUpdate(); Systick_Init(); - UARTx_Init(UART_0,512000); - UARTx_Init(UART_1,512000); - UARTx_Init(UART_2,512000); - UARTx_Init(UART_3,512000); + UARTx_Init(UART_0,9600); //RS485ѯ˿ + UARTx_Init(UART_1,512000); //Դ + UARTx_Init(UART_2,9600); //RS485˿ + UARTx_Init(UART_3,115200); //BUS SYS_LED_Init();