#ifndef __hal_ble_common__
#define __hal_ble_common__
#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include "sdk_common.h"
#include "SEGGER_RTT.h"
#include "usr_config.h"

#ifdef __cplusplus  
extern "C" {  
#endif  

	
#ifdef __cplusplus
} 
#endif

/*************** 发送命令 ********************/
typedef enum {
	BLE_HEART = 0,
	BLE_MOTION,			       //动作
	BLE_TRACK = 0x04,		   //轨迹
	BLE_CONNET_LED = 0x10, //连接灯通知
	BLE_CONFIG,			       //配对
	BLE_UPDATE = 0xA1,		 //数据更新
	BLE_GAMEMODE,			     //游戏模式
	BLE_CONNET_R,			     //右鞋连接通知
	BLE_SHOCK,				     //震动
	BLE_REALTIMESTEP,		   //实时步数
	BLE_DFU,				       //空中升级
	BLE_CHARGE,		         //充电通知
	BLE_CHAR_VOL,          //共享充电电量和充电状态
	BLE_SET_ORGAN,         //激光的开关
	BLE_PAIR_INFO,	       //配对信息
	BLE_SWITCH_IMU,        //切换IMU
	BLE_BLINK_LED,         //LED控制 
	BLE_ERR,				       //错误信息
	BLE_RESTSETTING,			 //恢复出厂设置
	BLE_DISPLAY_PROCESS_TIME,//显示线程时间
	BLE_AUTHEN,            //鞋子鉴别
//	BLE_NUM_OF_T, //命令连续用此值
}BLE_CMD_n;	

/*************** 发送子命令 ********************/
enum { //BLE_UPDATE
	BLE_UPDATE_BASEINFO = 0,	//设备基本信息
	BLE_UPDATE_DATA ,			    //设备数据
	BLE_UPDATE_STEPNUM ,		  //回复存储步数
	BLE_UPDATE_STEPNUM_CLERA,	//删除存储步数
};

enum { //BLE_CHARGE
	BLE_CHARGE_NONE = 0,
	BLE_CHARGE_PULLOUT,
	BLE_CHARGE_INSERT,
	BLE_CHARGE_DONE,
};

//右鞋连接状态
enum { //BLE_RIGHT_STATE
	BLE_RIGHT_DISCONNTED = 0,	//断开 
	BLE_RIGHT_CONNTED,		    //连接
	BLE_RIGHT_NOCONFIG        //没有配置
};

enum { //BLE_REALTIMESTEP
	BLE_REALTIMESTEP_EXIT = 0, //实时计步退出
	BLE_REALTIMESTEP_ENTER,    //实时计步进入
};


#define BLE_NUM_OF 17  //注意：：：此值根据命令的数量改变

#endif

