You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

60 lines
1.2 KiB

#pragma once
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <functional>
#include "uicontroler\tjc\tjc_constant.hpp"
namespace iflytop {
using namespace std;
typedef enum {
kAE_RunModeChangeEvent, // 运行模式改变
kAppEvent_StateDisplayInfo,
kAppEvent_AcidChCfgChangeEvent,
// UI_EVENT
KAE_UIEvent,
kAE_LoginEvent,
kAE_unLoginEvent,
kAE_AcidStatChangeEvent, // 统计数据变化事件
kAE_RemoterConnectedEvent, // 遥控器连接成功
kAE_RemoterDisConnectedEvent, // 遥控器断开连接
} AppEventType_t;
/**
*
* @brief
*
*
* @注意
* 下面这个结构不易定义过大,否则容易造成栈溢出
*/
typedef struct {
AppEventType_t type;
union event {
uint32_t placeholder;
char bleName[20];
char stateDisplayInfo[30];
tjc::UIEvent uiEvent;
} d;
} AppEvent_t;
static inline AppEvent_t createAppEvent(AppEventType_t type) {
AppEvent_t event;
event.type = type;
return event;
}
static inline AppEvent_t createStateDisplayInfoEvent(const char* info) {
AppEvent_t event;
event.type = kAppEvent_StateDisplayInfo;
strncpy(event.d.stateDisplayInfo, info, sizeof(event.d.stateDisplayInfo));
return event;
}
} // namespace iflytop