Construya su propio cargador casero para su Pebble Classic


Pebble Classic  es uno de los  modelos mas vendidos  SmartWatch con pantalla monocroma de 1,26″  basado en tecnologia e-ink (tinta electronica) que permite  leerlo incluso con luz solar directa . Gracias al bajo consumo de la pantalla le permite estar  siempre encendido    y ademas con una duración de batería  que sobrepasa con creces la semana de uso.

Como cualquier smartwatchse conecta a su smartphone Android o Ios  a través de Bluetooth para proporcionar notificaciones personalizadas y aplicaciones descargables. Ademas también lo puede personalizar con watchfaces y aplicaciones para adaptarlo a su estilo y sus intereses personales.

Otras de las posibilidades que ofreces es controlar sus aplicaciones musicales favoritos, incluyendo iTunes, Spotify y Pandora de su Pebble mientras realizas deporte (se puede realizar un seguimiento del rendimiento con la popular aplicación de fitness RunKeeper)  y por supuesto saber quien nos llama colgando o descolgando desde el propio Pebble.

Con las notificaciones, puede obtener actualizaciones discretos sobre la información que es más importante para usted. Además de identificador de llamadas, correo electrónico, mensaje de texto y alertas de calendario, puede elegir recibir notificaciones de Facebook, Twitter, Instagram y mil cosas mas,   todo ello  con un precio muy contenido  pues cuesta en Amazon menos de 50€.

Cargador casero  autoconstruido.

¿Perdió su cable cargador original de Pebble Classic  o quiere un cargador extra, para llevarlo siempre   consigo ?

Pues la buena noticia  es  que puede tener el suyo en menos de 1 hora  gracias a una impresora 3D  y un poco de cable

En  efecto realmente  nunca ha sido tan fácil construir un cargador  pues únicamente tiene que ir al repositorio  de Thingiverse,  en https://www.thingiverse.com/thing:295226    y  descargar el  directorio del proyecto

Una vez descompimido el fichoer , en el directorio creaado vera  que hay dos ficheros stl   , el primero para  la version classic  pebblecharger.stl  y el segundo  pebblesteelcharger_test.stl para la version Steel .   Este  segundo diseño es bastante diferente al original y necesita ser probado por lo que el autor lo considera aun en progreso.

pebble

Una vez  imprima en una impresora 3d  el fichero pebblecharger.stl   ( personalmente lo he hecho con PLA a 220º y la cama caliente a 70º)   solo necesitará dos piezas de alambre de metal  para hacer los contactos , tal  y como puede  ver  en el video , donde la clave es pinchar estos justo en los orificios que hay preparados en el diseño.

pebbleplastcio.png

No es necesaria una estructura de soporte a la hora de imprimirlo , pues justo empieza a imprimirse sobre uno de los   bordes ayudando así a evitar el combado.

Para los conectores  necesitará un alambre de metal que sea lo suficientemente flexible como para darle forma, pero lo suficientemente rígido como para mantener su forma al final. Para poner los cables en su lugar, es probable que necesite algunas pinzas.

Antes de usarlo, verifique que la impresión no tenga bordes filosos, especialmente en el lado opuesto al enchufe USB. Las rebabas o los bordes afilados pueden rayar ligeramente la carcasa de plástico en el lado derecho de su Pebble
En el siguiente vídeo  se puede apreciar todo el proceso  donde la originalidad  es ,en lugar de usar imanes,  gracias al diseño muy concienzudo,  encaja perfectamente  cumpliendo su misión sin estos.

 

 

 

 

NOTA : Como con cualquier enchufe no certificado, siempre existe el riesgo de dañar su equipo. Tenga cuidado y uselo bajo su propio riesgo!

Anuncios

Problemas de sincronización con Pebble


Pebble   es un estupendo smartwatch con una excelente relación calidad  precio , que lo hacen ideal para cualquier bolsillo , pues por 83€ se puede comprar uno en Amazon.

Uno de sus puntos fuertes es  la batería de iones de litio que otorga al Pebble  un máximo de 7 días de duración , otorgando a Pebble  sin duda  ser  uno de los relojes inteligentes  con mayor autonomía del mercado.

En cuanto a la pantalla de 1.25 pulgadas con tecnología e-Paper presume ser  también una de las primeras pantallas de tinta electrónica en color.

Este reloj es ccompatible con dispositivos Android versión 4.0+ y iOS versión 8.0+  y también  con Pandora y iHeatRadio

 

pebble

Pebble pues funciona con Android y teléfonos inteligentes Apple iPhone. Ademas es sumergible pudiendo hacer Hop en la piscina, saltar en la ducha, o correr en la lluvia hasta 30 metros de resistencia al agua

Por si fuera poco , recientemente ya es también es compatible  con Android Wear ,convirtiendo nuestro reloj en un monitor de nuestra actividad

La línea del tiempo convierte los momentos que te importan – notificaciones, eventos de calendario, el tiempo, resultados deportivos, noticias de última hora, llamadas perdidas, alertas app – en pines que le permiten ver lo que viene o lo que ya ha sucedido

Sin duda hablamos de un  estupendo reloj inteligente ,pero como cualquier dispositivo electrónico ,  no esta exento de problemas. Veamos a continuación algunos de los problemas mas típicos que presenta y la forma de intentar subsanarlos:

 

NO CARGA  O NO ENCIENDE

 

Si usted cree que tiene un problema con el cable de carga o puerto de carga,  asegúrese primero e darle el tiempo suficiente para cargar y encender; de vez en cuando, después de una batería agotada, Pebble puede tomar mucho tiempo para despertar. Se recomienda cargar Pebble tiempo durante al menos 3 horas y luego tratar de encenderlo de nuevo manteniendo pulsado el botón Atrás en la parte izquierda durante 5-10 segundos. También ayuda a tratar de encenderlo al menos una vez mientras está conectado al cable y una vez mientras se separa.


Asegúrese de probar varios puertos y cargadores inicialmente, no indican que se está cargando, ya que algunos cargadores USB (especialmente aquellos con baterías incorporadas, o aquellos diseñados para cargar los dispositivos IOS) no se cargará de forma fiable el tiempo de Pebble, ya que dibuja tan poca energía.

Si el cable aún no se conecta correctamente con su Pebbleo, intenta lo siguiente:

  • Pulir la estaciones de carga en el cable y en el propio Pebble  para asegurarse de que no hay un recubrimiento o sustancia que obstruya la conexión magnética de metal. Se puede utilizar una goma de borrar para desoxidar y pulirlos.
  • Limpiar los cuatro de los contactos con (90% o superior) alcohol.
  • Los contactos del cable de carga son pasadores de resorte cargado. Presione cada uno de ellos y asegurarse de que están apareciendo de nuevo sin problemas hasta la misma altura con respecto al otro.

 

PERDIDA DE CONEXION BLUETOOTH

Si tiene  actualizado tanto el Pebble como el smartphone  funcionando perfectamente pero cada cierto tiempo pierde el enlace al bluetooth .Se puede recuperar el enlace pero es molesto tener que estar revisando si tiene conexion o no

Este problema puede ser resuelto mediante la desconexión del emparejamiento entre el teléfono y el Pebble por el cierre de ambos dispositivos, por lo que  siga  los pasos siguientes para corregir el problema.

  1.  En el teléfono, abrir el menú de configuración de Bluetooth y encontrar todos los dispositivos etiquetados ‘Pebble’. Toque el icono de engranaje, y olvidarse de los dispositivos.
  2.  Eliminar la aplicación de Pebble desde el teléfono.
  3.  En el reloj, pulse y mantenga pulsado el botón izquierdo, medio y superior derecha botones de la derecha al mismo tiempo hasta que “guijarro” aparece en la pantalla.
  4.  Vuelva a instalar y abrir la aplicación Pebble, volver a iniciar sesión, y siga las instrucciones para volver a conectar el reloj.

 

Si ha instalado  tanto la app como el firmware del pebble con el mismo resultado(se establece la conexión perfectamente y se  reciben notificaciones ok hasta que en un determinado se pierde la conexión aunque este justo al lado.Incluso estando cortada la conexión bluetoorh al desbloquear el smartphone entonces puede que vuelva a recuperar la conexión asi como si desde la aplicacion Pebble en el smartphone  si desconecta y conecta vuelve a funcionar.

Todos estos últimos síntomas son claros indicios de fallo del modulo bluettoh del smatrphone  por lo que si es posible compruébelo con otro smartphone para descartar o confirmar  avería del modulo bluetooth de su smartphone

 

 

PROBLEMAS DE VISUALIZACION EN PANTALLA

Si está experimentando problemas de visualización en pantalla en su (líneas estáticas, los píxeles muertos, etc), por favor trate de hacer un restablecimiento de fábrica en el reloj en primer lugar, para resolver cualquier causa potencial relacionado con el software.

Para restaurar el Pebble los ajustes de fábrica, seleccione Configuración en el menú principal, a continuación, elija Factory Reset, que es la última opción.

 

 

 

PANTALLA SOS

 

Si se reinicia el reloj y se parece a ninguna de las imágenes anteriores, su Pebble  ha entrado en modo de recuperación.


¿Cómo salir del modo de recuperación

  • Pulse y mantenga pulsado el botón Down (abajo a la derecha) hasta que una animación de dos círculos de giro aparece (aprox. 7-10 segundos).
  • Espere a que la animación parar y para el reloj para reiniciar de nuevo en modo de recuperación.
  • Abrir la configuración de Bluetooth del teléfono. Si ve que su Pebble en la lista, se olvide el dispositivo.
  • Abre la aplicación del guijarro en su teléfono.
  • Toque el símbolo Conectar cerca de la parte inferior de la aplicación.
  • Una vez que sus actualizaciones de gravilla, que estará listo para ir!

PANTALLA CONECTING QUE NO PROGRESA

 

SI ha seguido todos los pasos que me hemos visto para reinicia el Pebble  y muestra una pantalla en el Pebble que solo pone “pebble.com/app” y abajo “Pebbe 6481” , y en el smartpone aparece “conecting”, esto se  debe a  un fallo de la actualización  por lo que antes de volver a  inicar el proceso  recargue su Pebble al máximo y después repita el proceso,es decir  olvide la conexión bluetooth en el smartphone e instale la app nuevamente.

En la app introduzca sus credenciales  de su cuenta de Pebble y al encontrar el Pebble desde el reloj confirme que acepta , y contiene con el proceso.

 

 

ERROR FE504501

Este código de error indica que puede haber un problema con uno de los botones de su reloj.

Con mayor frecuencia es causada por un botón atascado, así que por favor siga los siguientes pasos:
  1. Presione el botón de retroceso rápido tres veces, la celebración de la última pulsación durante 7 segundos
  2. Repita con los otros tres botones (el orden no es importante)
  3. Mantenga la parte trasera (lado izquierdo) y seleccione (centro derecha) botones al mismo tiempo durante 5-10 segundos, hasta que aparezca el logotipo de Pebble

ERRORES  FE504502, FE504503, O FE504504

Estos código de error indican problemas que a menudo se pueden resolver reiniciando el reloj de mode.To recuperación de resolver el problema, sigue estos pasos:

  1. Su reloj ya puede estar en modo de recuperación (en la foto a la derecha); si no, por favor, pulse y mantenga la parte de atrás, arriba y seleccionar botones al mismo tiempo.
  2. Siga presionando hasta que el reloj de la pantalla muestra una pantalla similar a la que se muestra aquí.
  3. Abra el menú de ajustes en su teléfono
  4. Abre en Configuración Bluetooth y encontrar ningún dispositivo de Pebble
  5. Toque el icono a la derecha del dispositivo Pebble (s) y olvidarse de ellas
  6. Vuelve a abrir la aplicación de gravilla y siga las instrucciones para volver a conectar el reloj a su teléfono

FE504502, FE504503, O FE504504

Si usted experimenta uno de estos códigos de error, hay que enviar un correo electrónico [email protected] con la siguiente información:

  • Un resumen de la cuestión
  • El número de serie del reloj
  • Una imagen del error en la pantalla del reloj
  • Una foto de la parte posterior de su reloj, con el número de serie se muestra claramente
  • El modelo y el color de su reloj
  • Su número de teléfono y dirección de envío (incluyendo su nombre, dirección, ciudad, región, país y código postal) en caso de que determinen un reemplazo es apropiado

 

REINICIO

Si su  Pebble no responde o no está mostrando los cambios que ha realizado recientemente, reinicie él para ver si se soluciona el problema.

Para reiniciar Pebble, a la vez que sostiene la parte trasera y el botón de selección durante 10 segundos;el logotipo de Pebble aparecerá brevemente en la pantalla cuando éxito se ha reiniciado.

 

 

 

Si la información anterior no resuelve el problema, puede ponerse  en contacto con el equipo de asistencia a través de la propia aplicación Pebble y por favor comparte si ha conseguido arreglarlo ….!suerte!

 

Diseñe su propia esfera para Pebble ( parte 1de 2)


En post  anteriores hemos hablado  que hoy en día  no  existe  ningún smartwatch  con la autonomía  que  goza un Pebble( normalmente una semana pero puede alargarse hasta 9 dias según el uso que se le haga),  pues ademas ese fue precisamente fue uno de los principios de su diseño  basado por cierto en sustituir la clásica pantalla oled por una de tinta electrónica.

Por si fuera poco,  tambien es factible personalizarlo fácilmente  usando c,  js ,java   y otros lenguajes.

En este post vamos  a ver como usando el lenguaje C  , y un entorno en nube  gratuito  podemos diseñar una nueva esfera básica buscando algo como esto:

final result

Primeros pasos

 

Ir a CloudPebble y haga clic en “Comenzar” para iniciar sesión con tu cuenta de Pebble, o crear uno nuevo si usted no tiene ya uno. A continuación, haga clic en “Crear” para crear un nuevo proyecto. Dele a su proyecto un nombre adecuado, tal como “Tutorial 1” y dejar el “Tipo de proyecto” como “Pebble C SDK ‘, con una’ plantilla ‘de« proyecto vacío “, ya que estaremos empezando desde cero para ayudar a maximizar su comprensión a medida que avanzamos.

Haz clic en “Crear” y verá la pantalla principal CloudPebble proyecto. El menú de la izquierda muestra todos los enlaces pertinentes que se necesitan para crear su su esfera. Haz clic en “Configuración” y verá el nombre que acaba de suministrar, junto con varias otras opciones. Como estamos creando un su esfera, cambie el ‘App Kind’ a ‘su esfera’.

La principal diferencia entre los dos tipos son que watchfaces son seleccionadas usando los botones Arriba y Abajo y sirven como la pantalla por defecto en el reloj. Esto también significa que estos botones no están disponibles para el comportamiento personalizado (Volver y Select también no están disponibles para watchfaces). Por el contrario, watchapps son lanzados desde el menú del sistema Pebble. Estos tienen más capacidades, tales como los clics de los botones y elementos de menú, pero vamos a llegar a los que más tarde.

Por último, establezca su “Nombre de la empresa ‘y podemos empezar a escribir algo de código!

Conceptos básicos de su esfera

Crear el primer archivo de origen haciendo clic en “Agregar nuevo” en el menú de la izquierda, seleccionando ‘archivo C’ como el tipo y la elección de un nombre adecuado, tal como main.c. Haz clic en “Crear” y se le mostrará la pantalla principal del editor.

Vamos a añadir los segmentos de código básicas que son requeridos por cada watchapp. La primera de ellas es la directiva principal para usar el SDK de Pebble en la parte superior del archivo, así:

  #include <pebble.h>

 

Después de esta primera línea, tenemos que empezar con la estructura de aplicación recomendado, específicamente un C estándar main() la función y otras dos funciones para ayudar a organizar la creación y destrucción de todos los elementos Pebble SDK. Esto ayuda a hacer la tarea de gestionar la asignación de memoria y desasignación tan simple como sea posible. Además, main() pide también app_event_loop()que permite a la espera watchapp de eventos del sistema hasta que sale.

La estructura recomendada se muestra a continuación, y se puede utilizar como base para su propio archivo de su esfera copiándolo en CloudPebble:

  #include <pebble.h>

 static void init () {

 }

 estática deinit void () {

 }

 int main (void) {
   init ();
   app_event_loop ();
   deinit ();
 }

 

Para añadir la primera Window primero declaramos un puntero estática a una Window variable, de modo que podamos acceder a él siempre que lo necesitamos, sobre todo en el init() y deinit() funciones. Añadir esta declaración a continuación #include con el prefijo s_ para denotar su static naturaleza static aquí significa que es accesible sólo dentro de este archivo):

  estática s_main_window Ventana *;

 

El siguiente paso es crear una instancia de Window para asignar a este puntero, lo que vamos a hacer eninit() utilizando las funciones de Pebble SDK apropiados. En este proceso también se le asigna dos funciones de controlador que proporcionan una capa adicional de abstracción para gestionar la posterior creación de la Window sub-elementos ‘s, de una manera similar a como init() y deinit() realizan esta tarea para el watchapp como entero. Estas dos funciones se deben crear por encima de init() y deben coincidir con las siguientes firmas (los nombres pueden variar, sin embargo):

  static void main_window_load (Ventana * ventana) {

 }

 static void main_window_unload (Ventana * ventana) {

 }

 

Con este hecho, podemos completar la creación de la Window elemento, haciendo referencia a estas dos nuevas funciones de controlador que se llaman por el sistema cada vez que la Window se está construyendo. Este proceso se muestra a continuación, y tiene lugar en init()

  static void init () {
   // Crear principal elemento ventana y asignar al puntero
   s_main_window window_create = ();

   // Manipuladores Set para gestionar los elementos dentro de la Ventana
   window_set_window_handlers (s_main_window, (WindowHandlers) {
     . Load = main_window_load,
     . Unload = main_window_unload
   });

   // Mostrar la ventana en el reloj, con animada = true
   window_stack_push (s_main_window, true);
 }

 

Un buen mejores prácticas para aprender en esta primera etapa es para que coincida con todos los SDK de Pebble _create() llamada a la función con el equivalente _destroy() función para asegurarse de que toda la memoria utilizada se devuelve al sistema cuando la aplicación se cierra. Vamos a hacer esto ahora endeinit() para nuestro principal Window elemento:

  estática deinit void () {
     // Destruye Ventana
     WINDOW_DESTROY (s_main_window);
 }

 

Ahora podemos compilar y ejecutar este su esfera, pero no vamos a mostrar algo interesante todavía.También es una buena práctica para comprobar que nuestro código sigue siendo válido después de cada cambio iterativo, así que vamos a hacer esto ahora.

Primero Compilación e instalación

Para compilar el su esfera, asegúrese de que ha guardado el archivo C haciendo clic en el icono ‘Guardar’ en la derecha de la pantalla del editor y luego proceder a la pantalla ‘Compilación’ haciendo clic en el enlace correspondiente en la parte izquierda de la pantalla. Haga clic en “Build Ejecutar” para iniciar el proceso de compilación y esperar el resultado. Esperemos que el estado debe convertirse en “correcta”, es decir, el código es válido y se puede ejecutar en el reloj.

Con el fin de instalar su su esfera en el Callao, primera instalación del Developer Connection Pebble.Asegúrese de que está utilizando la última versión de la aplicación de Pebble.

Haga clic en “Instalar y Ejecutar” y esperar a que la aplicación para instalar.

¡Felicidades! Usted debe ver que usted tiene un nuevo elemento en el carrusel de su esfera, pero es totalmente en blanco!

 

Vamos a cambiar eso con la siguiente etapa hacia una su esfera básica – la TextLayer elemento.

Mostrando Algunos de texto

Vaya de nuevo al editor de código CloudPebble y abrir su archivo principal C para continuar añadiendo código.

La mejor manera de mostrar un poco de texto en un su esfera o watchapp es utilizar un TextLayerelemento. El primer paso al hacer esto es seguir un procedimiento similar al utilizado para la creación de laWindow con un puntero, idealmente añadido a continuación s_main_window

  estática s_time_layer TextLayer *;

 

Este será el primer elemento añadido a nuestra Window por lo que hará la función de Pebble SDK llama a crearlo en main_window_load() Después de llamar text_layer_create() llamamos a otras funciones con nombres ingleses de civil que describen exactamente lo que hacen, lo que es para ayudar a propiedades de diseño de instalación para el texto mostrado en la TextLayer incluyendo colores, alineación y tamaño de fuente. También incluimos una llamada a text_layer_set_text() con “00:00” para que podamos verificar que el TextLayer está configurado correctamente. Por lo tanto main_window_load() se convierte en:

  static void main_window_load (Ventana * ventana) {
   // Crear TextLayer tiempo
   s_time_layer = text_layer_create (GRect (0, 55, 144, 50));
   text_layer_set_background_color (s_time_layer, GColorClear);
   text_layer_set_text_color (s_time_layer, GColorBlack);
   text_layer_set_text (s_time_layer, "00:00");

   // Mejorar el diseño para ser más como un su esfera
   text_layer_set_font (s_time_layer, fonts_get_system_font 
   text_layer_set_text_alignment (s_time_layer, GTextAlignmentCenter);

   // Añadir como una capa secundaria a la capa de la raíz de la Ventana
   layer_add_child (window_get_root_layer (ventana), text_layer_get_layer (s_time_layer));
 }

 

Tenga en cuenta el uso de los valores de SDK como GColorBlack y FONT_KEY_BITHAM_42_BOLDque permiten el uso de características y comportamientos incorporados. Estos ejemplos son el color negro y un sistema incorporado en la fuente del sistema. Más adelante hablaremos de la carga de un archivo fuente personalizada, que se puede utilizar para sustituir este valor.

Al igual que con Window debemos estar seguros de destruir cada elemento que creamos. Haremos esto enmain_window_unload() para mantener la gestión del TextLayer completamente dentro de la carga y descarga de la Window que está asociado. Esta función ahora debería tener este aspecto:

  static void main_window_unload (Ventana * ventana) {
     // Destruye TextLayer
     text_layer_destroy (s_time_layer);
 }

 

Esto completa la configuración del diseño básico su esfera. Si regresa a ‘Compilación’ e instalar una nueva construcción, ahora debería ver lo siguiente:

TextLayer

El paso final es conseguir la hora actual y mostrarlo usando el TextLayer Esto se hace con elTickTimerService

Decir la hora

El TickTimerService es un servicio de eventos que permite el acceso a la hora actual mediante la suscripción de una función que se ejecute siempre que cambie el tiempo. Normalmente esto puede ser cada minuto, pero también puede ser cada hora, o cada segundo. Sin embargo, este último incurrirá en costos de baterías adicionales, por lo que usarlo con moderación. Podemos hacer esto llamandotick_timer_service_subscribe() pero primero tenemos que crear una función para dar el servicio de llamar siempre que cambie el tiempo, y debe coincidir con esta firma:

  estática tick_handler void (struct tm * tick_time, TimeUnits units_changed) {

 }

 

Esto significa que cada vez que el tiempo cambia, contamos con una estructura de datos de tipo struct tmcontiene la hora actual en varias formas, así como constantes TimeUnits valor que nos dice que la unidad ha cambiado, para permitir el filtrado de la conducta. Con nuestra TickHandler creado, podemos registrarlo con el servicio de sucesos en init() así:

  // Regístrate con TickTimerService
 tick_timer_service_subscribe (MINUTE_UNIT, tick_handler);

 

La lógica para actualizar el tiempo TextLayer se creará en una llamada de función update_time() lo que nos permite llamar tanto desde el TickHandler así como main_window_load() para asegurarse de que está mostrando la vez desde el principio.

Esta función utilizará strftime() (Ver aquí para el formato) para extraer las horas y los minutos de la struct tm estructura de datos y escribir en un búfer de caracteres. Este tampón es requerido por TextLayer ser de larga vida, siempre y cuando el texto se va a mostrar, ya que no se copia en la TextLayer sino que simplemente hace referencia. Logramos esto haciendo el buffer static por lo que persiste a través de múltiples llamadas a update_time() Por lo tanto, esta función debe ser creado antes demain_window_load() y el siguiente aspecto:

  estática update_time void () {
   // Obtener una estructura tm
   temp time_t = tiempo (NULL); 
   struct tm * tick_time = localtime (y temporal);

   // Crear un buffer de larga duración
   char buffer estático [] = "00:00";

   // Escribir las horas actuales y minutos en el búfer
   si (clock_is_24h_style () == true) {
     // Usar el formato de 24 horas
     strftime (tampón, sizeof ("00:00"), "% H:% M", tick_time);
   } Else {
     // Usar formato de 12 horas
     strftime (tampón, sizeof ("00:00"), "% I:% M", tick_time);
   }

   // Muestra este tiempo en el TextLayer
   text_layer_set_text (s_time_layer, tampón);
 }

 

Nuestra TickHandler sigue a la firma de la función correcta y contiene sólo una sola llamada aupdate_time() para hacer precisamente eso:

  estática tick_handler void (struct tm * tick_time, TimeUnits units_changed) {
   update_time ();
 }

 

Por último, init() debe ser modificada incluyen una llamada a update_time() despuéswindow_stack_push() para garantizar el tiempo se muestra correctamente cuando se carga su esfera:

  // Asegúrese de que el tiempo se muestra desde el principio
 update_time ();

 

Desde ahora podemos mostrar el tiempo que puede quitar la llamada a text_layer_set_text() enmain_window_load() ya que ya no es necesario para poner a prueba la disposición.

Vuelva a compilar y volver a instalar el su esfera en el Callao, y debería tener este aspecto:

final result

 

Fuente aqui