653 lines
20 KiB
C
653 lines
20 KiB
C
|
|
|||
|
#ifndef __FR_WATCH_H__
|
|||
|
#define __FR_WATCH_H__
|
|||
|
|
|||
|
#include "lvgl.h"
|
|||
|
#define I16 signed short
|
|||
|
|
|||
|
//[x]
|
|||
|
#include "user_ipc_st.h"
|
|||
|
//#include "user_def.h"
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
M3_DRIVER_CALLING = 1,
|
|||
|
M3_DRIVER_CALLING_CANCE = 2,
|
|||
|
M3_DRIVER_CALLING_OK = 3,
|
|||
|
M3_DRIVER_CALLING_STATE = 4,
|
|||
|
|
|||
|
}phone_call_t;
|
|||
|
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
|
|||
|
M3_DRIVER_MESSAGE_INPUT = 7,
|
|||
|
M3_DRIVER_CTP_INPUT = 8,
|
|||
|
M3_DRIVER_KEY_INPUT = 9,
|
|||
|
M3_DRIVER_DAILY_DATA = 10,
|
|||
|
M3_DRIVER_MESSAGE_INFO = 11,
|
|||
|
M3_DRIVER_CAllLIST_INFO = 12,
|
|||
|
M3_MUSIC_CONTROL = 13,
|
|||
|
M3_DRIVER_OTA_STEP = 14,
|
|||
|
M3_DRIVER_UI_JUMP = 15,
|
|||
|
M3_DRIVER_UI_REMIND = 16,
|
|||
|
//new add
|
|||
|
M3_DRIVER_HISTORY_DATA = 17,
|
|||
|
M3_DRIVER_TEST_DATA = 18,
|
|||
|
#if ALIPAY_FUNC_ENABLE
|
|||
|
M3_DRIVER_UPAY_DATA= 19,
|
|||
|
#endif
|
|||
|
M3_DRIVER_SEND_DATA = 20,// 切换主表盘ID
|
|||
|
|
|||
|
}watch_ipc_msg_type_t;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//byte[0] 1开关心<E585B3><E5BF83>? byte[1]:0关闭心率 1开启心<E590AF><E5BF83>?
|
|||
|
//byte[0] 2开关血<E585B3><E8A180>? byte[1]:0关闭血<E997AD><E8A180>?1开启血<E590AF><E8A180>?
|
|||
|
//byte[0] 3开关血<E585B3><E8A180>? byte[1]:0关闭血<E997AD><E8A180>?1开启血<E590AF><E8A180>?
|
|||
|
//byte[0] 4马达震动 byte[1]:0关闭震动 1开启震<E590AF><E99C87>? byte[2]:震动次数
|
|||
|
//byte[0] 5查找手机 byte[1]:1查找手机
|
|||
|
//byte[0] 6音乐播放暂停,根据AVRCP的状<E79A84><E78AB6>?get_avrcp_work_state();0:停止 1:开<><E5BC80>? 2:暂停
|
|||
|
//byte[0] 7音乐暂停<E69A82><E5819C>?
|
|||
|
//byte[0] 8音乐停止
|
|||
|
//byte[0] 9上一<E4B88A><E4B880>?
|
|||
|
//byte[0] 10下一<E4B88B><E4B880>?
|
|||
|
//byte[0] 11音量++
|
|||
|
//byte[0] 12音量--
|
|||
|
//byte[0] 13拨号 byte[1......12]参数带拨号号<E58FB7><E58FB7>?长度+13714106071
|
|||
|
//byte[0] 14接听
|
|||
|
//byte[0] 15拒接
|
|||
|
//byte[0] 16重拨
|
|||
|
//byte[0] 17静音 目前功能无效续作优化
|
|||
|
//byte[0] 18关机
|
|||
|
//byte[0] 19复位
|
|||
|
//byte[0] 20重启
|
|||
|
//byte[0] 21开关抬腕亮<E88595><E4BAAE>? byte[1]:0关闭抬腕亮屏 1开启抬腕亮<E88595><E4BAAE>?
|
|||
|
//byte[0] 22设置亮屏时间 byte[1]:
|
|||
|
//byte[0] 23设置亮度调节 byte[1]:亮度等级
|
|||
|
//byte[0] 24语言设置 byte[1]:参看枚举类型定义
|
|||
|
//byte[0] 25闹钟开<E9929F><E5BC80>? byte[1]:
|
|||
|
//byte[0] 26: 秒表控制 byte[1]:1开<31><E5BC80>? 2暂停 0关闭
|
|||
|
//byte[0] 27: 运动模式控制 byte[1]:1开<31><E5BC80>?2暂停 0停止保存数据
|
|||
|
//byte[0] 28: 拍照
|
|||
|
//byte[0] 29: 开关背<E585B3><E8838C>?
|
|||
|
//byte[0] 30: 是否延迟闹钟10分再次触<E6ACA1><E8A7A6>?
|
|||
|
//byte[0] 31: 倒计<E58092><E8AEA1>? byte[1]:1开<31><E5BC80>? 2暂停 0关闭
|
|||
|
//byte[0] 32: 同步byte[1]:1心率 byte[2]心率<E5BF83><E78E87>? 同步byte[1]:2血压byte[2]低压byte[3]高压 同步byte[1]:3血氧byte[2]血氧<E8A180>?到APP
|
|||
|
//byte[0] 33: APP切换表盘
|
|||
|
//byte[0] 34: 语音助手
|
|||
|
//byte[0] 35: 主动开关音频蓝牙开<E78999><E5BC80>?,byte[1] 1:开启音频蓝<E9A291><E8939D>? 0:关闭音频蓝<E9A291><E8939D>?
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
DSP_EVT_NULL = 0,
|
|||
|
DSP_EVT_HEART, // 1 byte[0] 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:0<>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_BLOOD, // 2 byte[0] 2<><32><EFBFBD><EFBFBD>Ѫѹ byte[1]:0<>ر<EFBFBD>Ѫѹ 1<><31><EFBFBD><EFBFBD>Ѫѹ
|
|||
|
DSP_EVT_OXYGEN, // 3 byte[0] 3<><33><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA> byte[1]:0<>ر<EFBFBD>Ѫ<EFBFBD><D1AA> 1<><31><EFBFBD><EFBFBD>Ѫ<EFBFBD><D1AA>
|
|||
|
DSP_EVT_MOTOR, // 4 byte[0] 4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:0<>ر<EFBFBD><D8B1><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[2]:<3A><EFBFBD><F0B6AFB4><EFBFBD>
|
|||
|
DSP_EVT_FIND, // 5 byte[0] 5<><35><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD> byte[1]:1<><31><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>
|
|||
|
|
|||
|
#if 0
|
|||
|
DSP_EVT_MUSIC_PLAY, // 6 byte[0] 6<><36><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AVRCP<43><50>״̬ get_avrcp_work_state();0:ֹͣ 1:<3A><><EFBFBD><EFBFBD> 2:<3A><>ͣ
|
|||
|
DSP_EVT_MUSIC_PAUSE, // 7 byte[0] 7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>
|
|||
|
DSP_EVT_MUSIC_STOP, // 8 byte[0] 8<><38><EFBFBD><EFBFBD>ֹͣ
|
|||
|
DSP_EVT_MUSIC_FORWARD, // 9 byte[0] 9<><39>һ<EFBFBD><D2BB>
|
|||
|
DSP_EVT_MUSIC_BACKWARD, // 10 byte[0] 10<31><30>һ<EFBFBD><D2BB>
|
|||
|
DSP_EVT_MUSIC_VALUME_UP, // 11 byte[0] 11<31><31><EFBFBD><EFBFBD>++
|
|||
|
DSP_EVT_MUSIC_VALUME_DOWN,// 12 byte[0] 12<31><32><EFBFBD><EFBFBD>--
|
|||
|
|
|||
|
DSP_EVT_DIAL_NUM, //13 byte[0] 13<31><33><EFBFBD><EFBFBD> byte[1......12]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD> <20><><EFBFBD><EFBFBD>+13714106071
|
|||
|
DSP_EVT_CALL_ANSWER, //14 byte[0] 14<31><34><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_CALL_REJECT, //15 byte[0] 15<31>ܽ<EFBFBD>
|
|||
|
DSP_EVT_CALL_REDIAL, //16 byte[0] 16<31>ز<EFBFBD>
|
|||
|
DSP_EVT_CALL_MUTE, //17 byte[0] 17<31><37><EFBFBD><EFBFBD> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
|
|||
|
#endif
|
|||
|
|
|||
|
DSP_EVT_SYSTEM_SHUTDOWN, //18 byte[0] 18<31>ػ<EFBFBD>
|
|||
|
DSP_EVT_SYSTEM_RESET, //19 byte[0] 19<31><39>λ
|
|||
|
DSP_EVT_SYSTEM_REBOOT, //20 byte[0] 20<32><30><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_WIRST, //21 byte[0] 21<32><31><EFBFBD><EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:0<>ر<EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_LIGHT_TIME, //22 byte[0] 22<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> byte[1]:
|
|||
|
DSP_EVT_BRIGHT, //23 byte[0] 23<32><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD> byte[1]:<3A><><EFBFBD>ȵȼ<C8B5>
|
|||
|
DSP_EVT_SYSTEM_LANGUAGE, //24 byte[0] 24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> byte[1]:<3A>ο<EFBFBD>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
DSP_EVT_ALARM, //25 byte[0] 25<32><35><EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD> byte[1]:
|
|||
|
DSP_EVT_WATCHSTOP_TIME, //26 byte[0] 26: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? byte[1]:1<><31><EFBFBD><EFBFBD> 2<><32>ͣ 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? 0<>ر<EFBFBD>
|
|||
|
DSP_EVT_SPORTS, //27 byte[0] 27: <20>˶<EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD> byte[1]:1<><31>ʼ 2<><32>ͣ 0ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_CAMERA, //28 byte[0] 28: <20><><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_SWATCH_BRIGHT, //29 byte[0] 29: <20><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>
|
|||
|
DSP_EVT_ALARM_DELAY, //30 byte[0] 30: <20>Ƿ<EFBFBD><C7B7>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD>10<31><30><EFBFBD>ٴδ<D9B4><CEB4><EFBFBD>
|
|||
|
DSP_EVT_TIMER_TIME, //31 byte[0] 31: <20><><EFBFBD><EFBFBD>ʱ byte[1]:1<><31><EFBFBD><EFBFBD> 2<><32>ͣ 0<>ر<EFBFBD>
|
|||
|
DSP_EVT_SYNC_HERAT_BLOOD_OXYGEN,//32 byte[0] 32: ͬ<><CDAC>byte[1]:1<><31><EFBFBD><EFBFBD> byte[2]<5D><><EFBFBD><EFBFBD>ֵ ͬ<><CDAC>byte[1]:2Ѫѹbyte[2]<5D><>ѹbyte[3]<5D><>ѹ ͬ<><CDAC>byte[1]:3Ѫ<33><D1AA>byte[2]Ѫ<><D1AA>ֵ <20><>APP
|
|||
|
DSP_EVT_SELECT_WATCH_INDEX,//33 byte[0] 33: <20>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_SYSTEM_SIRI, //34 byte[0] 34: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DSP_EVT_BT_SWATCH, //35 byte[0] 35: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>byte[1] 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD> 0<><30><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
//enzon
|
|||
|
DSP_EVT_LOAD_PHONE_BOOK,
|
|||
|
DSP_EVT_BT_A2DP_CONTROL,
|
|||
|
DSP_EVT_MUSIC_CONTROL,
|
|||
|
DSP_EVT_CALL_CONTROL,
|
|||
|
DSP_EVT_BT_VALUME_UP,
|
|||
|
DSP_EVT_BT_VALUME_DOWN,
|
|||
|
DSP_EVT_READ_MSG_LIST,
|
|||
|
DSP_EVT_READ_PHONE_BOOK_LIST,
|
|||
|
DSP_EVT_READ_CALL_NAME,
|
|||
|
DSP_EVT_DISTURB_CONTROL,
|
|||
|
DSP_EVT_SET_PHONE_BOOK_ID_OFFSET,
|
|||
|
DSP_EVT_SET_BT_VALUME,
|
|||
|
DSP_EVT_MIC_MUTE,
|
|||
|
DSP_EVT_MIC_OPEN,
|
|||
|
DSP_EVT_CLEAR_LIGHT_TIME,
|
|||
|
DSP_EVT_GET_HISTORY_DATA,
|
|||
|
DSP_EVT_GET_CALL_STATE,
|
|||
|
DSP_EVT_SET_CARD_INDEX, //自定义卡<E4B989><E58DA1>?
|
|||
|
DSP_EVT_LOW_POWER_MODE,
|
|||
|
DSP_EVT_DSP_VERSION,
|
|||
|
DSP_EVT_GET_TEST_DATA,
|
|||
|
DSP_EVT_BREATHE,
|
|||
|
}_DSP_COMMADE_T;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//ancs
|
|||
|
enum ntf_msg_type_t
|
|||
|
{
|
|||
|
|
|||
|
CATEGORY_NULL = 0,
|
|||
|
CATEGORY_CALL, // 1
|
|||
|
CATEGORY_SMS, // 2
|
|||
|
CATEGORY_OTHER, // 3
|
|||
|
CATEGORY_Email, // 4
|
|||
|
CATEGORY_Facebook, // 5
|
|||
|
CATEGORY_Wechat, // 6
|
|||
|
CATEGORY_Line, // 7
|
|||
|
CATEGORY_Weibo, // 8
|
|||
|
CATEGORY_Linkedlnbo, // 9
|
|||
|
CATEGORY_QQ, // 10
|
|||
|
CATEGORY_Whatsapp, // 11
|
|||
|
CATEGORY_Viber, // 12
|
|||
|
CATEGORY_Instagram, // 13
|
|||
|
CATEGORY_KAKAOTALK, // 14
|
|||
|
CATEGORY_Wirst_Awake, // 15
|
|||
|
|
|||
|
CATEGORY_DINGDING,
|
|||
|
CATEGORY_TWITTER,
|
|||
|
CATEGORY_FACEBOOK,
|
|||
|
CATEGORY_TELEGRAM,
|
|||
|
CATEGORY_MESSENGER,
|
|||
|
|
|||
|
|
|||
|
CATEGORY_NOT_ENABLE, // do not support or turn on the switch
|
|||
|
|
|||
|
|
|||
|
};
|
|||
|
|
|||
|
#define MESSAGE_MAX_LENGTH 200
|
|||
|
#define MAX_MSG_CONTEXT_LEN MESSAGE_MAX_LENGTH - 17
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t msg_type;
|
|||
|
uint8_t data_len;
|
|||
|
uint8_t msg_time[15];
|
|||
|
//1 byte(title len) + n byte(title) + 1 byte (context leng)+ n byte(context)
|
|||
|
uint8_t msg_context[MAX_MSG_CONTEXT_LEN];
|
|||
|
|
|||
|
} info_msg_t;
|
|||
|
|
|||
|
|
|||
|
#define MAX_MSG_LIST 5
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t msg_tatol;
|
|||
|
uint8_t fifo_head;
|
|||
|
uint8_t fifo_tail;
|
|||
|
info_msg_t fifo[MAX_MSG_LIST];
|
|||
|
} ancs_msg_t;
|
|||
|
|
|||
|
|
|||
|
//ancs
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t msg_type;
|
|||
|
uint16_t title_len;
|
|||
|
uint8_t msg_title[128];
|
|||
|
uint16_t context_len;
|
|||
|
uint8_t msg_context[512];
|
|||
|
uint16_t time_len;
|
|||
|
uint8_t msg_time[32];
|
|||
|
}ancs_t;
|
|||
|
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t story_state;
|
|||
|
uint8_t number_len;
|
|||
|
uint8_t call_namber[32];
|
|||
|
uint8_t name_len;
|
|||
|
uint8_t call_name[128];
|
|||
|
uint8_t time_len;
|
|||
|
uint8_t msg_time[32];
|
|||
|
}call_info_t;
|
|||
|
|
|||
|
|
|||
|
#define CALL_NUMBER_MAX_LEN 96
|
|||
|
#define CALL_RECORD_LIST_MAX 10
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t call_state;
|
|||
|
uint8_t call_context[CALL_NUMBER_MAX_LEN - 1];
|
|||
|
|
|||
|
} card_record_t;
|
|||
|
|
|||
|
|
|||
|
#define MAX_MSG_LIST 5
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint8_t call_record_total;
|
|||
|
card_record_t fifo[CALL_RECORD_LIST_MAX];
|
|||
|
} call_record_list_t;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//tp define here!
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
CTP_PEN_DOWN,
|
|||
|
CTP_PEN_UP,
|
|||
|
CTP_PEN_MOVE,
|
|||
|
CTP_PEN_MOVE_DOWN,
|
|||
|
CTP_PEN_MOVE_UP,
|
|||
|
CTP_PEN_MOVE_LEFT,
|
|||
|
CTP_PEN_MOVE_RIGHT,
|
|||
|
CTP_PEN_LONG_PRESS,
|
|||
|
}ctp_status_t;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
|
|||
|
uint8_t status;
|
|||
|
uint8_t ctp_status;
|
|||
|
signed short pendown_pos_x;
|
|||
|
signed short pendown_pos_y;
|
|||
|
signed short cur_pos_x;
|
|||
|
signed short cur_pos_y;
|
|||
|
signed short dx;
|
|||
|
signed short dy;
|
|||
|
|
|||
|
}ctp_type_t;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
TP_MSG_INPUT,
|
|||
|
APP_MSG_INPUT,
|
|||
|
|
|||
|
}watch_msg_id_t;
|
|||
|
|
|||
|
|
|||
|
//massage
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
int msg_id;
|
|||
|
int param1;
|
|||
|
void *param2;
|
|||
|
}app_msg_t;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
//bool start_flag;
|
|||
|
uint8_t start_flag;
|
|||
|
uint32_t counter;
|
|||
|
uint32_t pen_timeout_counter;
|
|||
|
uint32_t delaycounter;
|
|||
|
|
|||
|
}ctp_timer_t;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//win coordinate
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
|
|||
|
uint8_t col;
|
|||
|
uint8_t rol;
|
|||
|
|
|||
|
}win_pos_t;
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint32_t EnterSleepTime;
|
|||
|
uint32_t ExitSleepTime;
|
|||
|
uint16_t SleepData[31];
|
|||
|
}sleep_history_stru;
|
|||
|
|
|||
|
|
|||
|
//----------------------------clock-ui---------------------------------
|
|||
|
typedef void (* p_main_clock)(lv_obj_t * obj);
|
|||
|
|
|||
|
|
|||
|
typedef lv_obj_t * (*p_lv_obj_create)(lv_obj_t * parent);
|
|||
|
typedef void (* p_lv_obj_clean)(lv_obj_t * obj);
|
|||
|
|
|||
|
//style
|
|||
|
typedef void (* p_lv_obj_set_style_bg_color)(lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_obj_set_style_pad_all)(lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_obj_set_style_radius)(lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_obj_set_style_border_width)(lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//obj prop
|
|||
|
typedef void (* p_lv_obj_set_size)(lv_obj_t * obj, lv_coord_t w, lv_coord_t h);
|
|||
|
typedef void (* p_lv_obj_align)(lv_obj_t * obj, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs);
|
|||
|
typedef void (* p_lv_obj_align_to)(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_coord_t x_ofs, lv_coord_t y_ofs);
|
|||
|
typedef void (* p_lv_obj_set_pos)(lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
|
|||
|
typedef void (* p_lv_obj_set_scrollbar_mode)(lv_obj_t * obj, lv_scrollbar_mode_t mode);
|
|||
|
|
|||
|
//img
|
|||
|
typedef lv_obj_t * (*p_lv_img_create)(lv_obj_t * parent);
|
|||
|
typedef void (* p_lv_img_set_src)(lv_obj_t * obj, const void * src);
|
|||
|
typedef void (* p_lv_img_set_pivot)(lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
|
|||
|
typedef void (* p_lv_img_set_angle)(lv_obj_t * obj, int16_t angle);
|
|||
|
|
|||
|
//timer
|
|||
|
typedef lv_timer_t * (* p_lv_timer_create)(lv_timer_cb_t timer_xcb, uint32_t period, void * user_data);
|
|||
|
typedef void (* p_lv_timer_del)(lv_timer_t * timer);
|
|||
|
|
|||
|
|
|||
|
//event
|
|||
|
typedef void (* p_lv_obj_add_event_cb)(lv_obj_t * obj, lv_event_cb_t event_cb, lv_event_code_t filter, void * user_data);
|
|||
|
typedef lv_res_t (* p_lv_event_send)(lv_obj_t * obj, lv_event_code_t event_code, void * param);
|
|||
|
typedef lv_event_code_t (* p_lv_event_get_code)(lv_event_t * e);
|
|||
|
typedef lv_obj_t * (* p_lv_event_get_target)(lv_event_t * e);
|
|||
|
typedef void * (* p_lv_event_get_param)(lv_event_t * e);
|
|||
|
typedef void * (* p_lv_event_get_user_data)(lv_event_t * e);
|
|||
|
|
|||
|
//parent and child
|
|||
|
typedef uint32_t (* p_lv_obj_get_child_id)(const lv_obj_t * obj);
|
|||
|
typedef lv_obj_t * (* p_lv_obj_get_parent)(const lv_obj_t * obj);
|
|||
|
typedef lv_obj_t * (* p_lv_obj_get_child)(const lv_obj_t * obj, int32_t id);
|
|||
|
|
|||
|
//label
|
|||
|
typedef lv_obj_t * (* p_lv_label_create)(lv_obj_t * parent);
|
|||
|
typedef void (* p_lv_label_set_text)(lv_obj_t * obj, const char * text);
|
|||
|
typedef void (* p_lv_obj_set_style_text_font)(lv_obj_t * obj, const lv_font_t * value, lv_style_selector_t selector);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
typedef void (* p_lv_mainUI_select_entry)(lv_obj_t * obj);
|
|||
|
|
|||
|
//line & arc
|
|||
|
typedef void (* p_lv_style_init)(lv_style_t * style);
|
|||
|
typedef void (* p_lv_style_set_line_width)(lv_style_t * style, lv_coord_t value);
|
|||
|
typedef void (* p_lv_style_set_line_color)(lv_style_t * style, lv_color_t value);
|
|||
|
typedef void (* p_lv_style_set_line_rounded)(lv_style_t * style, lv_coord_t value);
|
|||
|
typedef lv_obj_t * (* p_lv_line_create)(lv_obj_t * parent);
|
|||
|
typedef void (* p_lv_line_set_points)(lv_obj_t * obj, const lv_point_t points[], uint16_t point_num);
|
|||
|
typedef void (* p_lv_obj_add_style)(lv_obj_t * obj, lv_style_t * style, lv_style_selector_t selector);
|
|||
|
typedef lv_obj_t * (* p_lv_arc_create)(lv_obj_t * parent);
|
|||
|
typedef void (* p_lv_obj_set_style_arc_width)(struct _lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_obj_set_style_arc_color)(struct _lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_arc_set_end_angle)(lv_obj_t * obj, uint16_t end);
|
|||
|
typedef void (* p_lv_arc_set_bg_angles)(lv_obj_t * obj, uint16_t start, uint16_t end);
|
|||
|
|
|||
|
|
|||
|
typedef int16_t (* p_lv_trigo_sin)(int16_t angle);
|
|||
|
typedef int16_t (* p_lv_trigo_cos)(int16_t angle);
|
|||
|
|
|||
|
typedef void (* p_lv_label_set_text_fmt)(lv_obj_t * obj, const char * fmt, ...);
|
|||
|
|
|||
|
typedef bool (* p_lv_font_get_glyph_dsc_fmt_txt)(const lv_font_t * font, lv_font_glyph_dsc_t * dsc_out, uint32_t unicode_letter,uint32_t unicode_letter_next);
|
|||
|
|
|||
|
typedef const uint8_t * (* p_lv_font_get_bitmap_fmt_txt)(const lv_font_t * font, uint32_t unicode_letter);
|
|||
|
|
|||
|
typedef uint32_t (* p_lv_tick_get)(void);
|
|||
|
|
|||
|
typedef bool (* p_lv_obj_is_valid)(const lv_obj_t * obj);
|
|||
|
typedef uint8_t (* p_dsp_get_system_time_week)(void);
|
|||
|
|
|||
|
typedef void (* p_lv_obj_set_style_text_color)(struct _lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);
|
|||
|
|
|||
|
typedef void (* p_lv_obj_remove_style)(struct _lv_obj_t * obj, lv_style_t * style, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_arc_set_angles)(lv_obj_t * arc, uint16_t start, uint16_t end);
|
|||
|
typedef void (* p_lv_obj_clear_flag)(lv_obj_t * obj, lv_obj_flag_t f);
|
|||
|
typedef void (* p_lv_label_set_recolor)(lv_obj_t * obj, bool en);
|
|||
|
typedef void (* p_lv_obj_set_style_text_letter_space)(struct _lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_obj_set_style_text_line_space)(struct _lv_obj_t * obj, lv_coord_t value, lv_style_selector_t selector);
|
|||
|
typedef void (* p_lv_obj_set_width)(lv_obj_t * obj, lv_coord_t w);
|
|||
|
typedef void (* p_lv_obj_set_style_text_align)(struct _lv_obj_t * obj, lv_text_align_t value, lv_style_selector_t selector);
|
|||
|
typedef struct _lv_api_t
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
p_lv_obj_create f_lv_obj_create;
|
|||
|
p_lv_obj_clean f_lv_obj_clean;
|
|||
|
|
|||
|
//style
|
|||
|
p_lv_obj_set_style_bg_color f_lv_obj_set_style_bg_color;
|
|||
|
p_lv_obj_set_style_pad_all f_lv_obj_set_style_pad_all;
|
|||
|
p_lv_obj_set_style_radius f_lv_obj_set_style_radius;
|
|||
|
p_lv_obj_set_style_border_width f_lv_obj_set_style_border_width;
|
|||
|
|
|||
|
//obj prop
|
|||
|
p_lv_obj_align f_lv_obj_align;
|
|||
|
p_lv_obj_set_size f_lv_obj_set_size;
|
|||
|
p_lv_obj_align_to f_lv_obj_align_to;
|
|||
|
p_lv_obj_set_pos f_lv_obj_set_pos;
|
|||
|
p_lv_obj_set_scrollbar_mode f_lv_obj_set_scrollbar_mode;
|
|||
|
|
|||
|
//img
|
|||
|
p_lv_img_create f_lv_img_create;
|
|||
|
p_lv_img_set_src f_lv_img_set_src;
|
|||
|
p_lv_img_set_pivot f_lv_img_set_pivot;
|
|||
|
p_lv_img_set_angle f_lv_img_set_angle;
|
|||
|
|
|||
|
//timer
|
|||
|
p_lv_timer_create f_lv_timer_create;
|
|||
|
p_lv_timer_del f_lv_timer_del;
|
|||
|
|
|||
|
//event
|
|||
|
p_lv_event_send f_lv_event_send;
|
|||
|
p_lv_obj_add_event_cb f_lv_obj_add_event_cb;
|
|||
|
p_lv_event_get_code f_lv_event_get_code;
|
|||
|
p_lv_event_get_target f_lv_event_get_target;
|
|||
|
p_lv_event_get_param f_lv_event_get_param;
|
|||
|
p_lv_event_get_user_data f_lv_event_get_user_data;
|
|||
|
|
|||
|
//parent and child
|
|||
|
p_lv_obj_get_child_id f_lv_obj_get_child_id;
|
|||
|
p_lv_obj_get_parent f_lv_obj_get_parent;
|
|||
|
p_lv_obj_get_child f_lv_obj_get_child;
|
|||
|
|
|||
|
//label
|
|||
|
p_lv_label_create f_lv_label_create;
|
|||
|
p_lv_label_set_text f_lv_label_set_text;
|
|||
|
p_lv_obj_set_style_text_font f_lv_obj_set_style_text_font;
|
|||
|
|
|||
|
|
|||
|
//other
|
|||
|
p_lv_mainUI_select_entry f_lv_mainUI_select_entry;
|
|||
|
|
|||
|
lv_obj_t ** prj_parent;
|
|||
|
|
|||
|
ipc_daily_data_t *p_sync_cm3;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
p_lv_style_init f_lv_style_init;
|
|||
|
p_lv_style_set_line_width f_lv_style_set_line_width;
|
|||
|
p_lv_style_set_line_color f_lv_style_set_line_color;
|
|||
|
p_lv_style_set_line_rounded f_lv_style_set_line_rounded;
|
|||
|
p_lv_line_create f_lv_line_create;
|
|||
|
p_lv_line_set_points f_lv_line_set_points;
|
|||
|
p_lv_obj_add_style f_lv_obj_add_style;
|
|||
|
p_lv_arc_create f_lv_arc_create;
|
|||
|
p_lv_obj_set_style_arc_width f_lv_obj_set_style_arc_width;
|
|||
|
p_lv_obj_set_style_arc_color f_lv_obj_set_style_arc_color;
|
|||
|
p_lv_arc_set_end_angle f_lv_arc_set_end_angle;
|
|||
|
p_lv_arc_set_bg_angles f_lv_arc_set_bg_angles;
|
|||
|
|
|||
|
|
|||
|
p_lv_trigo_sin f_lv_trigo_sin;
|
|||
|
p_lv_trigo_cos f_lv_trigo_cos;
|
|||
|
|
|||
|
|
|||
|
p_lv_label_set_text_fmt f_lv_label_set_text_fmt;
|
|||
|
|
|||
|
lv_font_t * font_min;
|
|||
|
lv_font_t * font_mid;
|
|||
|
lv_font_t * font_max;
|
|||
|
|
|||
|
p_lv_font_get_glyph_dsc_fmt_txt f_lv_font_get_glyph_dsc_fmt_txt;
|
|||
|
p_lv_font_get_bitmap_fmt_txt f_lv_font_get_bitmap_fmt_txt;
|
|||
|
|
|||
|
p_lv_tick_get f_lv_tick_get;
|
|||
|
p_lv_obj_is_valid f_lv_obj_is_valid;
|
|||
|
|
|||
|
p_dsp_get_system_time_week f_dsp_get_system_time_week;
|
|||
|
|
|||
|
p_lv_obj_set_style_text_color f_lv_obj_set_style_text_color;
|
|||
|
p_lv_obj_remove_style f_lv_obj_remove_style;
|
|||
|
p_lv_arc_set_angles f_lv_arc_set_angles;
|
|||
|
p_lv_obj_clear_flag f_lv_obj_clear_flag;
|
|||
|
p_lv_label_set_recolor f_lv_label_set_recolor;
|
|||
|
p_lv_obj_set_style_text_letter_space f_lv_obj_set_style_text_letter_space;
|
|||
|
p_lv_obj_set_style_text_line_space f_lv_obj_set_style_text_line_space;
|
|||
|
p_lv_obj_set_width f_lv_obj_set_width;
|
|||
|
p_lv_obj_set_style_text_align f_lv_obj_set_style_text_align;
|
|||
|
}lv_api_t;
|
|||
|
|
|||
|
//----------------------------------------------------------------
|
|||
|
|
|||
|
|
|||
|
typedef void (* pri_ui_entry)(lv_obj_t *obj);
|
|||
|
typedef void (* ui_entry)(lv_obj_t *obj);
|
|||
|
|
|||
|
|
|||
|
//#define PRI_UI_GROUP_NUM 20
|
|||
|
|
|||
|
typedef struct _lv_ui_group_t
|
|||
|
{
|
|||
|
lv_coord_t ui_num;
|
|||
|
ui_entry * lay_ui;
|
|||
|
}lv_ui_group_t;
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint16_t mode_id : 4;
|
|||
|
uint16_t page_id : 12;
|
|||
|
uint16_t page_attr;
|
|||
|
int16_t top_cur_x;
|
|||
|
int16_t top_cur_y;
|
|||
|
}ui_scene_t;
|
|||
|
#define PG_STACK_LEN 10
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
ui_scene_t ui[PG_STACK_LEN];
|
|||
|
int s_top;
|
|||
|
}pg_stack_t;
|
|||
|
void init_pg_stack(pg_stack_t *s);
|
|||
|
bool pg_stack_is_empty(pg_stack_t *s);
|
|||
|
bool pg_stack_push(pg_stack_t *s,ui_scene_t e);
|
|||
|
bool pg_stack_pop(pg_stack_t *s,ui_scene_t *e);
|
|||
|
bool pg_stack_top(pg_stack_t *s,ui_scene_t *e);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
extern lv_api_t ui_api;
|
|||
|
extern p_main_clock * entry_main;
|
|||
|
extern p_main_clock * entry_main1;
|
|||
|
extern p_main_clock * entry_main2;
|
|||
|
extern p_main_clock * entry_main3;
|
|||
|
extern p_main_clock * entry_main4;
|
|||
|
|
|||
|
|
|||
|
extern const lv_font_t arialuni_20;
|
|||
|
extern lv_font_t bin_font;
|
|||
|
extern void **font_addr;
|
|||
|
extern void lv_init_bin_font(lv_font_t * font,const void * dsc,const lv_font_t * scr);
|
|||
|
extern lv_point_t sys_scroll_sum;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//varable
|
|||
|
extern ctp_type_t tp;
|
|||
|
extern uint8_t key_code;
|
|||
|
extern ipc_daily_data_t sync_cm3_data;
|
|||
|
//extern ipc_daily_data_t volatile sync_cm3_data;
|
|||
|
extern sleep_history_stru sleep_history_data;
|
|||
|
extern uint8_t sportheartrate_historydata[72];
|
|||
|
extern uint8_t heartrate_historydata[];
|
|||
|
|
|||
|
extern lv_obj_t * prj_parent_cont;
|
|||
|
extern lv_obj_t * prj_prev_cont;
|
|||
|
extern lv_indev_t * indev_keypad;
|
|||
|
extern pri_ui_entry pri_ui_group[];
|
|||
|
extern uint8_t dsp_ipc_cmd;
|
|||
|
extern lv_group_t *prj_group;
|
|||
|
|
|||
|
extern uint8_t lv_transform_battery(uint16_t battery_value);
|
|||
|
|
|||
|
//system & timer & driver
|
|||
|
extern void lvgl_main_task_timer_callback(void *arg);
|
|||
|
|
|||
|
|
|||
|
//ui
|
|||
|
extern void lv_guimain(lv_obj_t * obj);
|
|||
|
extern void ui_main_float(lv_obj_t * parent);
|
|||
|
extern void layer_main_cont(lv_obj_t * parent, ui_entry f_parent, ui_entry f_cont, ui_entry f_cont1);
|
|||
|
extern void layer_left_cont(lv_obj_t * parent, ui_entry f_cont, ui_entry f_cont1);
|
|||
|
extern void return_function(lv_obj_t * parent);
|
|||
|
extern void style_function(lv_obj_t * parent);
|
|||
|
|
|||
|
|
|||
|
extern void lv_app_starsky_btn(lv_obj_t * parent);
|
|||
|
extern void lv_app_mainmenu_up(lv_obj_t * parent);
|
|||
|
extern void lv_app_system_setting(lv_obj_t * parent);
|
|||
|
extern void lv_app_backlight_setting(lv_obj_t * parent);
|
|||
|
extern void lv_app_clock_ui_select(lv_obj_t * obj);
|
|||
|
extern void lv_app_lock(lv_obj_t * parent);
|
|||
|
extern void lv_app_powerdown(lv_obj_t * parent);
|
|||
|
extern void lv_app_lighting(lv_obj_t* parent);
|
|||
|
extern void lv_app_ota_ui(lv_obj_t* parent);
|
|||
|
extern void lv_app_phone_call(lv_obj_t * obj);
|
|||
|
extern void lv_app_calendar(lv_obj_t * obj);
|
|||
|
extern void lv_app_msg_win(lv_obj_t * obj);
|
|||
|
extern void lv_sport_detail_disp(lv_obj_t *parent);
|
|||
|
extern void lv_app_music_menu(lv_obj_t *parent);
|
|||
|
|
|||
|
|
|||
|
extern uint32_t CalcWeekday(stTime_type time);
|
|||
|
extern void topbar_status_bt_baterrry_time(lv_obj_t * bar_bat,lv_obj_t * bar_time);
|
|||
|
|
|||
|
extern void dsp_post_operate_to_m3(uint8_t op_cmd,uint8_t *buffer,uint16_t len);
|
|||
|
|
|||
|
extern ancs_msg_t msglist;
|
|||
|
extern call_record_list_t record_list;
|
|||
|
extern uint8_t call_context[];
|
|||
|
extern uint8_t call_list[];
|
|||
|
extern uint8_t book_list[10][200];
|
|||
|
|
|||
|
#endif // __MAIN_H__
|
|||
|
|