/***************************************************************************** * @copyright 2024-202, . POWER SUPPLY CO., LTD. * @file logic_peakvalley.h * @brief xxxx * @author Gary * @date 2024/09/20 * @remark 初修订 *****************************************************************************/ #ifndef __LOGIC_PEAKVALLEY_H__ #define __LOGIC_PEAKVALLEY_H__ #define MAX_DATA_SEGMENTS 0x0C // 一年12个月最多分 12个时间段 #define MAX_TIME_SEGMENTS 0x60 // 一天24小时最多分 96个时间段 #include "kit_data.h" // // 时段类型 // typedef enum // { // kPeakvalley_Start = 0, // 开始值 // kPeakvalley_Valley, // 谷 // kPeakvalley_Peak, // 峰 // kPeakvalley_Flat, // 平 // kPeakvalley_End // 结束值 // } peak_valley_e; // 所有时间表结构体 用于查询 typedef struct { pv_date_config_t* peakItem; // 时区表 int zoneTabLen; // 时区表实际表长 } peakvalley_zone_tab_t; // 削峰填谷传参结构体 typedef struct { int runPeriod; // 运行周期 ms float_t power; // 最终计算的目标功率 } peakvalley_params_t; /***************************************************************************** * @brief 获取保护参数 * @return 0 成功 -1 失败 *****************************************************************************/ int logic_getProtectParam(); /***************************************************************************** * @brief 更新时区时段表 * @return 0 更新成功 -1 失败 *****************************************************************************/ int logic_peakValleyUpdate(); #endif