我已经用Pebble.js开发了一个旨在获取一个包含整数的远程文件,并发出许多“短”的Vibe事件。
问题是:如果一个人目前正在进行中,就不会发生虚拟事件。我求助于这样的方法来尝试将它们分散开来(在这里,要发出BUMP_COUNT_INT ==数量的Vibes ):
for (var i = 0; i < BUMP_COUNT_INT; i++) {
setTimeout(function(){
Vibe.vibrate('short');
}, 900*i);然而,即使900‘t(* Vibes)也是不一致的。有时它们之间存在或多或少的空间,有时它们合并(导致比预期更少的振动)。
看来,C能够定制序列。
我希望有人找到了一个更干净的解决方案,或者用Pebble.js实现这一目标的更稳定的方法.?
如果我想继续使用Pebble.js,我是否应该接受这样一个事实:如果我想继续使用,我就必须进一步扩展Vibes吗?
你怎么做?
发布于 2015-01-04 11:38:41
自定义模式在Pebble.js中不可用,但您可以轻松地在Pebble.js中添加一种新的“类型”,并将其作为自定义模式在Pebble.js的C端实现。
这些步骤将是:
src/js/ui/simply-pebble.js ( Pebble.js JavaScript库):
变量vibeTypes = 'short','long','double',‘定制’;var VibeType = makeArrayType(vibeTypes);src/simply/simply_msg.c中创建新类型的Vibe
枚举VibeType { VibeShort = 0,VibeLong = 1,VibeDouble = 2,VibeCustom = 3,};src/simply/simply_msg.c中支持这种新类型的vibe。
静态无效handle_vibe_packet(简单*简单,数据包*数据){ VibePacket *packet = (VibePacket*)数据;交换机(包->类型){ case VibeShort: vibes_short_pulse();Packet;case VibeLong: vibes_break_pulse();vibes_break_pulse();case VibeDouble: vibes_double_pulse();case VibeCustom: static uint32_t const segments[] ={ 200,100,400 };VibePattern pat ={ .durations =段,.num_segments =ARRAY_LENGTH(段),};vibes_enqueue_custom_pattern(pat);break;}}一个更好的解决方案是建议一个补丁,这样任何定制的模式都可以在JavaScript端设计并发送到手表上。
https://stackoverflow.com/questions/27713816
复制相似问题