mppt/App/inc/inflash.h

70 lines
2.3 KiB
C
Raw Normal View History

2024-07-11 06:58:55 +00:00
/*
* inflash.h
*
* Created on: 2024<EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>24<EFBFBD><EFBFBD>
* Author: psx
*/
#ifndef APP_INC_INFLASH_H_
#define APP_INC_INFLASH_H_
#include "debug.h"
#pragma pack(push,1)
typedef struct _uint8_config_info{
uint8_t start_Flag[2]; /* <20><>ʼ<EFBFBD><CABC>־ */
uint8_t address[7]; /* <20><>ַ */
uint8_t end_Flag; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
uint8_t Access_Node_Type[2]; /* <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> */
uint8_t Communication_Methods[2]; /* ͨ<>ŷ<EFBFBD>ʽ */
uint8_t bat485_Baud[4]; /* <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>,Ϊ0<CEAA><30><EFBFBD><EFBFBD>bms<6D><73>֧<EFBFBD><D6A7>ͨ<EFBFBD><CDA8> */
uint8_t gw485_Baud[4]; /* <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> */
uint8_t ConstantCurrentV[2]; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100),С<><D0A1>ConstantVoltageV * 100<30><30>ѹ<EFBFBD><D1B9><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
uint8_t ConstantVoltageV[2]; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100)<29>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FloatI * 100<30><30><EFBFBD>к<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> */
uint8_t FloatI[2]; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100)<29>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FloatI * 100<30><30><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
uint8_t startSolarOpenCircuitV[2]; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100)<29><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> */
}uint8_config_info;
2024-07-11 06:58:55 +00:00
typedef struct _config_info{
uint8_t start_Flag[2]; /* <20><>ʼ<EFBFBD><CABC>־ */
uint8_t address[7]; /* <20><>ַ */
uint8_t end_Flag; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
uint16_t Access_Node_Type; /* <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> */
uint16_t Communication_Methods; /* ͨ<>ŷ<EFBFBD>ʽ */
uint32_t bat485_Baud; /* <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> */
uint32_t gw485_Baud; /* <20><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> */
uint16_t ConstantCurrentV; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100),С<><D0A1>ConstantVoltageV / 100<30><30>ѹ<EFBFBD><D1B9><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
uint16_t ConstantVoltageV; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100)<29>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FloatI / 100<30><30><EFBFBD>к<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> */
uint16_t FloatI; /* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100)<29>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FloatI / 100<30><30><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
uint16_t startSolarOpenCircuitV;/* <20><><EFBFBD>ڸ<EFBFBD>(<28><>ѹ / 100)<29><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> */
2024-07-11 06:58:55 +00:00
}config_info;
#define CONFIG_INFO_SIZE (sizeof(config_info))
#pragma pack(pop)
/* <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD> */
typedef enum
{
POWERBOX = 1, /* <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD> */
MICROMETEOROLOGY = 2, /* ΢<><CEA2><EFBFBD><EFBFBD> */
}SL_ACCESSNODETYPE;
/* ͨ<>ŷ<EFBFBD>ʽ */
typedef enum
{
RS485 = 1,
RJ45 = 2,
}SL_COMMUNICATIONMETHODS;
extern config_info g_slConfigInfo;
#define FLASH_SAVE_ADDR_BEGIN (0x00)
#define FLASH_SAVE_ADDR_END (0x00 + CONFIG_INFO_SIZE)
void save_config_info(config_info save_config_info);
uint8_t read_config_info(void);
#endif /* APP_INC_INFLASH_H_ */