标签: pebble-sdk

用喷气式大脑cLion设置卵石sdk?

我想使用CLION(jetbrains c/c ++ IDE)开发卵石.我知道云卵石,仍然想使用Clion.有人可以告诉我如何设置它,以便:

  1. 我得到了pebble sdk功能的自动完成功能
  2. 单击运行时,将运行该命令pebble build && install .

pebble-watch pebble-sdk

5
推荐指数
1
解决办法
322
查看次数

为什么我的Pebble表面不会每分钟更新一次?

我正在学习表面开发.我一直在密切关注Pebble指南,因此80%的代码与示例代码相同.我可能错过了很小的东西,但我的脸似乎没有正确订阅时间服务.

我究竟做错了什么?

init(),我有:

tick_timer_service_subscribe(MINUTE_UNIT, tick_handler);
tick_timer_service_subscribe(DAY_UNIT, tick_handler);
Run Code Online (Sandbox Code Playgroud)

这是tick_handler:

static void tick_handler(struct tm *tick_time, TimeUnits units_changed) {
  update_time();
}
Run Code Online (Sandbox Code Playgroud)

这是update_time:

static void update_time() {
  time_t temp = time(NULL); 
  struct tm *tick_time = localtime(&temp);

  static char time_buffer[] = "00:00";
  static char date_buffer[] = "00/00/00";

  if (clock_is_24h_style() == true) {
    strftime(time_buffer, sizeof(time_buffer), "%H:%M", tick_time);
  } else {
    strftime(time_buffer, sizeof(time_buffer), "%I:%M", tick_time);
  } 
  text_layer_set_text(s_time_layer, time_buffer);

  strftime(date_buffer, sizeof(date_buffer), "%D", tick_time);
  text_layer_set_text(s_date_layer, date_buffer);
}
Run Code Online (Sandbox Code Playgroud)

面部仅更新首次加载时的时间(通过调用update_time).

c pebble-watch pebble-sdk

4
推荐指数
1
解决办法
845
查看次数

JSON不会编译,给出:"期待'STRING','NUMBER','NULL','TRUE','FALSE','{','['"错误

有人可以用这个代码告诉我wow wong wong吗?我尝试了一切,不知道为什么它一直给我这个错误:

第3行解析错误:......","shortName":"简单","longN

---------------------------------------------- ^

期待'STRING','NUMBER','NULL','TRUE','FALSE','{','['

{
    "uuid": "13371337-d579-4d75-a5c5-8dfcfe110f62",
    "shortName": “Simple”,
    "longName": “Simple”,
    "companyName": “pjtnt11”,
    "versionCode": 1,
    "versionLabel": “1.7”,
    "watchapp": 
        {
            "watchface": true
        },
    "appKeys": 
        {
            "dummy": 0
        },
    "resources": 
        {
            "media": []
        }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

json pebble-sdk

4
推荐指数
1
解决办法
1万
查看次数

有人可以解释Pebble C Watchface教程中的部分代码吗?

我正在研究这里找到的Pebble C表面教程https://developer.getpebble.com/tutorials/watchface-tutorial/part1

有问题的代码部分在这里:

static void init() {
  // Create main Window element and assign to pointer
  s_main_window = window_create();

  // Set handlers to manage the elements inside the Window
  window_set_window_handlers(s_main_window, (WindowHandlers) {
    .load = main_window_load,
    .unload = main_window_unload
  });

  // Show the Window on the watch, with animated=true
  window_stack_push(s_main_window, true);
}
Run Code Online (Sandbox Code Playgroud)

window_set_window_handlers是一个函数声明和调用吗?C中的.load和.unload简写符号的术语是什么?

如果有人可以解释这段代码,我将非常感谢,谢谢.

c function shorthand pebble-watch pebble-sdk

4
推荐指数
1
解决办法
145
查看次数

snprintf + Pebble

我正在为Pebble开发,我的开局很艰难.

我正在尝试使用2个字符串和2个值填充text_layer,如下所示:

等待AVG:3 MAX:5

由于mallocPebble SDK不支持,我无法使用sprintf,因此我坚持使用snprintf.以下代码仅打印"4":

srand(time(NULL));
int average = (rand()%6)+1; 
int maximum = average + 2;
static char *avgText="WAIT AVG: ";
static char *maxText="MAX: ";
snprintf(labelText,sizeof(avgText) + sizeof(average) + sizeof(maxText) + sizeof(maximum),"%s %d %s %d",avgText,average,maxText,maximum);
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我知道我可以创建4个单独的TextLayers,但这对我来说是最后的手段.

c printf sizeof strlen pebble-sdk

3
推荐指数
1
解决办法
2024
查看次数

在pebble js文件中包含一个外部javascript库?

有什么办法可以在我的卵石代码中包含一个外部JS库吗?通常在网页上我会在我的头标签中执行此操作:

<script type='text/javascript' src='https://cdn.firebase.com/js/client/1.0.11/firebase.js'></script>
Run Code Online (Sandbox Code Playgroud)

但是在鹅卵石中,我无法做到这一点,因为我只使用JS.那么我如何为JavaScript文件包含一个外部库.

javascript pebble-watch pebble-sdk cloudpebble

3
推荐指数
2
解决办法
2452
查看次数

这个点语法在Pebble手表开发教程中意味着什么?

我在Pebble watch app开发教程中遇到了以下代码:

// Set handlers to manage the elements inside the Window
  window_set_window_handlers(s_main_window, (WindowHandlers) {
    .load = main_window_load,
    .unload = main_window_unload
  });
Run Code Online (Sandbox Code Playgroud)

我无法理解.load和.unload的这个任务.这是标准C吗?我认为我以前从未见过类似的语法.

c pebble-sdk

3
推荐指数
1
解决办法
417
查看次数

CloudPebble与Native Pebble SDK

我正在考虑开始卵石开发,但我对他们为Cloud Pebble做广告的鹅卵石网站(https://developer.getpebble.com)感到困惑,但他们也建议通过计算机上的命令行安装它.有什么不同?有优点和缺点吗?

pebble-watch pebble-sdk cloudpebble

2
推荐指数
1
解决办法
991
查看次数

获取免打扰设置

是否可以在Pebble表盘中检索"请勿打扰"设置?我想知道我的表盘何时应该停止通知用户,但仅在DND打开时.我认为也可以获得24/12小时模式吗?

pebble-watch pebble-sdk

2
推荐指数
1
解决办法
299
查看次数

卵石通讯方式

我现在一直在用卵石试验一两天,我已经达到了一点停滞状态.也就是说,我似乎无法弄清楚某些事情是如何相关的.我想要做的是从Android上的应用程序获取数据以发送到卵石,然后为鹅卵石做一些有效的数据.

我已经意识到你在一个Android应用程序中使用PebbleKit API,以便使用诸如之类的东西与卵石进行通信sendDataToPebble().在那之后,我不太确定该怎么做.

使用cloudpebble.net,我使用pebble SDK在C中创建了一个应用程序来确认数据(使用他们网站上建议的处理程序).但是,我最近发现在整个混音中也可能有javascript,我只是不知道如何与js交互.

是否有可能拥有所有ack/nack数据,并且后续处理/显示数据完全通过javascript完成,完全避免C,或者我是否需要在c中接收数据,然后将其发送到javascript一些如何为它使用(我目前不知道该怎么做).

相信appmessage当JS应用程序收到数据时会触发某种事件(我认为),但是,我认为这只是来自C应用程序?

因此,大多数情况下,我的困惑在于JS如何融入整个组合.如果有人能为我清楚,我会真诚地感激它.

编辑:我应该补充一点,我正在尝试使用cloudpebble.net中的pebble.js创建一个应用程序.

谢谢!

javascript android pebble-watch pebble-sdk cloudpebble

2
推荐指数
1
解决办法
1507
查看次数

向Pebble发送通知

我正在尝试向我的鹅卵石手表发送通知.我正在使用此代码,这基本上是来自网站的示例:

public void sendPebble(String title, String body) {
    final Intent i = new Intent("com.getpebble.action.SEND_NOTIFICATION");

    final Map<String, String> data = new HashMap<String, String>();
    data.put("title", title);
    data.put("body", body);

    final JSONObject jsonData = new JSONObject(data);
    final String notificationData = new JSONArray().put(jsonData).toString();
    i.putExtra("messageType", "PEBBLE_ALERT");
    i.putExtra("sender", "Test");
    i.putExtra("notificationData", notificationData);

    Log.d("Test", "Sending to Pebble: " + notificationData);
    sendBroadcast(i);
}
Run Code Online (Sandbox Code Playgroud)

我在LogCat中收到消息,但手表上没有通知.程序看起来很简单,有没有我错过的东西?或者文档是不完整的?

编辑:显而易见的问题:

  • 是的,手表是连接的
  • 是的,我启用了第三方通知

java android pebble-watch pebble-sdk

1
推荐指数
1
解决办法
1801
查看次数

如何在C中存储字节数组?

这似乎是一个基本问题,但我无法在任何地方找到答案.

我知道C/C++没有byte数据类型.我知道sizeof(char) == 1.

我试图在我的Android应用程序中传输12个传输,每个传输96个字节在Pebble上.

由于传输大小的限制,我一次发送一个.每一个都应该"附加"到最后一个,因为它们应该最终在内存中形成顺序空间,作为图像读取(每像素一位).

我正在尝试做这样的事情:

int transNum = 0;
uint8_t image[][] = new uint8t[12][12] //not sure about uint8_t, and I've forgotten how to do 'new' in C, I have to create just a pointer, and then malloc?

receivedHandler(DictionaryIterator *iter, void *context){
    Tuple *receivedImage = dict_find(iter, KEY_IMG);
    for (int i = 0; i < 12; i++) {
        image[transNum][i] =  receivedImage->value[i]->uint8_t;
    }
    transNum += 1; //this is in an implicit loop, since once done Pebble ACKs …
Run Code Online (Sandbox Code Playgroud)

c pebble-watch pebble-sdk

1
推荐指数
1
解决办法
8473
查看次数