feat:TFTP升级 - 配置文件OK
1、TFTP升级 - 配置文件初步测试没问题 2、配置文件内容解析移植完毕,调试中 3、TFTP升级 - 是否一个套接字搞定,不需要使用两个套接字,待完成
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="115682257656385746" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-966894059699624056" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
|
||||
10
BLV_485_Driver/blv_re485_dev_energymonitor.c
Normal file
10
BLV_485_Driver/blv_re485_dev_energymonitor.c
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* blv_re485_dev_energymonitor.c
|
||||
*
|
||||
* Created on: Dec 20, 2025
|
||||
* Author: cc
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
102
BLV_485_Driver/inc/blv_nor_dev_serviceinfo.h
Normal file
102
BLV_485_Driver/inc/blv_nor_dev_serviceinfo.h
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* blv_nor_dev_serviceinfo.h
|
||||
*
|
||||
* Created on: Dec 20, 2025
|
||||
* Author: cc
|
||||
*/
|
||||
|
||||
#ifndef BLV_485_DRIVER_INC_BLV_NOR_DEV_SERVICEINFO_H_
|
||||
#define BLV_485_DRIVER_INC_BLV_NOR_DEV_SERVICEINFO_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include "blv_rs485_protocol.h"
|
||||
#include "logic_file_function.h"
|
||||
|
||||
#define ServiceNumMAX 64 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
typedef enum //<2F><><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
|
||||
{
|
||||
Service_Ele = 0, //0 LOOPCH01 ȡ<><C8A1>
|
||||
Service_Dnd, //1 LOOPCH02 <20><><EFBFBD><EFBFBD>
|
||||
Service_Clean, //2 LOOPCH03 <20><><EFBFBD><EFBFBD>
|
||||
Service_Call, //3 LOOPCH04 <20><><EFBFBD><EFBFBD>
|
||||
Service_Wash, //4 LOOPCH05 ϴ<><CFB4>
|
||||
Service_CheckOut, //5 LOOPCH06 <20>˷<EFBFBD>
|
||||
Service_Wait, //6 LOOPCH07 <20>Ժ<EFBFBD>
|
||||
Service_Sos, //7 LOOPCH08 SOS
|
||||
Service_Meals, //8 LOOPCH09 ԤԼ<D4A4><D4BC><EFBFBD><EFBFBD>
|
||||
Service_Food_Plate, //9 LOOPCH10 <20><><EFBFBD><EFBFBD>
|
||||
Service_Luggage, //10 LOOPCH11 <20><><EFBFBD><EFBFBD>
|
||||
Service_Strong, //11 LOOPCH12 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ſں<C5BF><DABA><EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
Service_Door, //12 LOOPCH13 <20>Ŵ<EFBFBD>
|
||||
Service_Warning, //13 LOOPCH14 <20><>ʾ<EFBFBD><CABE> <20><><EFBFBD>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<CDB9>
|
||||
Service_15, //14 LOOPCH15 <20><><EFBFBD><EFBFBD>15 <20><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><E2BFAA><EFBFBD>ر<CDB9>
|
||||
Service_16,
|
||||
|
||||
Service_17,
|
||||
Service_18,
|
||||
Service_19,
|
||||
Service_20,
|
||||
Service_21,
|
||||
Service_22,
|
||||
Service_23,
|
||||
|
||||
Service_24,
|
||||
|
||||
Service_PMS_Rented, //<2F><>̬ - <20><><EFBFBD><EFBFBD>
|
||||
Service_PMS_CheckOut, //<2F><>̬ - <20>˷<EFBFBD>
|
||||
Service_PMS_Waiting, //<2F><>̬ - <20><><EFBFBD><EFBFBD>
|
||||
Service_PMS_Vacant, //<2F><>̬ - <20>շ<EFBFBD>
|
||||
Service_29,
|
||||
Service_30,
|
||||
Service_31,
|
||||
Service_32,
|
||||
Service_33,
|
||||
Service_34,
|
||||
Service_35,
|
||||
Service_36,
|
||||
Service_37,
|
||||
Service_38,
|
||||
Service_39,
|
||||
Service_40,
|
||||
Service_41,
|
||||
Service_42,
|
||||
Service_43,
|
||||
Service_44,
|
||||
Service_45,
|
||||
Service_46,
|
||||
Service_47,
|
||||
Service_48,
|
||||
Service_49,
|
||||
Service_50,
|
||||
Service_51,
|
||||
Service_52,
|
||||
Service_53,
|
||||
Service_54,
|
||||
Service_55,
|
||||
Service_56,
|
||||
Service_57,
|
||||
Service_58,
|
||||
Service_59,
|
||||
Service_60,
|
||||
Service_61,
|
||||
Service_62,
|
||||
Service_63,
|
||||
Service_64,
|
||||
|
||||
Service_Num_MAX, //<2F><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}Enum_Dev_Service; //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t DevChangeFlag[ServiceNumMAX]; //<2F>豸<EFBFBD>仯<EFBFBD><E4BBAF>־ 1<><31><EFBFBD><EFBFBD> 2<>ر<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
||||
uint8_t DevServiceState[ServiceNumMAX]; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>״̬ <20><><EFBFBD><EFBFBD><EFBFBD>豸״̬<D7B4>仯<EFBFBD><E4BBAF>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϵ<D0B6>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ǵ<C7B4><F2BFAABB>ǹر<C7B9>
|
||||
uint8_t DevServiceStateLast[ServiceNumMAX]; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>״̬
|
||||
uint8_t ServiceLoopValidNum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>Ч<EFBFBD><D0A7>·<EFBFBD><C2B7>
|
||||
uint8_t is_first_power_on; //<2F>״<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ
|
||||
}NOR_SERVICE_INFO; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* BLV_485_DRIVER_INC_BLV_NOR_DEV_SERVICEINFO_H_ */
|
||||
65
BLV_485_Driver/inc/blv_rs485_dev_energymonitor.h
Normal file
65
BLV_485_Driver/inc/blv_rs485_dev_energymonitor.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* blv_rs485_dev_energymonitor.h
|
||||
*
|
||||
* Created on: Dec 20, 2025
|
||||
* Author: cc
|
||||
*/
|
||||
|
||||
#ifndef BLV_485_DRIVER_INC_BLV_RS485_DEV_ENERGYMONITOR_H_
|
||||
#define BLV_485_DRIVER_INC_BLV_RS485_DEV_ENERGYMONITOR_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include "blv_rs485_protocol.h"
|
||||
#include "logic_file_function.h"
|
||||
|
||||
#define BLV_Energy_Bus_Type 0xF4
|
||||
|
||||
#define BLV_Energy_RecvData_LenMax 30
|
||||
#define BLV_Energy_RecvData_LenMin 8
|
||||
|
||||
#define BLV_Energy_DataHeard 0x8A
|
||||
#define BLV_Energy_DataEnd 0xA8
|
||||
|
||||
#define BLV_Energy_PeriodicReport_CMD 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define BLV_Energy_Inquire_CMD 0x02 //<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
||||
#define BLV_Energy_SetInfo_CMD 0x03 //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
#define BLV_Energy_ReadVer_CMD 0x04 //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
#define BLV_Energy_ClearStat_CMD 0x13 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD>ͳ<EFBFBD><CDB3>
|
||||
|
||||
#define BLV_Energy_Send_Flag_Max 4
|
||||
#define BLV_Energy_SetInfo_Flag 0x0001
|
||||
#define BLV_Energy_ClearStat_Flag 0x0002
|
||||
#define BLV_Energy_ReadVer_Flag 0x0004
|
||||
#define BLV_Energy_Inquire_Flag 0x0008
|
||||
|
||||
typedef struct
|
||||
{
|
||||
BLV_COMM_RECORD_G comm_record; //ͨѶ<CDA8><D1B6>¼
|
||||
|
||||
uint8_t DevSendCnt; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﵽ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>лظ<D0BB><D8B8><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
||||
uint8_t DevOffline; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>߱<EFBFBD>־ 1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
uint8_t DevOfflineLast; //<2F>豸<EFBFBD><E8B1B8><EFBFBD>߱<EFBFBD>־ 1<><31><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD> 0<><30><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||||
|
||||
uint8_t DevSendSN; //<2F>豸ͨѶ SN
|
||||
uint8_t periodic_enable; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʹ<EFBFBD><CAB9>״̬
|
||||
|
||||
uint16_t voltage; //<2F><>ѹ
|
||||
uint16_t current; //<2F><><EFBFBD><EFBFBD>
|
||||
uint32_t active_power; //<2F>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint32_t phase_energy; //<2F><EFBFBD><D7B6>ܺ<EFBFBD>
|
||||
uint32_t total_energy; //<2F><><EFBFBD>ܺ<EFBFBD>
|
||||
|
||||
uint32_t send_flag; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
|
||||
uint32_t periodic_time; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>mS
|
||||
|
||||
uint32_t inquire_tick; //ѯ<><D1AF>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
|
||||
}RS485_ENERGYMONITOR_INFO;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* BLV_485_DRIVER_INC_BLV_RS485_DEV_ENERGYMONITOR_H_ */
|
||||
@@ -75,8 +75,7 @@ SECTIONS
|
||||
ASSERT(_endof_Flashlib < ORIGIN(FLASH1), "The Flash lib must maintain in 0-wait zone");
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
|
||||
*(.gnu.linkonce.t.*)
|
||||
. = ALIGN(4);
|
||||
} >FLASH AT>FLASH
|
||||
@@ -91,6 +90,9 @@ SECTIONS
|
||||
*(.non_0_wait);
|
||||
*(.non_0_wait.*);
|
||||
|
||||
*(.rodata)
|
||||
*(.rodata*)
|
||||
|
||||
. = ALIGN(4);
|
||||
} >FLASH1 AT>FLASH1
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -19,9 +19,12 @@
|
||||
|
||||
#define SeriaNet_Cmd_Send_Len 19 //<2F><>ͷ<EFBFBD><CDB7>15Byte+<2B><><EFBFBD>ݣ<EFBFBD>2Byte+CRC<52><43>2Byte
|
||||
|
||||
#define Search_Cmd 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define Heart_Cmd 0x02 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
#define In_Search_Cmd 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define In_Heart_Cmd 0x02 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define In_QueryTime_Cmd 0x08 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
#define In_IAP_Cmd 0x0A //IAP APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define In_RoomState_Cmd 0x0E //״̬<D7B4>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> 2025-09-25 ȡ<><C8A1>
|
||||
#define In_DevCtr_Cmd 0x0F //<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƺ͵<C6BA><CDB5><EFBFBD>
|
||||
#define In_SingleAirCtrl_Cmd 0x13 //<2F>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -40,6 +43,9 @@
|
||||
#define In_SeriaNet_Cmd 0x70 //<><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>
|
||||
#define In_SeriaNetReported_Cmd 0x71 //<><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
||||
|
||||
#define In_Subgroup_Cmd 0xA2 //<2F><>Ⱥ<EFBFBD><C8BA><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
#define In_Read_MCUSystem_Cmd 0xB1 //<2F><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
#define In_BLVIAP_Cmd 0xB2 //BLV_Cx<43><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Aϵ<41><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EEA3AC><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ִ<EFBFBD>е<EFBFBD>BLV_Cxϵ<78>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define In_BLVIAPCheck_Cmd 0xB3 //BLV_Cx<43><78><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -90,6 +96,8 @@ uint8_t Udp_Internal_SeriaNet_Uploading(uint8_t port,uint32_t baud,uint32_t data
|
||||
uint8_t Udp_Internal_SeriaNet_Uploading2(uint8_t port,uint32_t baud,uint8_t* data, uint16_t DataLen);
|
||||
uint8_t Udp_Internal_SeriaNet_Response_Timeout(void);
|
||||
|
||||
void Udp_Internal_Analysis(uint8_t *data, uint32_t len, uint8_t* ip, uint16_t port);
|
||||
|
||||
void BLV_UDP_Comm_Task(void);
|
||||
|
||||
#endif /* MCU_DRIVER_INC_BLV_NETCOMM_FUNCTION_H_ */
|
||||
|
||||
@@ -48,6 +48,7 @@ uint32_t RTC_Conversion_To_Unix(S_RTC *rtc_time);
|
||||
void Unix_Conversion_To_RTC(S_RTC *rtc_time,uint32_t utc_tick);
|
||||
uint8_t RTC_ReadDate(S_RTC *psRTC);
|
||||
uint8_t RTC_WriteDate(S_RTC SetRTC);
|
||||
uint8_t NetRTC_WriteDate(S_RTC SetRTC);
|
||||
void RTC_TASK(void);
|
||||
uint8_t RTC_TimeDate_Correct_Figure(uint8_t data);
|
||||
|
||||
|
||||
@@ -1131,7 +1131,7 @@ __attribute__((section(".non_0_wait"))) uint8_t Read_LogicFile_Information(uint8
|
||||
|
||||
if(temp != LOGIC_DataFlag)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%08X",temp);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%X",temp);
|
||||
return 0x01;
|
||||
}
|
||||
|
||||
@@ -1145,7 +1145,7 @@ __attribute__((section(".non_0_wait"))) uint8_t Read_LogicFile_Information(uint8
|
||||
|
||||
if((file_len != 0x00) &&(file_len > 0x70000))
|
||||
{
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>:%08X",file_len);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>:%X",file_len);
|
||||
return 0x01;
|
||||
}
|
||||
|
||||
@@ -1155,9 +1155,9 @@ __attribute__((section(".non_0_wait"))) uint8_t Read_LogicFile_Information(uint8
|
||||
{
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"MD5У<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!");
|
||||
}else {
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"MD5У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Len:%08X",file_len);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X%02X,%02X,%02X,%02X,%02X,%02X",md5[0],md5[1],md5[2],md5[3],md5[4],md5[5],md5[6],md5[7],md5[8],md5[9],md5[10],md5[11],md5[12],md5[13],md5[14],md5[15]);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"File Md5:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X",\
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"MD5У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Len:%X",file_len);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X%X,%X,%X,%X,%X,%X",md5[0],md5[1],md5[2],md5[3],md5[4],md5[5],md5[6],md5[7],md5[8],md5[9],md5[10],md5[11],md5[12],md5[13],md5[14],md5[15]);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"File Md5:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X",\
|
||||
file_info[8],file_info[9],\
|
||||
file_info[10],file_info[11],\
|
||||
file_info[12],file_info[13],\
|
||||
@@ -2968,20 +2968,20 @@ __attribute__((section(".non_0_wait"))) void LOGIC_FILE_Analysis(LOGICFILE_Conte
|
||||
switch(Temp_Flash_Buff[Logic_D_FrameType])
|
||||
{
|
||||
case Logic_FrameType_LogicInfo:
|
||||
//Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_LogicInfo - <20><EFBFBD><DFBC><EFBFBD>Ϣ");
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_LogicInfo - <20><EFBFBD><DFBC><EFBFBD>Ϣ");
|
||||
Logic_FrameType_LogicInfo_TempProcessing(&Temp_Flash_Buff[Logic_D_Para],temp_len - Logic_D_Para);
|
||||
break;
|
||||
case Logic_FrameType_Global:
|
||||
//Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_Global - ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ");
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_Global - ȫ<><C8AB><EFBFBD><EFBFBD>Ϣ");
|
||||
Logic_FrameType_Global_TempProcessing(&Temp_Flash_Buff[Logic_D_Para],temp_len - Logic_D_Para);
|
||||
break;
|
||||
case Logic_FrameType_DeviceExist:
|
||||
//Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_DeviceExist - <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>");
|
||||
Logic_FrameType_DeviceExist_TempProcessing(read_addr,Lfile_info,&Temp_Flash_Buff[Logic_D_Para],temp_len - Logic_D_Para);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_DeviceExist - <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>");
|
||||
//Logic_FrameType_DeviceExist_TempProcessing(read_addr,Lfile_info,&Temp_Flash_Buff[Logic_D_Para],temp_len - Logic_D_Para);
|
||||
break;
|
||||
case Logic_FrameType_DeviceAction:
|
||||
//Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_DeviceAction - <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>");
|
||||
Logic_FrameType_DeviceAction_TempProcessing(read_addr,Lfile_info,&Temp_Flash_Buff[Logic_D_Para],temp_len - Logic_D_Para);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"Logic_FrameType_DeviceAction - <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>");
|
||||
//Logic_FrameType_DeviceAction_TempProcessing(read_addr,Lfile_info,&Temp_Flash_Buff[Logic_D_Para],temp_len - Logic_D_Para);
|
||||
break;
|
||||
#if RS485_MUSIC_BLW_Flag
|
||||
case Logic_FrameType_VoiceMap:
|
||||
@@ -3561,9 +3561,9 @@ __attribute__((section(".non_0_wait"))) uint8_t LOGIC_FILE_Check(void)
|
||||
{
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"MD5У<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!");
|
||||
}else {
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"MD5У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Len:%08X",file_len);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X%02X,%02X,%02X,%02X,%02X,%02X",md5[0],md5[1],md5[2],md5[3],md5[4],md5[5],md5[6],md5[7],md5[8],md5[9],md5[10],md5[11],md5[12],md5[13],md5[14],md5[15]);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"UDP Md5:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X",\
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"MD5У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Len:%X",file_len);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X",md5[0],md5[1],md5[2],md5[3],md5[4],md5[5],md5[6],md5[7],md5[8],md5[9],md5[10],md5[11],md5[12],md5[13],md5[14],md5[15]);
|
||||
Dbg_Println(DBG_BIT_LOGIC_STATUS_bit,"UDP Md5:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X",\
|
||||
file_info[8],file_info[9],\
|
||||
file_info[10],file_info[11],\
|
||||
file_info[12],file_info[13],\
|
||||
|
||||
@@ -151,7 +151,7 @@ __attribute__((section(".non_0_wait"))) uint8_t Log_write_sram(uint8_t data_type
|
||||
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD>־д<D6BE><D0B4><EFBFBD><EFBFBD>ַ*/
|
||||
Last_add = Last_add + write_len;
|
||||
Set_Log_Current_Address(Last_add);
|
||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"SRAM LOG Addr : %08X",Last_add);
|
||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"SRAM LOG Addr : %X",Last_add);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -270,7 +270,13 @@ __attribute__((section(".non_0_wait"))) void UART1_RECEIVE(void)
|
||||
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);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>SRAM<41><4D><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷд<CDB7><D0B4><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||||
SRAM_Write_Byte((uint8_t)(g_uart[UART_1].RecvLen & 0xFF),g_uart[UART_1].RX_Buffer_WriteAddr);
|
||||
SRAM_Write_Byte((uint8_t)((g_uart[UART_1].RecvLen >> 8) & 0xFF),g_uart[UART_1].RX_Buffer_WriteAddr+1);
|
||||
SRAM_DMA_Write_Buff(g_uart[UART_1].RecvBuffer,g_uart[UART_1].RecvLen,g_uart[UART_1].RX_Buffer_WriteAddr+2);
|
||||
|
||||
g_uart[UART_1].RX_Buffer_WriteAddr += SRAM_Uart_Buffer_Size;
|
||||
if(g_uart[UART_1].RX_Buffer_WriteAddr > SRAM_UART1_RecvBuffer_End_Addr) g_uart[UART_1].RX_Buffer_WriteAddr = SRAM_UART1_RecvBuffer_Start_Addr;
|
||||
|
||||
g_uart[UART_1].RecvLen = 0;
|
||||
g_uart[UART_1].Receiving = 0;
|
||||
|
||||
@@ -31,7 +31,7 @@ extern "C" {
|
||||
/* The number of sockets, the maximum is 31 */
|
||||
#define WCHNET_MAX_SOCKET_NUM (WCHNET_NUM_IPRAW+WCHNET_NUM_UDP+WCHNET_NUM_TCP+WCHNET_NUM_TCP_LISTEN)
|
||||
|
||||
#define WCHNET_TCP_MSS 768 /* Size of TCP MSS Ĭ<><C4AC>:1460*/
|
||||
#define WCHNET_TCP_MSS 1460 /* Size of TCP MSS Ĭ<><C4AC>:1460*/
|
||||
|
||||
#define WCHNET_NUM_POOL_BUF (WCHNET_NUM_TCP*2+2) /* The number of POOL BUFs, the number of receive queues */
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ uint16_t srcport = 1000; //source port
|
||||
|
||||
uint8_t SocketId;
|
||||
uint8_t socket[WCHNET_MAX_SOCKET_NUM]; //Save the currently connected socket
|
||||
uint8_t SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][RECE_BUF_LEN]; //socket receive buffer
|
||||
uint8_t SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][1472]; //socket receive buffer
|
||||
|
||||
//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
WCHNET_INFO_T g_netinfo = {
|
||||
@@ -94,7 +94,7 @@ void TIM2_IRQHandler(void)
|
||||
* cb - socket<65>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
* Return : None
|
||||
*******************************************************************************/
|
||||
__attribute__((section(".non_0_wait"))) void WCHNET_CreateUdpSocket(uint8_t* S, uint16_t SourPort, pSockRecv cb)
|
||||
void WCHNET_CreateUdpSocket(uint8_t *S, uint16_t SourPort, pSockRecv cb)
|
||||
{
|
||||
uint8_t i;
|
||||
SOCK_INF TmpSocketInf; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱsocket<65><74><EFBFBD><EFBFBD> */
|
||||
@@ -112,7 +112,7 @@ __attribute__((section(".non_0_wait"))) void WCHNET_CreateUdpSocket(uint8_t* S,
|
||||
|
||||
i = WCHNET_SocketCreat(S, &TmpSocketInf); /* <20><><EFBFBD><EFBFBD>socket<65><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>socket<65><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SocketId<49><64> */
|
||||
mStopIfError(i);
|
||||
WCHNET_ModifyRecvBuf(SocketId, (uint32_t) SocketRecvBuf[SocketId], RECE_BUF_LEN);
|
||||
WCHNET_ModifyRecvBuf(*S, (uint32_t) SocketRecvBuf[*S], RECE_BUF_LEN);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s - %d",__func__, *S);
|
||||
}
|
||||
|
||||
@@ -152,9 +152,9 @@ void UDPSocket1_AppCallBack( struct _SOCK_INF * SocketInf,uint32_t ipaddr,uint16
|
||||
ip[3] = ipaddr>>24;
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"ip:%d.%d.%d.%d, port:%d",ip[0], ip[1], ip[2], ip[3], port);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"Socket1 len:%ld",len);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"Socket1 len:%d",len);
|
||||
Dbg_Print_Buff(DBG_BIT_NET_STATUS_bit,"Recv data:",buff,len);
|
||||
|
||||
Dbg_Print_Buff(DBG_BIT_NET_STATUS_bit,"data :",buff,len);
|
||||
//Udp_Internal_Analysis(buff, len, ip, port);
|
||||
|
||||
if(buff[0] == 0xAA)
|
||||
@@ -162,7 +162,7 @@ void UDPSocket1_AppCallBack( struct _SOCK_INF * SocketInf,uint32_t ipaddr,uint16
|
||||
switch(buff[1])
|
||||
{
|
||||
case 0x55: //<2F>ɵķ<C9B5><C4B7><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>
|
||||
//Udp_Internal_Analysis(buff, len, ip, port);
|
||||
Udp_Internal_Analysis(buff, len, ip, port);
|
||||
break;
|
||||
case 0x66: //UDP<44><50><EFBFBD><EFBFBD>Э<EFBFBD><D0AD> - 2022-05-31
|
||||
//UDP_NetServer_Data_Analysis(buff, len, ip, port);
|
||||
@@ -1055,13 +1055,6 @@ __attribute__((section(".non_0_wait"))) void NetWork_Task(void)
|
||||
|
||||
//Udp_Internal_Task(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>
|
||||
|
||||
if(SysTick_1s - server_info.con_tick > 10)
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
server_info.con_tick = SysTick_1s;
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD>紦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n");
|
||||
}
|
||||
|
||||
/* -<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* -<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1>״̬<D7B4>£<EFBFBD>PC<50><43><EFBFBD><EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7>Ͳ<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
||||
* */
|
||||
@@ -1087,7 +1080,6 @@ __attribute__((section(".non_0_wait"))) void NetWork_Task(void)
|
||||
/*<2A>ͷ<EFBFBD><CDB7><EFBFBD><D7BD><EFBFBD>*/
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
WCHNET_SocketClose(g_netinfo.SocketId[SocketIdnex_BLVSeriver],0x00);
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -118,7 +118,8 @@ typedef struct
|
||||
uint16_t goal_port; //Ŀ<><C4BF>port
|
||||
uint16_t dis_port; //<2F>ƶ˷<C6B6><CBB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>
|
||||
uint16_t frame_no; //<2F><><EFBFBD>͵<EFBFBD>֡<EFBFBD><D6A1>
|
||||
uint16_t ack_frame; //ACK֡<4B><D6A1>
|
||||
uint16_t ack_frame; //ACK֡<4B><D6A1> - <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>֡<EFBFBD><D6A1>
|
||||
uint16_t udp_frame; //UDPͨѶ<CDA8><D1B6><EFBFBD>յ<EFBFBD>֡<EFBFBD><D6A1>
|
||||
|
||||
uint16_t udp_timesync_cnt; //ʱ<><CAB1>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 1sһ<73><D2BB>
|
||||
uint16_t udp_periodic_cnt; //<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> - 1sһ<73><D2BB>
|
||||
|
||||
@@ -53,9 +53,9 @@ __attribute__((section(".non_0_wait"))) uint16_t TFTP_Pack_Get_Block(uint8_t *bu
|
||||
{
|
||||
uint16_t temp = 0x00;
|
||||
|
||||
temp = buf[3];
|
||||
temp = buf[2];
|
||||
temp <<= 8;
|
||||
temp |= buf[4];
|
||||
temp |= buf[3];
|
||||
|
||||
return temp;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ __attribute__((section(".non_0_wait"))) uint8_t TFTP_send_ack_packet(uint8_t s,
|
||||
{
|
||||
uint8_t err = 0;
|
||||
uint32_t sendlen = TFTP_ACK_PKT_LEN;
|
||||
char packet[TFTP_ACK_PKT_LEN];
|
||||
uint8_t packet[24];
|
||||
|
||||
/* define the first two bytes of the packet */
|
||||
if(1 == IAPVarTypeStruct_Ptr.IapErrFlag) TFTP_Pack_Set_Opcode(packet,TFTP_ERROR);
|
||||
@@ -102,8 +102,10 @@ __attribute__((section(".non_0_wait"))) uint8_t TFTP_send_ack_packet(uint8_t s,
|
||||
|
||||
TFTP_Pack_Set_Block(packet, block);
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"TFTP ACK packet -- SocketId:%d , port:%d ,block:%ld len:%ld , IP:%d.%d.%d.%d",s,to_port,block,sendlen,to_ip[0],to_ip[1],to_ip[2],to_ip[3]);
|
||||
err = WCHNET_SocketUdpSendTo(s, (uint8_t *)&packet[0], &sendlen, to_ip, to_port);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"TFTP ACK packet -- SocketId:%d , port:%d ,block:%d len:%d , IP:%d.%d.%d.%d",s,to_port,block,sendlen,to_ip[0],to_ip[1],to_ip[2],to_ip[3]);
|
||||
Dbg_Print_Buff(DBG_BIT_NET_STATUS_bit, "Send Data: ", packet, sendlen);
|
||||
|
||||
err = WCHNET_SocketUdpSendTo(s, packet, &sendlen, to_ip, to_port);
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -128,7 +130,7 @@ __attribute__((section(".non_0_wait"))) uint8_t IAP_tftp_process_write(uint8_t s
|
||||
|
||||
IAPVarTypeStruct_Ptr.TotalCount =0;
|
||||
IAPVarTypeStruct_Ptr.IapErrFlag = 0;
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"ip:%d.%d.%d.%d, port:%d",to_ip[0], to_ip[1], to_ip[2], to_ip[3], to_port);
|
||||
/*BLV_C1 -- <20><><EFBFBD><EFBFBD>Flash<73><68><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD>ٲ<EFBFBD><D9B2><EFBFBD>ͬʱ<CDAC><CAB1>SRAM<41>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>flash<73><68>*/
|
||||
if(IAPVarTypeStruct_Ptr.IapFileType == TFTP_IAP_DataType_APP)
|
||||
{
|
||||
@@ -145,7 +147,7 @@ __attribute__((section(".non_0_wait"))) uint8_t IAP_tftp_process_write(uint8_t s
|
||||
return 0x01;
|
||||
}
|
||||
|
||||
TFTP_send_ack_packet(s, to_ip, to_port, tftp_args.block);
|
||||
TFTP_send_ack_packet(g_netinfo.SocketId[SocketIdnex_TFTPDATA], to_ip, to_port, tftp_args.block); //ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BD><EFBFBD>
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
@@ -167,6 +169,8 @@ __attribute__((section(".non_0_wait"))) void TFTP_IAP_Data_Processing(uint8_t s,
|
||||
IAPVarTypeStruct_Ptr.IapPercent++;
|
||||
IAPVarTypeStruct_Ptr.processing_tick = SysTick_1ms;
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s block:%d - %d",__func__,IAPVarTypeStruct_Ptr.Write_Block,TFTP_Pack_Get_Block(pkt_buf));
|
||||
|
||||
if( (pkt_buf_len > TFTP_DATA_PKT_HDR_LEN) && ( TFTP_Pack_Get_Block(pkt_buf) == (IAPVarTypeStruct_Ptr.Write_Block + 1) ) )
|
||||
{
|
||||
pkt_buf_len = pkt_buf_len - TFTP_DATA_PKT_HDR_LEN;
|
||||
@@ -368,9 +372,9 @@ __attribute__((section(".non_0_wait"))) void TFTP_IAP_Data_Processing(uint8_t s,
|
||||
// }
|
||||
|
||||
IAPVarTypeStruct_Ptr.IapErrFlag = 1;
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X%02X,%02X,%02X,%02X,%02X,%02X", \
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X", \
|
||||
md5[0],md5[1],md5[2],md5[3],md5[4],md5[5],md5[6],md5[7],md5[8],md5[9],md5[10],md5[11],md5[12],md5[13],md5[14],md5[15]);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"UDP Md5:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X", \
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"UDP Md5:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X", \
|
||||
IAPVarTypeStruct_Ptr.Md5[0],IAPVarTypeStruct_Ptr.Md5[1], \
|
||||
IAPVarTypeStruct_Ptr.Md5[2],IAPVarTypeStruct_Ptr.Md5[3], \
|
||||
IAPVarTypeStruct_Ptr.Md5[4],IAPVarTypeStruct_Ptr.Md5[5], \
|
||||
@@ -422,8 +426,8 @@ __attribute__((section(".non_0_wait"))) void TFTP_IAP_Data_Processing(uint8_t s,
|
||||
memcpy(&data_buffer[8],IAPVarTypeStruct_Ptr.Md5,16);
|
||||
Flash_Write(data_buffer,24,SPIFLASH_LOGIC_DataFlag_ADDRESS);
|
||||
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
LOG_LogicInfo_DebugRecord("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ");
|
||||
Dbg_Println(DBG_BIT_DEVICE_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
LOG_LogicInfo_DebugRecord("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ");
|
||||
}else{
|
||||
// switch(IAPVarTypeStruct_Ptr->IapType)
|
||||
// {
|
||||
@@ -436,9 +440,9 @@ __attribute__((section(".non_0_wait"))) void TFTP_IAP_Data_Processing(uint8_t s,
|
||||
// }
|
||||
|
||||
IAPVarTypeStruct_Ptr.IapErrFlag = 1;
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X%02X,%02X,%02X,%02X,%02X,%02X",\
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>Md5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X",\
|
||||
md5[0],md5[1],md5[2],md5[3],md5[4],md5[5],md5[6],md5[7],md5[8],md5[9],md5[10],md5[11],md5[12],md5[13],md5[14],md5[15]);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"UDP Md5:%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X,%02X",\
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"UDP Md5:%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X,%X",\
|
||||
IAPVarTypeStruct_Ptr.Md5[0],IAPVarTypeStruct_Ptr.Md5[1],\
|
||||
IAPVarTypeStruct_Ptr.Md5[2],IAPVarTypeStruct_Ptr.Md5[3],\
|
||||
IAPVarTypeStruct_Ptr.Md5[4],IAPVarTypeStruct_Ptr.Md5[5],\
|
||||
@@ -461,7 +465,7 @@ __attribute__((section(".non_0_wait"))) void TFTP_IAP_Data_Processing(uint8_t s,
|
||||
* Function Name : UDPSocket_TFTP_CMD_AppCallBack
|
||||
* Description : TFTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BD><EFBFBD> - <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
*******************************************************************************/
|
||||
__attribute__((section(".non_0_wait"))) void UDPSocket_TFTP_CMD_AppCallBack(struct _SOCK_INF * SocketInf,uint32_t ipaddr,uint16_t port,uint8_t *buff,uint32_t len)
|
||||
void UDPSocket_TFTP_CMD_AppCallBack(struct _SOCK_INF * SocketInf,uint32_t ipaddr,uint16_t port,uint8_t *buff,uint32_t len)
|
||||
{
|
||||
uint8_t ip_addr[4];
|
||||
ip_addr[0] = ipaddr & 0xFF;
|
||||
@@ -469,7 +473,7 @@ __attribute__((section(".non_0_wait"))) void UDPSocket_TFTP_CMD_AppCallBack(stru
|
||||
ip_addr[2] = (ipaddr >> 16) & 0xFF ;
|
||||
ip_addr[3] = (ipaddr >> 24) & 0xFF ;
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s len:%ld",__func__,len);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s len:%d",__func__,len);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"ip:%d.%d.%d.%d, port:%d",ip_addr[0], ip_addr[1], ip_addr[2], ip_addr[3], port);
|
||||
|
||||
/*TFTP <20><><EFBFBD><EFBFBD><EEB4A6>*/
|
||||
@@ -483,7 +487,7 @@ __attribute__((section(".non_0_wait"))) void UDPSocket_TFTP_CMD_AppCallBack(stru
|
||||
|
||||
IAP_tftp_process_write(g_netinfo.SocketId[SocketIdnex_TFTPCMD], ip_addr, port); //<2F>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> д<>ļ<EFBFBD>ָ<EFBFBD><D6B8>
|
||||
}else{
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"TFTP Type:%d",IAPVarTypeStruct_Ptr.FunType);
|
||||
}
|
||||
|
||||
}else if( TFTP_Pack_Get_Opcode(buff) == TFTP_OPTION )
|
||||
@@ -501,7 +505,7 @@ __attribute__((section(".non_0_wait"))) void UDPSocket_TFTP_CMD_AppCallBack(stru
|
||||
* Function Name : UDPSocket_TFTP_DATA_AppCallBack
|
||||
* Description : TFTP<54><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BD><EFBFBD> - <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
*******************************************************************************/
|
||||
__attribute__((section(".non_0_wait"))) void UDPSocket_TFTP_DATA_AppCallBack(struct _SOCK_INF * SocketInf,uint32_t ipaddr,uint16_t port,uint8_t *buff,uint32_t len)
|
||||
void UDPSocket_TFTP_DATA_AppCallBack(struct _SOCK_INF * SocketInf,uint32_t ipaddr,uint16_t port,uint8_t *buff,uint32_t len)
|
||||
{
|
||||
uint8_t ip_addr[4];
|
||||
ip_addr[0] = ipaddr & 0xFF;
|
||||
@@ -509,7 +513,7 @@ __attribute__((section(".non_0_wait"))) void UDPSocket_TFTP_DATA_AppCallBack(str
|
||||
ip_addr[2] = (ipaddr >> 16) & 0xFF ;
|
||||
ip_addr[3] = (ipaddr >> 24) & 0xFF ;
|
||||
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s len:%ld",__func__,len);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"%s len:%d",__func__,len);
|
||||
Dbg_Println(DBG_BIT_NET_STATUS_bit,"ip:%d.%d.%d.%d, port:%d",ip_addr[0], ip_addr[1], ip_addr[2], ip_addr[3], port);
|
||||
|
||||
if( TFTP_Pack_Get_Opcode(buff) == TFTP_DATA ) //TFTP IAP<41>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -564,7 +568,7 @@ __attribute__((section(".non_0_wait"))) void Internal_TFTP_Task(void)
|
||||
case STA_INIT_IDLE:
|
||||
//<2F><><EFBFBD>ƶ˷<C6B6><CBB7>Ͷ<EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
if( SysTick_1ms - IAPVarTypeStruct_Ptr.processing_tick > TFTP_IAP_Timeout) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><D7BD><EFBFBD>
|
||||
if( SysTick_1ms - IAPVarTypeStruct_Ptr.processing_tick > 30000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><D7BD><EFBFBD>
|
||||
{
|
||||
//Cloud_IAP_Plan_SendPack(tftp_args,IAPVarTypeStruct_Ptr,IAPPlan_State_IAPTimeout); //<2F><><EFBFBD><EFBFBD>IAP<41><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
||||
|
||||
@@ -587,7 +591,7 @@ __attribute__((section(".non_0_wait"))) void Internal_TFTP_Task(void)
|
||||
IAPVarTypeStruct_Ptr.enable = 0x00;
|
||||
break;
|
||||
default:
|
||||
IAPVarTypeStruct_Ptr.status = STA_END; //<2F>ͷ<EFBFBD><CDB7><EFBFBD><D7BD><EFBFBD>
|
||||
IAPVarTypeStruct_Ptr.status = STA_INIT_WAIT; //<2F>ͷ<EFBFBD><CDB7><EFBFBD><D7BD><EFBFBD>
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,13 @@
|
||||
#define TFTP_IAP_DataType_APP 0x01 //IAP<41><50><EFBFBD><EFBFBD> - APP<50>̼<EFBFBD>
|
||||
#define TFTP_IAP_DataType_CONFIG 0x02 //IAP<41><50><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
|
||||
#define TFTP_IAP_Status_Ready 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define TFTP_IAP_Status_Finish 0x01 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define TFTP_IAP_Status_Error 0x02 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define TFTP_IAP_Status_Error_Block 0x03 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define TFTP_IAP_Status_Error_File 0x04 //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define TFTP_IAP_Status_Error_Md5 0x05 //<2F><><EFBFBD><EFBFBD>MD5ֵ<35><D6B5><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
typedef enum {
|
||||
TFTP_RRQ = 1,
|
||||
@@ -97,6 +104,7 @@ typedef struct
|
||||
uint32_t last_time;
|
||||
}tftp_connection_args;
|
||||
|
||||
extern IAPVarTypeStruct IAPVarTypeStruct_Ptr;
|
||||
|
||||
void Internal_TFTP_Task(void);
|
||||
|
||||
|
||||
16
Readme.md
16
Readme.md
@@ -1,3 +1,19 @@
|
||||
#### 2025-12-25
|
||||
|
||||
1、TFTP升级 - 配置文件初步测试没问题
|
||||
|
||||
2、配置文件内容解析移植完毕,调试中
|
||||
|
||||
3、TFTP升级 - 是否一个套接字搞定,不需要使用两个套接字
|
||||
|
||||
|
||||
|
||||
#### 2025-12-10
|
||||
|
||||
1、TFTP IAP升级功能移植完毕,待测试
|
||||
|
||||
2、优化代码编译的空间问题,目前零等待区的空间已满,需将除了库函数以外的代码及相关变量全部放置非零等待区中,否则项目编译不成功
|
||||
|
||||
#### 2025-12-06
|
||||
|
||||
1. 动作执行函数初步实现完毕 - 待测试
|
||||
|
||||
@@ -49,6 +49,8 @@
|
||||
#include "blv_nor_dec_virtualcard.h"
|
||||
#include "blv_nor_dev_hvoutfun.h"
|
||||
#include "blv_nor_dev_lvinput.h"
|
||||
#include "blv_nor_dev_serviceinfo.h"
|
||||
#include "blv_rs485_dev_energymonitor.h"
|
||||
|
||||
#include "blv_rs485_dev_switchctrl.h"
|
||||
#include "blv_rs485_dev_tempctrl.h"
|
||||
|
||||
@@ -46,6 +46,8 @@ int main(void)
|
||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"MCU Start!! 2025-11-03-10:42\r\n");
|
||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"SystemClk:%d\r\n", SystemCoreClock);
|
||||
|
||||
BLV_DevAction_AllData_Init();
|
||||
|
||||
while (1)
|
||||
{
|
||||
SYS_LED_Task();
|
||||
@@ -58,7 +60,7 @@ int main(void)
|
||||
if(SysTick_1ms - test_tick >= 10000){
|
||||
test_tick = SysTick_1ms;
|
||||
|
||||
Dbg_Println(DBG_BIT_SYS_STATUS_bit,"RUN PYH:%x...\r\n",ETH_ReadPHYRegister(PHY_ADDRESS, PHY_BSR));
|
||||
//Dbg_Println(DBG_BIT_SYS_STATUS_bit,"RUN PYH:%x...\r\n",ETH_ReadPHYRegister(PHY_ADDRESS, PHY_BSR));
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user