Hello!

After the yesterday’s post, I have been able today to update the Pebble smartwatch and the SDK to the version 2.1. That means that I have everything ready for a demo. So, I’ll start with a video of a very simple app. For every button pressed, it sends a debug message to the cloud development environment.

We can see in the video is how an app to the Pebble is displayed using CloudPebble. And then as it is connected and can capture debug events. In the video you can see

00: 00 the development environment CloudPebble with the source code of an app and the feed from a camera with the Pebble

00: 46 Build option, in this case, compiles and deploys the app to the Pebble (through an iPod)

00: 22 now it is possible to see the app deployed and running on the Pebble

00: 25 selection from the view of debug output in the development environment

00: 34 Click on the Button Up and debug message!

Those who are not developers won’t know to enjoy of the divine moment of emotion that can be reached when a smartwatch sends a message by TCP to a browse that is where is the development environment .

That said, just sharing the code and tomorrow an example of a more interesting app with buttons


#include <pebble.h>
Window *window;
TextLayer *text_layer;
/* Buttons Handlers */
void up_click_handler(ClickRecognizerRef recognizer, void *context)
{
APP_LOG(APP_LOG_LEVEL_DEBUG, "Button Up !");
}
void down_click_handler(ClickRecognizerRef recognizer, void *context)
{
APP_LOG(APP_LOG_LEVEL_DEBUG, "Button Down !");
}
void select_click_handler(ClickRecognizerRef recognizer, void *context)
{
APP_LOG(APP_LOG_LEVEL_DEBUG, "Button Select !");
}
void click_config_provider(void *context)
{
window_single_click_subscribe(BUTTON_ID_UP, up_click_handler);
window_single_click_subscribe(BUTTON_ID_DOWN, down_click_handler);
window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler);
}
void handle_init(void) {
// Create a window and text layer
window = window_create();
text_layer = text_layer_create(GRect(0, 0, 144, 154));
// Set the text, font, and text alignment
text_layer_set_text(text_layer, "El Bruno, buttons sample!");
text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
text_layer_set_text_alignment(text_layer, GTextAlignmentCenter);
// Add the text layer to the window
layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer));
// buttons handlers
window_set_click_config_provider(window, click_config_provider);
// Push the window
window_stack_push(window, true);
// App Logging!
APP_LOG(APP_LOG_LEVEL_DEBUG, "Just pushed a window!");
}
void handle_deinit(void) {
// Destroy the text layer
text_layer_destroy(text_layer);
// Destroy the window
window_destroy(window);
}
int main(void) {
handle_init();
app_event_loop();
handle_deinit();
}

Saludos @ Home

El Bruno

image image image Google

One response to “[#PEBBLE] Working with buttons (II) and a bit of #debug mode using #CloudPebble”

  1. […] my previous post on How to subscribe to the click event button in Pebble, today I will continue with the example, doing an app a little bit more interactive. The first […]

    Like

Leave a reply to [#PEBBLE] Working with buttons (III) and some animations | El Bruno Cancel reply

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading