48 lines
1.3 KiB
C
48 lines
1.3 KiB
C
|
|
|
||
|
|
#ifndef __DC_PILE_H
|
||
|
|
#define __DC_PILE_H
|
||
|
|
|
||
|
|
/* includes ----------------------------------------------------------------------------------------------*/
|
||
|
|
#include "global.h"
|
||
|
|
|
||
|
|
#define MAX_CHARGER_COUNT 6 // 充电桩数量
|
||
|
|
#define MAX_GUN_PER_CHARGER 2 // 每个充电桩最多枪数
|
||
|
|
|
||
|
|
/* 充电枪结构体*/
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint8_t gun_index; // 枪索引
|
||
|
|
bool is_changing; // 是否正在充电
|
||
|
|
bool is_plugged; // 是否已插入枪
|
||
|
|
bool is_gun_returned; // 是否已返回枪
|
||
|
|
uint8_t status; // 状态
|
||
|
|
PACK_DATA_0X13 real_time_data; // 实时数据
|
||
|
|
} ChargerGun;
|
||
|
|
|
||
|
|
/* 单个充电桩结构体*/
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
PACK_DATA_0X01 login_info;
|
||
|
|
bool is_online; //云快充是否连接
|
||
|
|
bool is_udp_online; //是否本地在线
|
||
|
|
bool get_model;
|
||
|
|
uint16_t last_heartbeat_time; // 最后一次心跳时间
|
||
|
|
|
||
|
|
ChargerGun guns[MAX_GUN_PER_CHARGER]; // 充电枪数组
|
||
|
|
|
||
|
|
} ChargerPile;
|
||
|
|
|
||
|
|
/*全局充电桩管理结构体*/
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint8_t charger_count; // 桩索引
|
||
|
|
ChargerPile charger_piles[MAX_CHARGER_COUNT]; // 充电桩数组
|
||
|
|
FEE_MODEL fee_model_global ; //全局计费模型
|
||
|
|
} ChargerManager;
|
||
|
|
|
||
|
|
extern ChargerManager g_charger_manager;
|
||
|
|
|
||
|
|
void init_chargers(void); //初始化全局充电桩
|
||
|
|
|
||
|
|
#endif /* __DC_PILE_H */
|