feat:TFTP升级 - 配置文件OK

1、TFTP升级 - 配置文件初步测试没问题

​ 2、配置文件内容解析移植完毕,调试中

​ 3、TFTP升级 - 是否一个套接字搞定,不需要使用两个套接字,待完成
This commit is contained in:
caocong
2025-12-25 20:25:57 +08:00
parent cc8783e9f8
commit 63ebdb7baa
19 changed files with 1329 additions and 73 deletions

View File

@@ -0,0 +1,10 @@
/*
* blv_re485_dev_energymonitor.c
*
* Created on: Dec 20, 2025
* Author: cc
*/

View 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_ */

View 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_ */