麦步社区-论坛
标题:
求定时器代码样本
[打印本页]
作者:
Zola
时间:
2015-11-11 11:13
标题:
求定时器代码样本
想给表盘加手势识别,每200毫秒取样,判断Z轴大于2000小于2100就是平放,此时若大于2200就判断为翻手腕。
但我不知道app_service_timer_subscribe和app_window_timer_subscribe有什么区别,
uint8_t app_service_timer_subscribe(uint32_t millis, AppServiceTimerCallback timer_callback , void* context)
void check_z_status(){
}
我使用app_service_timer_subscribe(200,check_z_status);会说我参数太少;
app_window_timer_subscribe
int8_t app_window_timer_subscribe(Window *window, uint32_t millis, AppServiceTimerCallback timer_callback, void *context);
这个加了一个窗口参数,不知道是指定窗口还是窗口ID。
谁写过跑表或闹钟应用,求借鉴一小段定时器的用法。
作者:
Zola
时间:
2015-11-11 11:46
去这个开源的代码里找了一下,没有发现人家用定时器
https://github.com/hongjones/maibu_activety_face
作者:
陶坤@麦步
时间:
2015-11-11 18:18
截图所示
image.jpeg
(12.51 KB, 下载次数: 234)
下载附件
2015-11-11 18:18 上传
image.jpeg
(42.54 KB, 下载次数: 219)
下载附件
2015-11-11 18:18 上传
作者:
Zola
时间:
2015-11-11 19:25
感谢,搞定:
/*每300毫米刷新*/
app_timer_change_id = app_window_timer_subscribe(p_window, 300, app_timer_change, NULL);
/*定时器,更新第二时区或剩余电量*/
void app_timer_change(date_time_t tick_time, uint32_t millis, void* context )
{
P_Window p_window = app_window_stack_get_window_by_id(g_app_mwd_window_id);
if (NULL == p_window)
{
return ;
}
P_Layer layer_battery = app_window_get_layer_by_id(p_window, g_app_mwd_battery_layer_id);
if (NULL == layer_battery)
{
return;
}
/*更新电量到第二时区图层*/
int8_t percent;
int16_t x, y, z;
char str[20] = "";
struct date_time datetime;
int hour=datetime.hour;
maibu_get_accel_data(&x, &y, &z);
int accelx=x;
int accely=y;
in
作者:
Zola
时间:
2015-11-11 19:26
又说我操作有风险被拦截。提交的代码被吃掉一截了。
作者:
killbull
时间:
2015-11-12 11:06
楼主加入麦步公司吧!!
欢迎光临 麦步社区-论坛 (http://203.195.186.190/)
Powered by Discuz! X3.2