Hola!

Después del post de ayer, hoy he podido actualizar el Pebble y el SDK a la versión 2.1. Eso significa que ya tengo todo listo para una demo. Lo mejor, empezar con un video de una app muy simple. Por cada botón presionado, el mismo envía un mensaje de debug al entorno de desarrollo.

Lo que podemos ver en el video es cómo se despliega una app al Pebble utilizando CloudPebble. Y luego como la misma está conectada y podemos capturar eventos de debug. En el video es posible ver

00:00 El entorno de desarrollo de CloudPebble con el source code de una app y el feed de una cámara con el Pebble

00:46 La opción de Build, en este caso, compila y despliega (a través de un iPod) la app al Pebble

00:22 En este momento es posible ver la app desplegada y en ejecución en el Pebble

00:25 Selección de la vista de debug output en el entorno de desarrollo

00:34 Click en el Button Up y … mensaje de debug !!

Los que no son developers no sabrán disfrutar del momento de emoción divina al que se llega cuando un smartwatch envia un mensaje por TCP a un browse que es donde está el entorno de desarrollo.

Dicho esto, solo queda compartir el código y mañana un ejemplo de una app más interesante con los botones


#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

2 responses to “[#PEBBLE] Trabajando con botones (II) y un poco de #debug mode”

  1. […] En este caso, continuaré mi ejemplo del post anterior, que hice con CloudPebble. En la configuración del proyecto, debemos descargar el mismo con la […]

    Like

  2. […] Después del post anterior donde mostraba cómo suscribirnos a los eventos de click de los botones del Pebble, hoy voy a seguir un poco con el ejemplo, haciendo una app un poco más interactiva. Lo primero es […]

    Like

Leave a comment

Discover more from El Bruno

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

Continue reading