/*
 * @Author       : ChenJie
 * @Date         : 2022-01-23 13:45:09
 * @Version      : V3.0
 * @LastEditors  : ChenJie
 * @LastEditTime : 2022-01-24 10:56:46
 * @Description  : file content
 * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AT_CMD\AppGlobalVar.c
 */
/*
 * AppGlobalVar.c
 *
 *  Created on: 2022年1月19日
 *      Author: QiXiang_CHENJIE
 */

#include "AppGlobalVar.h"
//*全局变量*//
uint32 BleVersion = 0x01010401;       /* BLE 软件版本*/
uint8 BleMacAddr[6] = {0};
uint8 BleTargetMacAddr[6] = {0xBE, 0x84, 0xCC, 0x29, 0x3B, 0xCB};	/* 目标蓝牙地址 */
/* 管理蓝牙设备的全局变量 */
uint8 BleConnectControl = 0;    /* 蓝牙连接管理 0-无操作 1-连接蓝牙 2-断开蓝牙 （车端蓝牙暂时不提供主动连接功能）*/
uint8 BlePwrControl = 0; 	   	/* 蓝牙开关机  0-无操作  1-关闭蓝牙 2-开启蓝牙*/

/* 管理WiFi设备的全局变量 */
uint8 WiFiConnectControl;     	/* WiFi连接管理 0-无操作 1-连接WiFi 2-断开WiFi */
uint8 WiFiPwrControl;         	/* 0-无操作 1-关闭WiFI 2-开启WiFI */

/* 心跳丢失次数 */
uint8 heartTickLost_W = 0;   	/* wifi 心跳丢失次数计数 */
uint8 heartTickLost_B = 0;  	/* BLE 心跳丢失次数计数 */

/* EBC状态 */
uint8 EBC_State = 0;		  	/* EBC当前状态 0-行车 1-通信 2-换电 */
uint8 EBC_ExchangeMode = 0;   	/* EBC换电模式状态 0-无线蓝牙 1-有线连接 默认无线连接 */
uint8 EBC_LockMode = 0;       	/* EBC解锁与锁紧模式  0-单步模式 1-自动模式 默认为单步模式*/
uint8 EBC_ExchangeKind = 0;   	/* 换电连接器种类 0-4连接器 1-单连接器 */
uint8 EBC_AExchangeCheck = 0; 	/* 允许换电判断 0-不允许 1-允许 */

/* 传感器状态 */
uint8 UnlockCheck = 0;        	/* 解锁完成判断 0-完全未解锁 1-完全解锁 2-未完全解 */
uint8 LockCheck = 0;          	/* 锁紧完成判断 0-完全未锁紧 1-完全锁紧 2-未完全锁紧*/
uint8 BatPlace = 0;			  	/* 电池底座到位判断  0-完全未到位 1-完全到位 2-未完全到位 */
uint8 UnlockSensorSignal = 0; 	/* 解锁传感器信号  传感器0-3的状态 每bit：1-触发，0-不触发 */
uint8 LockSensorSignal = 0;   	/* 锁紧传感器信号 传感器0-3的状态 每bit：1-触发，0-不触发 */
uint8 BaseSensorSignal = 0;   	/* 底座落座传感器 bit0-bit1：传感器0-1的状态 每bit：1-触发，0-无触发 */
uint8 InterlockSignal = 0;    	/* 互锁信号  bit0：连接器互锁，bit1：整车互锁 */
uint8 SolValActuSt    = 0;      /* 电磁阀驱动状态 0：驱动关闭    1：驱动打开 */

uint8 AirPrValue = 0;         	/* 压力传感器气压值 单位Mpa，精度0.01Mpa*/
uint8 TheManFluid = 0;        	/* 热管理液位状态 1-液位正常 0-液位过低 */

/* 车辆信息 */
uint8 WholeVehComState = 0;   	/* 整车通信状态 0-通信中断 1-通信正常 */
uint8 KeySignal = 0;          	/* 钥匙信号 1-触发（钥匙上电）0-无触发（钥匙下电）*/
uint8 VehicleState = 0;       	/* 车辆状态 0001-车辆启动状态  0010-熄火 0011-  其他状态1111-无效 */
uint8 BrakeSignal = 0; 		  	/* 刹车信号 bit0：手刹，bit1：脚刹，0-无效，1-有效 */
uint8 GearSignal = 0;         	/* 挡位信号 FF-倒挡（R）0-空挡（N）X-前进档（DX）X取1-12 */
uint8 TurnSignal = 0;         	/* 方向盘转动 bit0-左侧转向灯 bit1-右侧转向灯 每bit 0-OFF，1-ON*/
uint8 FrontAxleValue = 0;	  	/* 前桥气压值 */
uint8 RearAxleValue = 0;	  	/* 后桥气压值 */
uint8 VehicleVin[17] = {0}; 	/* 车辆VIN码 17长度 */
/* 电池信息 */
uint8 BatComState = 0; 		  	/* 电池通信状态 0-通信中断 1-通信正常 */
uint8 BatBMS_State = 0;		  	/* 电池BMS状态 0-高压开启 1-预充 2-高压关断 3-高压上电故障 */
uint8 MContactorsState= 0;	  	/* 主接触器状态 0-保留 1-断开 2-关闭 3-异常 */
uint8 SOC = 0; 				  	/* 电池SOC 0.10% */
uint8 BatValtage = 0; 		  	/* 电池电压 0.1V */
uint8 SOH = 0;				  	/* 电池SOH 0.40% */
uint8 BatSN[26] = {0};		  	/* 电池SN码 */
uint16 BatteryCurrent = 0;      /* 电池电流 */
uint16 BatRateRnergy  = 0;      /* 电池额定能量 */
/* 故障数据 */
uint8 ErrorLevel = 0; 		  	/* 故障等级 */
uint8 ErrorCode = 0;		 	/* 故障码 */
/* 累计信息 */
uint32 AccruedChargeAh = 0;   	/* 累计充入Ah数  Ah 0.1 */
uint32 AccruedChargeKwh = 0;  	/* 累计充入kwh数 kwh 0.1 */
uint32 AccruedDischargeAh = 0;	/* 累计放出Ah数 Ah 0.1 */
uint32 AccruedDischargeKwh= 0;	/* 累计放出kwh数 kwh 0.1*/
uint16 SingleChargeAh = 0;    	/* 单次充电Ah数 Ah 0.1 */
uint16 SingleChargeKwh = 0;   	/* 单次充电kwh数 kwh 0.1 */
uint32 AccruedMileage = 0; 	  	/* 累计行驶里程 km 0.1 */
uint32 SS_AccruedChargeAh = 0;	/* 累计换电站充入Ah数 Ah 0.1 */
uint32 SS_AccruedChargeKwh = 0;	/* 累计换电站充入kwh数 kwh 0.1 */
uint32 IG_AccruedChargeAh = 0; 	/* 累计插枪充入Ah数 Ah 0.1 */
uint32 IG_AccruedChargeKwh = 0; /* 累计插枪充入kwh数 kwh 0.1 */
uint32 AFE_AccruedChargeAh = 0; /* 累计动能回馈Ah数 */
uint32 AFE_AccruedChargeKwh = 0;/* 累计动能回馈kwh数 */
uint16 ExchangeNum = 0; 		/* 换电次数 */
uint16 ExchangeNumSuc = 0; 		/* 换电成功次数 */

/* BLE To EBC */

/* 通讯模块反馈状态 */
uint8 BLEConFed = 0; 		   	 /* 0-无操作 1-蓝牙已连接 2-蓝牙已断开 */
uint8 BLEPWRFed = 0;			 /* 0-无操作 1-蓝牙已关机 2-蓝牙已开机 */
uint8 WiFiConFed = 0;			 /* 0-无操作 1-WIFI已连接 2-WIFI已断开 */
uint8 WiFiPWRFed = 0;			 /* 0-无操作 1-WIFI已关机 2-WIFI已开机 */
uint8 EffectiveDataFed = 0;       /* 0-无数据应答 1-有数据应答 */

uint8 EmeStopSta = 0; 			 /* 0-无操作，1-进行紧急停止 */
uint8 LockSta = 0; 				 /* 0-无操作，1-控制锁机构锁紧（和解锁互斥，以锁紧为准） */
uint8 UnlockSta = 0; 			 /* 0-无操作，1-控制锁机构解锁 */
uint8 AutoLockSta = 0; 			 /* 0-无操作，1-锁机构自动锁紧 */
uint8 AutoUnlockSta = 0; 		 /* 0-无操作，1-锁机构自动解锁 */
uint8 StateSwitch = 0; 			 /* 0-无操作，1-切换为换电状态，2-切换为行车状态 */


uint8 BleStateFlg = 0;    	/* 蓝牙当前状态，0-未连接，1-已经连接 2-电源关机   -- 默认0与1状态下电源开机*/
uint8 tcp_server_process_status = 2; /* WiFi当前状态 0-未连接，1-已经连接 2-电源关机   -- 默认0与1状态下电源开机 */

uint8 BleCurrentRole = 0;
uint8 BleSetRole = 0;          // 0-从机（默认），1-主机
uint8 BleSetRoleEnable = 0;    //默认角色不设置
uint8 BleConnectEnable = 0;    //主机蓝牙连接使能,0-未使能，1-使能
//uint8 BleConnectFlg = 0;       //主机蓝牙连接状态，0-未连接，1-连接
uint8 BleDisconnectEnable = 0; //主机蓝牙断开使能,0-未使能，1-使能
uint8 BleDisconnectFlg = 0;    //主机蓝牙断开连接状态，0-未连接，1-连接
uint8 BlePwrControlEnable = 0; //蓝牙开关机使能，默认不使能，自动开机
uint8 BlePwrControlFlg = 0;    //蓝牙开关机控制，1-关机，0-开机，2-重启
uint8 BlePwrState = 0;         //蓝牙开关机状态

uint8 AT_MsgFlag = false; //是否有数据传输需求
QueueHandle_t McuDataSendHandle;
QueueHandle_t McuDataRecvHandle;
SemaphoreHandle_t ConnSemaphore;

SemaphoreHandle_t ConnSemaphore_wifi;
QueueHandle_t McuDataSend_wifi;
QueueHandle_t McuDataRecv_wifi;
uint8 wifiConnFlg = 0;//WIFI 连接状态
uint8 wifiAskFlg = false; //Mcu是否有数据传输需求
/*Can*/
uint8 CanIf_u8TxConfirmCnt = 0U;
boolean CanIf_bTxFlag = false;
uint8 CanIf_u8RxIndicationCnt = 0U;
boolean CanIf_bRxFlag = false;
QueueHandle_t CanRecvQueueHandle;
QueueHandle_t Uart2ToCanDataHandle;
QueueHandle_t CanToUart2DataHandle;

uint8  AT_WAT_Flag = 0;
uint8  AT_WIFI_INFO_FLAG = 0; 	/* WiFi 信息改变 不同模式连接*/
uint8  AT_IPINFO_SET_Flag = 0;
uint8  AT_WPROTCLOSE_FLAG = 0;
uint8  AT_WPROTSET_FLAG = 0;
uint8  W_IP_FLAG = 0;
uint8  W_TcpDisconnect = 0;


uint8 lock_sta = 2;   /* 锁止状态 1 解锁  2 上锁 */
