Beispiel #1
0
void handle_init(AppContextRef ctx) {

  window_init(&window, "Simplicity");
  window_stack_push(&window, true /* Animated */);
  window_set_background_color(&window, GColorBlack);

  resource_init_current_app(&APP_RESOURCES);

  layer_init(&time_layer, GRect(0, 12, 144, 168-68));
  layer_add_child(&window.layer, &time_layer);

  text_layer_init(&text_date_layer, window.layer.frame);
  text_layer_set_text_color(&text_date_layer, GColorWhite);
  text_layer_set_background_color(&text_date_layer, GColorClear);
  layer_set_frame(&text_date_layer.layer, GRect(8, 0, 144-8, 168-68));
  text_layer_set_font(&text_date_layer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ROBOTO_CONDENSED_21)));
  layer_add_child(&time_layer, &text_date_layer.layer);


  text_layer_init(&text_time_layer, window.layer.frame);
  text_layer_set_text_color(&text_time_layer, GColorWhite);
  text_layer_set_background_color(&text_time_layer, GColorClear);
  layer_set_frame(&text_time_layer.layer, GRect(7, 24, 144-7, 168-92));
  text_layer_set_font(&text_time_layer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ROBOTO_BOLD_SUBSET_49)));
  layer_add_child(&time_layer, &text_time_layer.layer);


  layer_init(&line_layer, window.layer.frame);
  line_layer.update_proc = &line_layer_update_callback;
  layer_add_child(&time_layer, &line_layer);

  layer_init(&car_layer, GRect(0, 90, 144, 168-90));
  layer_add_child(&window.layer, &car_layer);

  text_layer_init(&text_rated_layer, window.layer.frame);
  text_layer_set_text_color(&text_rated_layer, GColorWhite);
  text_layer_set_background_color(&text_rated_layer, GColorClear);
  layer_set_frame(&text_rated_layer.layer, GRect(8, 0, 144-8, 168-68));
  text_layer_set_font(&text_rated_layer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ROBOTO_CONDENSED_21)));
  layer_add_child(&car_layer, &text_rated_layer.layer);
	
  text_layer_init(&text_state_layer, window.layer.frame);
  text_layer_set_text_color(&text_state_layer, GColorWhite);
  text_layer_set_background_color(&text_state_layer, GColorClear);
  layer_set_frame(&text_state_layer.layer, GRect(8, 20, 144-8, 168-68));
  text_layer_set_font(&text_state_layer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ROBOTO_CONDENSED_21)));
  layer_add_child(&car_layer, &text_state_layer.layer);
	
  layer_init(&battery_layer, GRect(72, 10, 144-70, 10));
  battery_layer.update_proc = &battery_layer_update_callback;
  layer_add_child(&car_layer, &battery_layer);

  Tuplet initial_values[] = {
    TupletInteger(TESLA_RATED_REMAIN_KEY, (uint16_t) 148),
    TupletCString(TESLA_STATE_STRING_KEY, "Charging"),
	TupletInteger(TESLA_BATTERY_PERCENT_KEY, (uint8_t) 72),
  };
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
                sync_tuple_changed_callback, sync_error_callback, NULL);
}
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  GRect bounds = layer_get_bounds(window_layer);

  s_icon_layer = bitmap_layer_create(GRect(32, 10, 80, 80));
  layer_add_child(window_layer, bitmap_layer_get_layer(s_icon_layer));

  s_temperature_layer = text_layer_create(GRect(0, 75, bounds.size.w, 68));
  text_layer_set_text_color(s_temperature_layer, GColorWhite);
  text_layer_set_background_color(s_temperature_layer, GColorClear);
  text_layer_set_font(s_temperature_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(s_temperature_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(s_temperature_layer));

  s_city_layer = text_layer_create(GRect(0, 105, bounds.size.w, 68));
  text_layer_set_text_color(s_city_layer, GColorWhite);
  text_layer_set_background_color(s_city_layer, GColorClear);
  text_layer_set_font(s_city_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(s_city_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(s_city_layer));

  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 1),
    TupletCString(WEATHER_TEMPERATURE_KEY, "1234\u00B0C"),
    TupletCString(WEATHER_CITY_KEY, "St Pebblesburg"),
  };

  app_sync_init(&s_sync, s_sync_buffer, sizeof(s_sync_buffer), 
      initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL
  );

  request_weather();
}
Beispiel #3
0
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  
  temperature_layer = text_layer_create(GRect(0, 140, 155, 40));
  text_layer_set_text_color(temperature_layer, GColorWhite);
  text_layer_set_background_color(temperature_layer, GColorBlack);
  text_layer_set_font(temperature_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(temperature_layer, GTextAlignmentCenter);
  text_layer_set_text(temperature_layer, temperature);

  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 1),
    TupletCString(WEATHER_TEMPERATURE_KEY, "1234\u00B0C"),
  };
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);

  layer_add_child(window_layer, text_layer_get_layer(temperature_layer));
  
  s_time_layer = text_layer_create(GRect(0, 0, 150, 40));
  text_layer_set_background_color(s_time_layer, GColorBlack);
  text_layer_set_text_color(s_time_layer, GColorWhite);
  text_layer_set_text(s_time_layer, "00:00:00");
  
  text_layer_set_font(s_time_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28));
  text_layer_set_text_alignment(s_time_layer, GTextAlignmentCenter);
  
  layer_add_child(window_get_root_layer(window), text_layer_get_layer(s_time_layer));
  
  changeWeatherCode(0);
  
  timer = app_timer_register(delta, (AppTimerCallback) timer_callback, NULL);
}
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);

  icon_layer = bitmap_layer_create(GRect(12, -5, 120, 120));
  layer_add_child(window_layer, bitmap_layer_get_layer(icon_layer));

  temperature_layer = text_layer_create(GRect(0, 100, 144, 68));
  text_layer_set_text_color(temperature_layer, GColorWhite);
  text_layer_set_background_color(temperature_layer, GColorClear);
  text_layer_set_font(temperature_layer, fonts_get_system_font(FONT_KEY_BITHAM_42_LIGHT));
  text_layer_set_text_alignment(temperature_layer, GTextAlignmentCenter);
  text_layer_set_text(temperature_layer, temperature);

  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 0),
    TupletCString(WEATHER_TEMPERATURE_KEY, "70\u00B0F"),
    TupletCString(WEATHER_REALFEEL_KEY, "70\u00B0F"),
  };
    
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);
  
  window_set_click_config_provider(window, (ClickConfigProvider) config_provider);

  layer_add_child(window_layer, text_layer_get_layer(temperature_layer));
}
Beispiel #5
0
static void init() {
  window = window_create();
  window_set_background_color(window, GColorBlack);
  window_set_fullscreen(window, true);

  icon_layer = bitmap_layer_create(GRect(32, 10, 80, 80));
  bitmap_layer_set_bitmap(icon_layer, icon_bitmap);
  layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(icon_layer));

  temperature_layer = text_layer_create(GRect(0, 100, 144, 68));
  text_layer_set_text_color(temperature_layer, GColorWhite);
  text_layer_set_background_color(temperature_layer, GColorClear);
  text_layer_set_font(temperature_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(temperature_layer, GTextAlignmentCenter);
  text_layer_set_text(temperature_layer, temperature);
  layer_add_child(window_get_root_layer(window), text_layer_get_layer(temperature_layer));

  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 1),
    TupletCString(WEATHER_TEMPERATURE_KEY, "1234\u00B0C"),
  };

  app_message_open(64, 64);
  send_cmd();

  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);


  window_stack_push(window, true /* Animated */);
}
Beispiel #6
0
/* Setup app message callbacks for weather */
void qtp_setup_app_message() {
#ifdef QTP_DEBUG
	APP_LOG(APP_LOG_LEVEL_DEBUG, "QTP: setting app message for weather");
#endif

	const int inbound_size = 100;
	const int outbound_size = 100;
	app_message_open(inbound_size, outbound_size);
	Tuplet initial_values[] = {
		TupletInteger(QTP_WEATHER_ICON_KEY, (uint8_t) 8),
		TupletCString(QTP_WEATHER_TEMP_F_KEY, "---\u00B0F"),
		TupletCString(QTP_WEATHER_TEMP_C_KEY, "---\u00B0F"),
		TupletCString(QTP_WEATHER_CITY_KEY, "Atlanta      "),
		TupletCString(QTP_WEATHER_DESC_KEY, "                       ")
	};
#ifdef QTP_DEBUG
	APP_LOG(APP_LOG_LEVEL_DEBUG, "QTP: weather tuples intialized");
#endif

	app_sync_init(&qtp_sync, qtp_sync_buffer, sizeof(qtp_sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
	  qtp_sync_changed_callback, qtp_sync_error_callback, NULL);
#ifdef QTP_DEBUG
	APP_LOG(APP_LOG_LEVEL_DEBUG, "QTP: weather app message initialized");
#endif

}
void openweather_init(void) {
  // init forecast structure
  forecast_data.day = calloc(OPENWEATHER_FCAST_DAYS, sizeof(ForecastDayType));

  // init json parser
  json_register_callbacks(object_callback, array_callback);

  // Open channel
  const int inbound_size = app_message_inbox_size_maximum();
  const int outbound_size = app_message_outbox_size_maximum();
  APP_LOG(APP_LOG_LEVEL_DEBUG, "Determined sizes: Inbox %u Outbox %u", inbound_size, outbound_size);  

  app_message_open(inbound_size, outbound_size);

  // Init sync
  Tuplet initial_values[] = {
    TupletCString(OPENWEATHER_KEY, "")
  };
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);

  // Set update
  set_timer(OPENWEATHER_REFRESH_INTERVAL);

}
Beispiel #8
0
// Init function to handle the creation of layers,
// event subscribing, etc
void handle_init(void) 
{
	// window init
	window = window_create();
	window_stack_push(window, true);
	window_set_background_color(window, GColorWhite);

	// display layer
	Layer *window_layer = window_get_root_layer(window);
	
	// background
	leafs = gbitmap_create_with_resource(RESOURCE_ID_BKNG);
	leafs_layer = bitmap_layer_create(GRect(0, 0, WATCH_WIDTH, WATCH_HEIGHT));
	bitmap_layer_set_bitmap(leafs_layer, leafs);
	layer_add_child(window_layer, bitmap_layer_get_layer(leafs_layer));
	
	GFont prox_reg = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_PROXIMA_REGULAR_16));
	GFont prox_bold = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_PROXIMA_BOLD_30));

	// time init
	text_time_layer = text_layer_create(GRect(55, 100,(WATCH_WIDTH - 55), 50));
	text_layer_set_font(text_time_layer, prox_bold);
	text_layer_set_background_color(text_time_layer, GColorClear);
    layer_add_child(window_layer, text_layer_get_layer(text_time_layer));
	
	// date init
	text_date_layer = text_layer_create(GRect(55, 130, (WATCH_WIDTH - 55), 20));
	text_layer_set_font(text_date_layer, prox_reg);
	text_layer_set_background_color(text_date_layer, GColorClear);
    layer_add_child(window_layer, text_layer_get_layer(text_date_layer));
	
	// score init
	text_score_layer = text_layer_create(GRect(55, 15, (WATCH_WIDTH - 55), 20));
	text_layer_set_font(text_score_layer, prox_reg);
	text_layer_set_text_color(text_score_layer, GColorWhite);
	text_layer_set_background_color(text_score_layer, GColorClear);
    layer_add_child(window_layer, text_layer_get_layer(text_score_layer));

 	//update_display(tick_time);
	tick_timer_service_subscribe(MINUTE_UNIT, handle_minute_tick);
	
	// AppSync stuff
	const int inbound_size = 64;
	const int outbound_size = 64;
	app_message_open(inbound_size, outbound_size);
	
	Tuplet initial_values[] = {
		TupletCString(0, "0-0")
	};
	
	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
				 sync_tuple_changed_callback, sync_error_callback, NULL);
	
	send_cmd();
	
	// setting up timer to send cmds for updates
	timer = app_timer_register(10000, timer_callback, NULL);
}
Beispiel #9
0
static void window_load(Window *window) {
	Layer *window_layer = window_get_root_layer(window);
	
	font_last_price_small = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_DIAVLO_MEDIUM_39));
	font_last_price_large = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_DIAVLO_MEDIUM_39));
  font_hash_large = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_DIAVLO_MEDIUM_39));
	
	text_five_layer = text_layer_create(GRect(0, 0, 144-0, 168-0));
	text_layer_set_text_color(text_five_layer, GColorWhite);
	text_layer_set_background_color(text_five_layer, GColorClear);
	text_layer_set_font(text_five_layer, font_last_price_large);
	text_layer_set_text_alignment(text_five_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(text_five_layer));
  
  text_hash_layer = text_layer_create(GRect(0, 64, 144-0, 168-40));
	text_layer_set_text_color(text_hash_layer, GColorWhite);
	text_layer_set_background_color(text_hash_layer, GColorClear);
	text_layer_set_font(text_hash_layer, fonts_get_system_font(FONT_KEY_ROBOTO_CONDENSED_21));
	text_layer_set_text_alignment(text_hash_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(text_hash_layer));
  

	
	
	text_date_layer = text_layer_create(GRect(8, 96, 144-8, 168-96));
	text_layer_set_text_color(text_date_layer, GColorWhite);
	text_layer_set_background_color(text_date_layer, GColorClear);
	text_layer_set_font(text_date_layer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_DIAVLO_15)));
	layer_add_child(window_layer, text_layer_get_layer(text_date_layer));
	
	text_time_layer = text_layer_create(GRect(7, 114, 144-7, 168-114));
	text_layer_set_text_color(text_time_layer, GColorWhite);
	text_layer_set_background_color(text_time_layer, GColorClear);
	text_layer_set_font(text_time_layer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_DIAVLO_HEAVY_44)));
	layer_add_child(window_layer, text_layer_get_layer(text_time_layer));
	
	tick_timer_service_subscribe(MINUTE_UNIT, handle_minute_tick);
	
	time_t now = time(NULL);
	struct tm *t = localtime(&now);
	update_time(t);
	
	Tuplet initial_values[] = {
		TupletCString(FIVE_HASH, "---"),
    //TupletCString(FIVE_HASH, "---"),
//		TupletCString(HOUR_HASH, "---"),
		TupletInteger(INVERT_COLOR_KEY, persist_read_bool(INVERT_COLOR_KEY)),
	};
	
	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
				  sync_tuple_changed_callback, sync_error_callback, NULL);
	
	//send_cmd();last_price
	timer = app_timer_register(2000, timer_callback, NULL);
	//set_timer();
}
Beispiel #10
0
  // This function will set up all the text layers and will initialize the App_Sync.
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  
  //setting up the layer that displays the cardinal direction.
  direction_layer = text_layer_create(GRect(0, 60, 144, 68));
  text_layer_set_text_color(direction_layer, GColorBlack);
  text_layer_set_background_color(direction_layer, GColorClear);
  text_layer_set_font(direction_layer, fonts_get_system_font(FONT_KEY_BITHAM_42_BOLD));
  text_layer_set_text_alignment(direction_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(direction_layer));
  
  
  // Setting up top-most text layer. 
  top_layer = text_layer_create(GRect(50, 0, 100, 25));
  text_layer_set_text_color(top_layer, GColorBlack);
  text_layer_set_background_color(top_layer, GColorClear);
  text_layer_set_font(top_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(top_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(top_layer));
  text_layer_set_text(top_layer, "Numeric");
  
  // Setting up bottom-most text layer. 
  bottom_layer = text_layer_create(GRect(50, 140, 100, 30));
  text_layer_set_text_color(bottom_layer, GColorBlack);
  text_layer_set_background_color(bottom_layer, GColorClear);
  text_layer_set_font(bottom_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(bottom_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(bottom_layer));
  text_layer_set_text(bottom_layer, "Character");
  
  
  // Setting up "Open App" text layer. 
  init_layer = text_layer_create(GRect(0, 45, 144, 80));
  text_layer_set_text_color(init_layer, GColorBlack);
  text_layer_set_background_color(init_layer, GColorClear);
  text_layer_set_font(init_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(init_layer, GTextAlignmentCenter);
  text_layer_set_text(init_layer, "Please open the Android companion app, then choose a compass type.");  
  layer_add_child(window_layer, text_layer_get_layer(init_layer));
  
  
  Tuplet initial_values[]= {
    TupletCString(DIRECTION_KEY, "Loading...."),
    TupletCString(NUM_DIRECTION_KEY, "Loading...."),
   };
    
  
  // Initializing App_Sync!
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values), sync_tuple_changed_callback, sync_error_callback, NULL);

  send_cmd();
  
}
Beispiel #11
0
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  
  gridpower_layer = text_layer_create(GRect(0, 10, 144, 68));
  text_layer_set_text_color(gridpower_layer, GColorBlack);
  text_layer_set_background_color(gridpower_layer, GColorClear);
  text_layer_set_font(gridpower_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(gridpower_layer, GTextAlignmentLeft);
  layer_add_child(window_layer, text_layer_get_layer(gridpower_layer));
  
  
  dailyenery_layer = text_layer_create(GRect(0, 30, 144, 68));
  text_layer_set_text_color(dailyenery_layer, GColorBlack);
  text_layer_set_background_color(dailyenery_layer, GColorClear);
  text_layer_set_font(dailyenery_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(dailyenery_layer, GTextAlignmentLeft);
  layer_add_child(window_layer, text_layer_get_layer(dailyenery_layer));  
  
  montlyenergy_layer = text_layer_create(GRect(0, 50, 144, 68));
  text_layer_set_text_color(montlyenergy_layer, GColorBlack);
  text_layer_set_background_color(montlyenergy_layer, GColorClear);
  text_layer_set_font(montlyenergy_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(montlyenergy_layer, GTextAlignmentLeft);
  layer_add_child(window_layer, text_layer_get_layer(montlyenergy_layer));
  
  yearlyenergy_layer = text_layer_create(GRect(0, 70, 144, 68));
  text_layer_set_text_color(yearlyenergy_layer, GColorBlack);
  text_layer_set_background_color(yearlyenergy_layer, GColorClear);
  text_layer_set_font(yearlyenergy_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(yearlyenergy_layer, GTextAlignmentLeft);
  layer_add_child(window_layer, text_layer_get_layer(yearlyenergy_layer));
  
  totalenergy_layer = text_layer_create(GRect(0, 90, 144, 68));
  text_layer_set_text_color(totalenergy_layer, GColorBlack);
  text_layer_set_background_color(totalenergy_layer, GColorClear);
  text_layer_set_font(totalenergy_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
  text_layer_set_text_alignment(totalenergy_layer, GTextAlignmentLeft);
  layer_add_child(window_layer, text_layer_get_layer(totalenergy_layer));
  
  Tuplet initial_values[] = {
    TupletCString(SOLAR_GRIDPOWER, "Power:"),
    TupletCString(SOLAR_DAILYENERGY, "Daily:"),
    TupletCString(SOLAR_MONTHLYENERGY, "Monthly:"),
    TupletCString(SOLAR_YEARLYENERGY, "Yearly:"),
    TupletCString(SOLAR_TOTALENERGY, "Total:"),
  };  
  
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);
  
  send_cmd(0);
  
}
Beispiel #12
0
static void config_init(void) {
    // no need for large inbox/outbox, just handling configuration messages
    app_message_open(100, 100);

    Tuplet initial_values[] = {
        TupletInteger(BACKGROUND_COLOR_KEY, pcb_background.argb),
        TupletInteger(SILKSCREEN_COLOR_KEY, pcb_silkscreen.argb)
    };
    app_sync_init(
        &s_sync, s_sync_buffer, sizeof(s_sync_buffer), 
        initial_values, ARRAY_LENGTH(initial_values), 
        sync_changed_handler, sync_error_handler, NULL);
}
Beispiel #13
0
static void window_load(Window *window) {

  window_set_background_color(window, BG_COLOR);

  window_layer = window_get_root_layer(window);  
  GRect bounds = layer_get_bounds(window_layer);

  bezel_layer = layer_create(bounds);
  layer_set_update_proc(bezel_layer, bezel_layer_update_proc);
  layer_add_child(window_layer, bezel_layer);

  direction_layer = layer_create(bounds);
  layer_set_update_proc(direction_layer, direction_layer_update_proc);
  layer_add_child(window_layer, direction_layer);

  heading_layer = layer_create(GRect(27, 37, 90, 85));
  layer_set_update_proc(heading_layer, heading_update_proc);
  layer_add_child(window_layer, heading_layer);

  heading_text_label = text_layer_create(GRect(0, 0, 90, 45));
  text_layer_set_text(heading_text_label, "N");
  text_layer_set_text_color(heading_text_label, FG_COLOR);
  text_layer_set_background_color(heading_text_label, GColorClear);
  text_layer_set_text_alignment(heading_text_label, GTextAlignmentCenter);
  text_layer_set_font(heading_text_label, fonts_get_system_font(FONT_KEY_BITHAM_42_BOLD));
  layer_add_child(heading_layer, text_layer_get_layer(heading_text_label));

  heading_angle_label = text_layer_create(GRect(0, 45, 90, 40));
  text_layer_set_text(heading_angle_label, "0°");
  text_layer_set_text_color(heading_angle_label, FG_COLOR);
  text_layer_set_background_color(heading_angle_label, GColorClear);
  text_layer_set_text_alignment(heading_angle_label, GTextAlignmentCenter);
  text_layer_set_font(heading_angle_label, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
  layer_add_child(heading_layer, text_layer_get_layer(heading_angle_label));

  status_layer = text_layer_create(GRect(30, 50, 86, 55));
  text_layer_set_text_color(status_layer, FG_COLOR);
  text_layer_set_background_color(status_layer, GColorClear);
  text_layer_set_text_alignment(status_layer, GTextAlignmentCenter);
  text_layer_set_font(status_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
  layer_add_child(window_layer, text_layer_get_layer(status_layer));

  Tuplet initial_values[] = {
    TupletInteger(LOCATION_HEADING_KEY, (int16_t) STATUS_WAITING),
  };

  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);
}
Beispiel #14
0
static void window_load(Window *window) {
    Layer *window_layer = window_get_root_layer(window);
    
    datetime_layer = text_layer_create(GRect(0, 100, 144, 22));
    text_layer_set_text_color(datetime_layer, GColorBlack);
    text_layer_set_background_color(datetime_layer, GColorWhite);
    text_layer_set_font(datetime_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
    text_layer_set_text_alignment(datetime_layer, GTextAlignmentCenter);
    layer_add_child(window_layer, text_layer_get_layer(datetime_layer));
    
    icon_layer = bitmap_layer_create(GRect(84, 0, 60, 60));
    layer_add_child(window_layer, bitmap_layer_get_layer(icon_layer));
    
    bg_layer = text_layer_create(GRect(0, 5, 83, 68));
    text_layer_set_text_color(bg_layer, GColorWhite);
    text_layer_set_background_color(bg_layer, GColorClear);
    text_layer_set_font(bg_layer, fonts_get_system_font(FONT_KEY_BITHAM_42_MEDIUM_NUMBERS));
    text_layer_set_text_alignment(bg_layer, GTextAlignmentCenter);
    layer_add_child(window_layer, text_layer_get_layer(bg_layer));
    
    readtime_layer = text_layer_create(GRect(0, 48, 144, 115));
    text_layer_set_text_color(readtime_layer, GColorWhite);
    text_layer_set_background_color(readtime_layer, GColorClear);
    text_layer_set_font(readtime_layer, fonts_get_system_font(FONT_KEY_BITHAM_42_LIGHT));
    text_layer_set_text_alignment(readtime_layer, GTextAlignmentCenter);
    layer_add_child(window_layer, text_layer_get_layer(readtime_layer));
    
    message_layer = text_layer_create(GRect(0, 124, 144, 68));
    text_layer_set_text_color(message_layer, GColorBlack);
    text_layer_set_background_color(message_layer, GColorWhite);
    text_layer_set_font(message_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
    text_layer_set_text_alignment(message_layer, GTextAlignmentCenter);
    layer_add_child(window_layer, text_layer_get_layer(message_layer));
    
    Tuplet initial_values[] = {
        TupletInteger(CGM_ICON_KEY, (uint8_t) 4),
        TupletCString(CGM_BG_KEY, ""),
        TupletCString(CGM_READTIME_KEY, ""),
        TupletInteger(CGM_ALERT_KEY, 0),
        TupletCString(CGM_TIME_NOW, "loading..."),
        TupletCString(CGM_DELTA_KEY, " ")
    };

    app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),sync_tuple_changed_callback, sync_error_callback, NULL);

    timer = app_timer_register(100, timer_callback, NULL);
}
Beispiel #15
0
static void app_init(AppContextRef c) {

  s_data.current_icon = 0;

  resource_init_current_app(&WEATHER_APP_RESOURCES);

  Window* window = &s_data.window;
  window_init(window, "PebbleWeather");
  window_set_background_color(window, GColorBlack);
  window_set_fullscreen(window, true);

  // Weather icon layer
  GRect icon_rect = (GRect) {(GPoint) {32, 10}, (GSize) { 80, 80 }};
  bitmap_layer_init(&s_data.icon_layer, icon_rect);
  layer_add_child(&window->layer, &s_data.icon_layer.layer);

  // Temperature text layer
  text_layer_init(&s_data.temperature_layer, GRect(0, 100, 144, 34));
  text_layer_set_text_color(&s_data.temperature_layer, GColorWhite);
  text_layer_set_background_color(&s_data.temperature_layer, GColorClear);
  text_layer_set_font(&s_data.temperature_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(&s_data.temperature_layer, GTextAlignmentCenter);
  layer_add_child(&window->layer, &s_data.temperature_layer.layer);

  // Time text layer
  text_layer_init(&s_data.time_layer, GRect(0, 134, 144, 34));
  text_layer_set_text_color(&s_data.time_layer, GColorWhite);
  text_layer_set_background_color(&s_data.time_layer, GColorClear);
  text_layer_set_font(&s_data.time_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(&s_data.time_layer, GTextAlignmentCenter);
  handle_minute_tick(c, NULL);
  layer_add_child(&window->layer, &s_data.time_layer.layer);

  // Watch <--> Phone communication
  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 1),
    TupletCString(WEATHER_TEMPERATURE_KEY, "-\u00B0C"),
  };
  app_sync_init(&s_data.sync, s_data.sync_buffer, sizeof(s_data.sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
                sync_tuple_changed_callback, sync_error_callback, NULL);
  request_weather_update();

  window_stack_push(window, true);

}
Beispiel #16
0
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);

  lattitude_layer = text_layer_create(GRect(0, 15, 144, 68));
  text_layer_set_text_color(lattitude_layer, GColorWhite);
  text_layer_set_background_color(lattitude_layer, GColorClear);
  text_layer_set_font(lattitude_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD));
  text_layer_set_text_alignment(lattitude_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(lattitude_layer));

  longitude_layer = text_layer_create(GRect(0, 35, 144, 68));
  text_layer_set_text_color(longitude_layer, GColorWhite);
  text_layer_set_background_color(longitude_layer, GColorClear);
  text_layer_set_font(longitude_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD));
  text_layer_set_text_alignment(longitude_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(longitude_layer));
  
  tracking_layer = text_layer_create(GRect(0, 65, 144, 68));
  text_layer_set_text_color(tracking_layer, GColorWhite);
  text_layer_set_background_color(tracking_layer, GColorClear);
  text_layer_set_font(tracking_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD));
  text_layer_set_text_alignment(tracking_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(tracking_layer));
  
  activity_layer = text_layer_create(GRect(0, 95, 144, 68));
  text_layer_set_text_color(activity_layer, GColorWhite);
  text_layer_set_background_color(activity_layer, GColorClear);
  text_layer_set_font(activity_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD));
  text_layer_set_text_alignment(activity_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(activity_layer));

  Tuplet initial_values[] = {
    TupletCString(TRIPCHAIN_LATTITUDE_KEY, "60.1833\u00B0 N"),
    TupletCString(TRIPCHAIN_LONGITUDE_KEY, "24.8333\u00B0 E"),
    TupletCString(TRIPCHAIN_TRACKING_KEY, "Not tracking"),
    TupletCString(TRIPCHAIN_ACTIVITY_KEY, "default"),
    
    
  };

  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);

  send_cmd();
}
void controller_init() {
  app_message_register_outbox_sent(outbox_sent_callback);
  app_message_register_outbox_failed(outbox_failed_callback);
  
  // Open AppMessage
  app_message_open(app_message_inbox_size_maximum(), app_message_outbox_size_maximum());
  
  // Setup initial values
  Tuplet initial_values[] = {
    TupletCString(KEY_TEMPERATURE, ""),
    TupletCString(KEY_CONDITIONS, "Weather …"),
    TupletCString(KEY_PING_MGS, "?"),
    TupletCString(KEY_TRIGGER_MSG, ""),
    TupletCString(KEY_TEMPERATURE_US, "")
  };

  // Begin using AppSync
  app_sync_init(&s_sync, s_sync_buffer, sizeof(s_sync_buffer), initial_values, ARRAY_LENGTH(initial_values), sync_changed_handler, sync_error_handler, NULL);
}
static void init_clock(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  GRect bounds = layer_get_bounds(window_layer);

  time_layer = text_layer_create(GRect(0, 30, bounds.size.w, bounds.size.h-100));
  text_layer_set_text_alignment(time_layer, GTextAlignmentCenter);
  text_layer_set_text_color(time_layer, GColorWhite);
  text_layer_set_background_color(time_layer, GColorClear);
  text_layer_set_font(time_layer, fonts_get_system_font(FONT_KEY_ROBOTO_BOLD_SUBSET_49));

  time_t now = time(NULL);
  struct tm *current_time = localtime(&now);
  handle_tick(current_time, MINUTE_UNIT);
  tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
  layer_add_child(window_get_root_layer(window), text_layer_get_layer(time_layer));

  temp_layer = text_layer_create(GRect(0, 130, (bounds.size.w/2), bounds.size.h-130));
  text_layer_set_text_color(temp_layer, GColorBlack);
  text_layer_set_text_alignment(temp_layer, GTextAlignmentCenter);
  text_layer_set_background_color(temp_layer, GColorWhite);
  text_layer_set_overflow_mode(temp_layer, GTextOverflowModeFill);
  text_layer_set_font(temp_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  layer_add_child(window_get_root_layer(window), text_layer_get_layer(temp_layer));

  aqi_value_layer = text_layer_create(GRect(bounds.size.w/2, 130, (bounds.size.w/2), bounds.size.h-130));
  text_layer_set_text_color(aqi_value_layer, GColorBlack);
  text_layer_set_text_alignment(aqi_value_layer, GTextAlignmentCenter);
  text_layer_set_background_color(aqi_value_layer, GColorWhite);
  text_layer_set_overflow_mode(aqi_value_layer, GTextOverflowModeFill);
  text_layer_set_font(aqi_value_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  layer_add_child(window_layer, text_layer_get_layer(aqi_value_layer));

  int aqi = persist_exists(AQI) ? persist_read_int(AQI) : -1;
  int temperature = persist_exists(TEMPERATURE) ? persist_read_int(TEMPERATURE) : -1;
  Tuplet initial_values[] = {
     TupletInteger(AQI, aqi),
     TupletInteger(TEMPERATURE, temperature)
  };

  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);
}
Beispiel #19
0
void init(void) {
  // Init the global stuff
	window = window_create();
	window_stack_push(window, true);
  
  Layer *window_layer = window_get_root_layer(window);
  GRect window_bounds = layer_get_bounds(window_layer);
  
  last_hour = -1;
  last_minute = -1;
  
  // Get local values and set them as a defaults
  seconds = persist_read_int(setting_seconds);
  background = persist_read_int(setting_background);
  info = persist_read_int(setting_info);
  digital = persist_read_int(setting_digital);
  
  // Load settings 
  Tuplet tuples[] = {
    TupletInteger(setting_seconds, seconds),
    TupletInteger(setting_background, background),
    TupletInteger(setting_info, info),
    TupletInteger(setting_digital, digital)
  };
  app_message_open(160, 160);
  app_sync_init(&app, buffer, sizeof(buffer), tuples, ARRAY_LENGTH(tuples),
                tuple_changed_callback, app_error_callback, NULL);
  
  // Init background
  background_bitmap = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_BACKGROUND);  
  background_simple_bitmap = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_BACKGROUND_SIMPLE);
  background_layer = bitmap_layer_create(window_bounds);
  bitmap_layer_set_bitmap(background_layer, (background == background_simple) ? background_simple_bitmap : background_bitmap);
  layer_add_child(window_layer, bitmap_layer_get_layer(background_layer));
  
  // Init info
  info_container = layer_create(window_bounds);  
  layer_add_child(window_layer, info_container);
  
  info_layer = layer_create(window_bounds);
  
  bluetooth_layer = text_layer_create((GRect) { .origin = { 0, 0 }, .size = { 44, 18 } });
Beispiel #20
0
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);


  temperature_layer = text_layer_create(GRect(0, 100, 144, 68));
  text_layer_set_text_color(temperature_layer, GColorWhite);
  text_layer_set_background_color(temperature_layer, GColorClear);
  text_layer_set_font(temperature_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(temperature_layer, GTextAlignmentCenter);
  text_layer_set_text(temperature_layer, temperature);

  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 1),
    TupletCString(WEATHER_TEMPERATURE_KEY, "Trader Watch"),
  };
  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);

  layer_add_child(window_layer, text_layer_get_layer(temperature_layer));
}
Beispiel #21
0
static void window_load(Window *window) {
 Layer *window_layer = window_get_root_layer(window);
 
 icon_layer = bitmap_layer_create(GRect(32, 10, 80, 80));
 layer_add_child(window_layer, bitmap_layer_get_layer(icon_layer));
 
 // topLayer = text_layer_create(GRect(0, 35, 144, 68));
 // text_layer_set_text_color(topLayer, GColorBlack);
 // text_layer_set_background_color(topLayer, GColorClear);
 // text_layer_set_font(topLayer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
 // text_layer_set_text_alignment(topLayer, GTextAlignmentCenter);
 // layer_add_child(window_layer, text_layer_get_layer(name_layer));
 
 name_layer = text_layer_create(GRect(0, 55, 144, 68));
 text_layer_set_text_color(name_layer, GColorBlack);
 text_layer_set_background_color(name_layer, GColorClear);
 text_layer_set_font(name_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
 text_layer_set_text_alignment(name_layer, GTextAlignmentCenter);
 layer_add_child(window_layer, text_layer_get_layer(name_layer));
 
 phone_layer = text_layer_create(GRect(0, 135, 144, 68));
 text_layer_set_text_color(phone_layer, GColorBlack);
 text_layer_set_background_color(phone_layer, GColorClear);
 text_layer_set_font(phone_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
 text_layer_set_text_alignment(phone_layer, GTextAlignmentCenter);
 layer_add_child(window_layer, text_layer_get_layer(phone_layer));
 
 Tuplet initial_values[] = {
   TupletInteger(ID_KEY, (uint8_t) 1),
   TupletCString(NAME_KEY, "Neel"),
   TupletCString(PHONE_KEY, "Ready")
 };
 
 app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
     sync_tuple_changed_callback, sync_error_callback, NULL);
 
 //send_cmd();
}
Beispiel #22
0
/*----------------------------------------------------------------------------*/
static void window_load(Window * window)
{
  APP_LOG(APP_LOG_LEVEL_INFO, "%s", __FUNCTION__);

  /* This is just a dummy structure used for initializaton only. */
  Tuplet vector_dict[] = {
    TupletInteger(PP_KEY_CMD, PP_CMD_INVALID),
    TupletInteger(PP_KEY_X, (int) 0x11111111),
    TupletInteger(PP_KEY_Y, (int) 0x22222222),
    TupletInteger(PP_KEY_Z, (int) 0x33333333),
  };

  syncChangeCount = ARRAY_LENGTH(vector_dict);

  app_sync_init( &sync,
                 sync_buffer, sizeof(sync_buffer),
                 vector_dict, ARRAY_LENGTH(vector_dict),
                 sync_tuple_changed_callback,
                 sync_error_callback,
                 NULL );

  syncStats.sync_set++;
}
Beispiel #23
0
static void window_load(Window *window) {
    Layer *window_layer = window_get_root_layer(window);
    GRect bounds = layer_get_bounds(window_layer);

    title_layer = text_layer_create(GRect(0, 0, 145, 70));
    text_layer_set_font(title_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
    text_layer_set_text(title_layer, "Network!");
    layer_add_child(window_layer, text_layer_get_layer(title_layer));

    subtitle_layer = text_layer_create(GRect(0, 30, 145, 70));
    text_layer_set_font(subtitle_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28));
    layer_add_child(window_layer, text_layer_get_layer(subtitle_layer));

    data_layer = text_layer_create(GRect(0, 75, 145, 70));
    text_layer_set_font(data_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
    layer_add_child(window_layer, text_layer_get_layer(data_layer));

    percentage_layer = text_layer_create(GRect(0, 100, 145, 70));
    text_layer_set_font(percentage_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
    layer_add_child(window_layer, text_layer_get_layer(percentage_layer));

    days_layer = text_layer_create(GRect(0, 125, 145, 70));
    text_layer_set_font(days_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
    layer_add_child(window_layer, text_layer_get_layer(days_layer));

    Tuplet initial_values[] = {
        TupletCString(0x0, ""),
        TupletCString(0x1, ""),
        TupletCString(0x2, ""),
        TupletCString(0x3, "")
    };

    app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
                  sync_tuple_changed_callback, sync_error_callback, NULL);

    send_cmd();
}
Beispiel #24
0
static void init() {
  const int inbound_size = 128;
  const int outbound_size = 128;
  app_message_open(inbound_size, outbound_size);
  
  load_persistent_config();
  
  
  Tuplet initial_values[] = {
    TupletCString(DialColor_KEY, configs.dialcolor),
    TupletCString(SecondHandOption_KEY, configs.secondhandoption),
    TupletCString(DateOption_KEY, configs.dateoption),
    TupletCString(HourlyVibration_KEY, configs.hourlyvibration),
    TupletInteger(BluetoothStatusDetection_KEY, configs.bluetoothstatusdetection)
  };
  
  app_sync_init(&s_sync, s_sync_buffer, sizeof(s_sync_buffer), initial_values, ARRAY_LENGTH(initial_values), s_sync_tuple_changed_callback, NULL, NULL);
  
  
  s_window = window_create();
  window_set_window_handlers(s_window, (WindowHandlers) {
    .load = window_load,
    .unload = window_unload,
  });
void handle_init(void) {
  window = window_create();
  window_stack_push(window, true /* Animated */);
  window_set_background_color(window, GColorBlack);

  Layer *window_layer = window_get_root_layer(window);

  // Setup weather bar
  Layer *weather_holder = layer_create(GRect(0, 0, 144, 50));
  layer_add_child(window_layer, weather_holder);

  icon_layer = bitmap_layer_create(GRect(8, 7, 40, 40));
  layer_add_child(weather_holder, bitmap_layer_get_layer(icon_layer));

  temp_layer = text_layer_create(GRect(32, 10, 144 - 40, 28));
  text_layer_set_text_color(temp_layer, GColorWhite);
  text_layer_set_background_color(temp_layer, GColorClear);
  text_layer_set_font(temp_layer,
      fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  text_layer_set_text_alignment(temp_layer, GTextAlignmentRight);
  layer_add_child(weather_holder, text_layer_get_layer(temp_layer));

  // Initialize date & time text
  Layer *date_holder = layer_create(GRect(0, 52, 144, 94));
  layer_add_child(window_layer, date_holder);

  ResHandle roboto_21 = resource_get_handle(RESOURCE_ID_FONT_ROBOTO_CONDENSED_21);
  text_day_layer = text_layer_create(GRect(8, 0, 144-8, 25));
  text_layer_set_text_color(text_day_layer, GColorWhite);
  text_layer_set_background_color(text_day_layer, GColorClear);
  text_layer_set_font(text_day_layer, fonts_load_custom_font(roboto_21));
  layer_add_child(date_holder, text_layer_get_layer(text_day_layer));

  text_date_layer = text_layer_create(GRect(8, 21, 144-8, 25));
  text_layer_set_text_color(text_date_layer, GColorWhite);
  text_layer_set_background_color(text_date_layer, GColorClear);
  text_layer_set_font(text_date_layer, fonts_load_custom_font(roboto_21));
  layer_add_child(date_holder, text_layer_get_layer(text_date_layer));

  line_layer = layer_create(GRect(8, 47, 144-16, 2));
  layer_set_update_proc(line_layer, line_layer_update_callback);
  layer_add_child(date_holder, line_layer);
	
  line_layer = layer_create(GRect(8, 0, 144-16, 2));
  layer_set_update_proc(line_layer, line_layer_update_callback);
  layer_add_child(date_holder, line_layer);

  ResHandle roboto_49 = resource_get_handle(RESOURCE_ID_FONT_ROBOTO_BOLD_SUBSET_49);
  text_time_layer = text_layer_create(GRect(7, 45, 144-7, 49));
  text_layer_set_text_color(text_time_layer, GColorWhite);
  text_layer_set_background_color(text_time_layer, GColorClear);
  text_layer_set_text_alignment(text_time_layer, GTextAlignmentCenter);
  text_layer_set_font(text_time_layer, fonts_load_custom_font(roboto_49));
  layer_add_child(date_holder, text_layer_get_layer(text_time_layer));

  // Setup messaging
  const int inbound_size = 64;
  const int outbound_size = 64;
  app_message_open(inbound_size, outbound_size);

  Tuplet initial_values[] = {
    TupletInteger(WEATHER_ICON_KEY, (uint8_t) 13),
    TupletCString(WEATHER_TEMPERATURE_KEY, ""),
    TupletInteger(INVERT_COLOR_KEY, persist_read_bool(INVERT_COLOR_KEY)),
  };

  app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values,
                ARRAY_LENGTH(initial_values), sync_tuple_changed_callback,
                NULL, NULL);

  // FIXME testing code
  battery_text_layer = text_layer_create(GRect(0, 53, 144-8, 30));
  text_layer_set_text_color(battery_text_layer, GColorWhite);
  text_layer_set_background_color(battery_text_layer, GColorClear);
  text_layer_set_font(battery_text_layer, fonts_load_custom_font(roboto_21));
  text_layer_set_text_alignment(battery_text_layer, GTextAlignmentRight);
  layer_add_child(window_layer, text_layer_get_layer(battery_text_layer));

  // Subscribe to notifications
  bluetooth_connection_service_subscribe(bluetooth_connection_changed);
  tick_timer_service_subscribe(MINUTE_UNIT, handle_minute_tick);
  battery_state_service_subscribe(update_battery_state);

  // Update the battery on launch
  update_battery_state(battery_state_service_peek());

  // TODO: Update display here to avoid blank display on launch?
}
Beispiel #26
0
static void window_load(Window *window) {
	Layer *window_layer = window_get_root_layer(window);
	
	// Add Mateocons Layer
	layer_add_child(window_layer, text_layer_get_layer(mateocons_layer));

	
	// Spot Name Layer
	spot_name_layer = text_layer_create(GRect(0, -6, 120, 52));
	text_layer_set_text_color(spot_name_layer, GColorWhite);
	text_layer_set_background_color(spot_name_layer, GColorClear);
	text_layer_set_font(spot_name_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
	text_layer_set_text_alignment(spot_name_layer, GTextAlignmentCenter);
	text_layer_set_overflow_mode(spot_name_layer, GTextOverflowModeWordWrap);
	layer_add_child(window_layer, text_layer_get_layer(spot_name_layer));

	//Surf Image Layer	
	icon_id_layer = bitmap_layer_create(GRect(22, 46, 80, 80));
	layer_add_child(window_layer, bitmap_layer_get_layer(icon_id_layer));
	
	// Water Temp Layer
	water_temp_layer = text_layer_create(GRect(24, 92, 40, 18));
	text_layer_set_text_color(water_temp_layer, GColorBlack);
	text_layer_set_background_color(water_temp_layer, GColorClear);
	text_layer_set_font(water_temp_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
	text_layer_set_text_alignment(water_temp_layer, GTextAlignmentLeft);
	layer_add_child(window_layer, text_layer_get_layer(water_temp_layer));
	
	// Surf Height Layer
	surf_ht_layer = text_layer_create(GRect(72, 76, 30, 24));
	text_layer_set_text_color(surf_ht_layer, GColorWhite);
	text_layer_set_background_color(surf_ht_layer, GColorClear);
	text_layer_set_font(surf_ht_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24));
	text_layer_set_text_alignment(surf_ht_layer, GTextAlignmentRight);
	layer_add_child(window_layer, text_layer_get_layer(surf_ht_layer));
			
	// Button Bar Layer
	bmp_button_bar = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_BUTTON_BAR);
	button_bar_layer = bitmap_layer_create(GRect(120, 0, 24, 152));
	bitmap_layer_set_bitmap(button_bar_layer, bmp_button_bar);
	layer_add_child(window_layer, bitmap_layer_get_layer(button_bar_layer));

	// Wind Layer
	wind_layer = text_layer_create(GRect(46, 122, 74, 32));
	text_layer_set_text_color(wind_layer, GColorWhite);
	text_layer_set_background_color(wind_layer, GColorClear);
	text_layer_set_font(wind_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24));
	text_layer_set_text_alignment(wind_layer, GTextAlignmentLeft);
	layer_add_child(window_layer, text_layer_get_layer(wind_layer));
	
	Tuplet initial_values[] = {
		TupletCString(INDEX_KEY, "refresh"),
		TupletInteger(SURF_ICON_ID_KEY, (uint8_t) 4),
		TupletCString(SURF_WIND_KEY, "Loading..."),
		TupletCString(SURF_SPOT_NAME_KEY, "SpitCast.com"),
		TupletCString(SURF_HT_KEY, "- ft"),
		TupletCString(WATER_TEMP_KEY, "--\u00B0F")
	};
	
	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
				  sync_tuple_changed_callback, sync_error_callback, NULL);
	
	send_cmd();
}
Beispiel #27
0
/* Initialize the application.
*/
void app_init(void)
{
    
    const int inbound_size = 64;
    const int outbound_size = 64;
    app_message_open(inbound_size, outbound_size);
    
    // restore values from persistent storage in case the phone isn't around
    sunrise_time = persist_exists(SUNRISE_STORAGE_KEY) ? persist_read_int(SUNRISE_STORAGE_KEY) : DEFAULT_SUN_TIME;
    
    sunset_time = persist_exists(SUNSET_STORAGE_KEY) ? persist_read_int(SUNSET_STORAGE_KEY) : DEFAULT_SUN_TIME;
    
    Tuplet initial_values[] = {
        TupletInteger(SUNRISE_TIME_KEY, sunrise_time),
        TupletInteger(SUNSET_TIME_KEY, sunset_time),
    };
    
    app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
      sync_tuple_changed_callback, sync_error_callback, NULL);
    
    
    
    
    // get sunrise/set times from the phone
    send_cmd();
    
    time_t t = time(NULL);
    struct tm *tick_time = localtime(&t);
    TimeUnits units_changed = SECOND_UNIT | MINUTE_UNIT | HOUR_UNIT | DAY_UNIT;
    ResHandle res_d;
    ResHandle res_t;
    Layer *window_layer;

    window = window_create();
    window_layer = window_get_root_layer(window);
    window_set_background_color(window, GColorBlack);

    res_d = resource_get_handle(RESOURCE_ID_FONT_ROBOTO_CONDENSED_21);
    res_t = resource_get_handle(RESOURCE_ID_FONT_ROBOTO_BOLD_SUBSET_49);
    font_date = fonts_load_custom_font(res_d);
    font_time = fonts_load_custom_font(res_t);

    text_day_layer = text_layer_create(GRect(8, 44 + MOVE_AMOUNT, 144-8, 168-44- MOVE_AMOUNT));
    text_layer_set_text_color(text_day_layer, GColorWhite);
    text_layer_set_background_color(text_day_layer, GColorClear);
    text_layer_set_font(text_day_layer, font_date);
    layer_add_child(window_layer, text_layer_get_layer(text_day_layer));

    text_date_layer = text_layer_create(GRect(8, 68 + MOVE_AMOUNT, 144-8, 168-68- MOVE_AMOUNT));
    text_layer_set_text_color(text_date_layer, GColorWhite);
    text_layer_set_background_color(text_date_layer, GColorClear);
    text_layer_set_font(text_date_layer, font_date);
    layer_add_child(window_layer, text_layer_get_layer(text_date_layer));

    text_time_layer = text_layer_create(GRect(7, 92 + MOVE_AMOUNT, 144-7, 168-92- MOVE_AMOUNT));
    text_layer_set_text_color(text_time_layer, GColorWhite);
    text_layer_set_background_color(text_time_layer, GColorClear);
    text_layer_set_font(text_time_layer, font_time);
    layer_add_child(window_layer, text_layer_get_layer(text_time_layer));
    
    text_sun_layer = text_layer_create(GRect(80, 138, 144-45, 168-80));
    text_layer_set_text_color(text_sun_layer, GColorWhite);
    text_layer_set_background_color(text_sun_layer, GColorClear);
    text_layer_set_font(text_sun_layer, font_date);
    layer_add_child(window_layer, text_layer_get_layer(text_sun_layer));
    
    line_layer = layer_create(GRect(0, 0, 144, 168));
    layer_set_update_proc(line_layer, line_layer_update_callback);
    layer_add_child(window_layer, line_layer);

    handle_minute_tick(tick_time, units_changed);
    update_sun_time(tick_time);
    
    window_stack_push(window, true /* Animated */);
    tick_timer_service_subscribe(MINUTE_UNIT, handle_minute_tick);
    
}
Beispiel #28
0
static void window_load(Window *window) {
    Layer *window_layer = window_get_root_layer(window); 
	
		Tuplet initial_values[] = {
			TupletCString(SERIES_KEY, "Formula 1"),
			//TupletInteger(ROUND_NUMBER_KEY, (int) 9),
			TupletCString(ROUND_NUMBER_KEY, "current"),
			TupletCString(SEASON_KEY, "2014"),
			TupletCString(ROUND_KEY, "getting sched"),
			TupletCString(RACENAME_KEY, "Finding Next Grand Prix"),
			TupletCString(LOCALITY_KEY, "Locating next circuit and location; continent"),
			TupletCString(DATE_KEY, "countwown to next race"),
			TupletCString(TIME_KEY, "Time key time key"),
			TupletInteger(OFFSET_KEY, (int) 7), 
	};

	GFont round_font = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ARIAL_17));
	GFont racename_font = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_ARIAL_BOLD_22));

	
	//create layers x, y, w, h
	title_layer = text_layer_create(GRect(0, 0, 144, 50));
	text_layer_set_text_alignment(title_layer, GTextAlignmentCenter);
	text_layer_set_background_color(title_layer, GColorClear);
	bar_layer = bitmap_layer_create(GRect(0, 33, 144, 10));
	flag = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_CHEQUERED_FLAG);
	bitmap_layer_set_bitmap(bar_layer, flag);
//	line_layer = text_layer_create(GRect(0, 36, 144, 1));
//	line_layer2 = text_layer_create(GRect(0, 39, 144, 1));
//	text_layer_set_background_color(line_layer, GColorBlack);
//	text_layer_set_background_color(line_layer2, GColorBlack);
	round_layer = text_layer_create(GRect(0, 42, 144, 50));
	text_layer_set_background_color(round_layer, GColorClear);
	text_layer_set_text_alignment(round_layer, GTextAlignmentCenter); 
	text_layer_set_overflow_mode(round_layer, GTextOverflowModeFill);
	text_layer_set_font(round_layer, round_font);
//	text_layer_set_font(round_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
	racename_layer = text_layer_create(GRect(2, 57, 142, 150));
//	text_layer_set_font(racename_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
	text_layer_set_font(racename_layer, racename_font); 
	text_layer_set_background_color(racename_layer, GColorClear);
	locality_layer = text_layer_create(GRect(2, 101, 242, 50));
//	text_layer_set_font(locality_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14));
	text_layer_set_font(locality_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_overflow_mode(locality_layer, GTextOverflowModeWordWrap);
	text_layer_set_text_alignment(locality_layer, GTextAlignmentLeft);
	text_layer_set_overflow_mode(locality_layer, GTextOverflowModeTrailingEllipsis);
	text_layer_set_background_color(locality_layer, GColorClear);
	date_layer = text_layer_create(GRect(0, 137, 144, 80));
//	text_layer_set_text_alignment(date_layer, GTextAlignmentCenter);
	text_layer_set_overflow_mode(date_layer, GTextOverflowModeWordWrap);
	text_layer_set_font(date_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
	text_layer_set_background_color(date_layer, GColorClear);
	text_layer_set_text_alignment(date_layer, GTextAlignmentCenter); 
	time_layer = text_layer_create(GRect(0-20, 168-40, 184, 20));
	text_layer_set_background_color(time_layer, GColorClear);
	text_layer_set_overflow_mode(time_layer, GTextOverflowModeTrailingEllipsis); 
	
	
	
	GFont custom_font_title = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_TAHOMA_BOLD_28));
	text_layer_set_font(title_layer, custom_font_title);
	
	layer_add_child(window_layer, text_layer_get_layer(title_layer));
//	layer_add_child(window_layer, text_layer_get_layer(line_layer));
//	layer_add_child(window_layer, text_layer_get_layer(line_layer2));
	layer_add_child(window_layer, bitmap_layer_get_layer(bar_layer));
	layer_add_child(window_layer, text_layer_get_layer(round_layer));
	layer_add_child(window_layer, text_layer_get_layer(racename_layer));
	layer_add_child(window_layer, text_layer_get_layer(locality_layer));
	layer_add_child(window_layer, text_layer_get_layer(date_layer));
//	layer_add_child(window_layer, text_layer_get_layer(time_layer));	
	
	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
	sync_tuple_changed_callback, sync_error_callback, NULL);
	
    tick_timer_service_subscribe(SECOND_UNIT, &handle_second_tick);
}
static void window_load(Window *window) {
	Layer *window_layer = window_get_root_layer(window);


	icon_layer = bitmap_layer_create(GRect(82, 0, 61, 61));

	layer_add_child(window_layer, bitmap_layer_get_layer(icon_layer));

	bg_layer = text_layer_create(GRect(0, 0, 83, 40));
	text_layer_set_text_color(bg_layer, GColorBlack);
	text_layer_set_background_color(bg_layer, GColorClear);
	text_layer_set_font(bg_layer, fonts_get_system_font(FONT_KEY_BITHAM_34_MEDIUM_NUMBERS));
	text_layer_set_text_alignment(bg_layer, GTextAlignmentLeft);
	layer_add_child(window_layer, text_layer_get_layer(bg_layer));




	readtime_layer = text_layer_create(GRect(0, 40, 144, 22));
	text_layer_set_text_color(readtime_layer, GColorBlack);
	text_layer_set_background_color(readtime_layer, GColorClear);
	text_layer_set_font(readtime_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
	text_layer_set_text_alignment(readtime_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(readtime_layer));

	name_layer = text_layer_create(GRect(0, 62, 144, 22));
	text_layer_set_text_color(name_layer, GColorBlack);
	text_layer_set_background_color(name_layer, GColorWhite);
	text_layer_set_font(name_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
	text_layer_set_text_alignment(name_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(name_layer));
	//text_layer_set_text(name_layer, "Phone\45 |NAME| Change");



	

	bg_2_layer = text_layer_create(GRect(0, 84, 144, 40));
	text_layer_set_text_color(bg_2_layer, GColorBlack);
	text_layer_set_background_color(bg_2_layer, GColorWhite);
	text_layer_set_font(bg_2_layer, fonts_get_system_font(FONT_KEY_BITHAM_34_MEDIUM_NUMBERS));
	text_layer_set_text_alignment(bg_2_layer, GTextAlignmentLeft);
	layer_add_child(window_layer, text_layer_get_layer(bg_2_layer));
	//Date
	icon_2_layer = bitmap_layer_create(GRect(82, 84, 61, 61));

	layer_add_child(window_layer, bitmap_layer_get_layer(icon_2_layer));
	


	readtime_2_layer = text_layer_create(GRect(0, 124, 144, 22));
	text_layer_set_text_color(readtime_2_layer, GColorBlack);
	text_layer_set_background_color(readtime_2_layer, GColorClear);
	text_layer_set_font(readtime_2_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
	text_layer_set_text_alignment(readtime_2_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(readtime_2_layer));

	name_2_layer = text_layer_create(GRect(0, 146, 144, 22));
	text_layer_set_text_color(name_2_layer, GColorBlack);
	text_layer_set_background_color(name_2_layer, GColorWhite);
	text_layer_set_font(name_2_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD));
	text_layer_set_text_alignment(name_2_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(name_2_layer));
	//text_layer_set_text(name_2_layer, "\45 Name Change");



	//draw_date();

	Tuplet initial_values[] = {
		TupletInteger(CGM_ICON_KEY, (uint8_t)4),
		TupletInteger(CGM_ICON_2_KEY, (uint8_t)4),
		TupletCString(CGM_BG_KEY, ""),
		TupletCString(CGM_READTIME_KEY, "Loading..."),
		TupletInteger(CGM_ALERT_KEY, 0),
		TupletCString(CGM_BG_2, ""),
		TupletCString(CGM_DELTA_KEY, "Welcome to NS"),
		TupletCString(CGM_DELTA_2_KEY, "#wearenotwaiting"),
		TupletCString(CGM_READTIME_2_KEY, "Loading...")
	};

	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values), sync_tuple_changed_callback, sync_error_callback, NULL);

	timer = app_timer_register(1000, timer_callback, NULL);
}
Beispiel #30
0
static void window_load(Window *window) {
	Layer *window_layer = window_get_root_layer(window);
	static int row_height = 22;
	int it = 2;
	const int button_bar_width = 20;
	const int text_layer_width = 144 - button_bar_width;
	
	//Set up Window Action Bar
	up_arrow_icon = gbitmap_create_with_resource(RESOURCE_ID_ICON_UP_ARROW);
	down_arrow_icon = gbitmap_create_with_resource(RESOURCE_ID_ICON_DOWN_ARROW);
	settings_icon = gbitmap_create_with_resource(RESOURCE_ID_ICON_SETTINGS);
	window_action_bar = action_bar_layer_create();
	action_bar_layer_add_to_window(window_action_bar, window);
	action_bar_layer_set_background_color(window_action_bar, GColorBlack);
	action_bar_layer_set_click_config_provider(window_action_bar, click_config_provider);
	action_bar_layer_set_icon(window_action_bar, BUTTON_ID_UP, up_arrow_icon);
	action_bar_layer_set_icon(window_action_bar, BUTTON_ID_DOWN, down_arrow_icon);
	action_bar_layer_set_icon(window_action_bar, BUTTON_ID_SELECT, settings_icon);

	// Area Name Layer	
	area_name_layer = text_layer_create(GRect(0, -2, text_layer_width, 48));
	text_layer_set_text_color(area_name_layer, GColorWhite);
	text_layer_set_background_color(area_name_layer, GColorClear);
	text_layer_set_font(area_name_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
	text_layer_set_text_alignment(area_name_layer, GTextAlignmentCenter);
	text_layer_set_overflow_mode(area_name_layer, GTextOverflowModeWordWrap);
	layer_add_child(window_layer, text_layer_get_layer(area_name_layer));
	
	// Weather Description Layer
	weather_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(weather_layer, GColorWhite);
	text_layer_set_background_color(weather_layer, GColorClear);
	text_layer_set_font(weather_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(weather_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(weather_layer));
	
	// Snowfall Layer	
	snowfall_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(snowfall_layer, GColorWhite);
	text_layer_set_background_color(snowfall_layer, GColorClear);
	text_layer_set_font(snowfall_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(snowfall_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(snowfall_layer));
	
	// Temperature Layer
	temps_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(temps_layer, GColorWhite);
	text_layer_set_background_color(temps_layer, GColorClear);
	text_layer_set_font(temps_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(temps_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(temps_layer));
	
	// Wind Layer	
	wind_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(wind_layer, GColorWhite);
	text_layer_set_background_color(wind_layer, GColorClear);
	text_layer_set_font(wind_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(wind_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(wind_layer));
	
	// Update Time Layer
	update_layer = text_layer_create(GRect(0, it++ * row_height + 4, text_layer_width, row_height));
	text_layer_set_text_color(update_layer, GColorWhite);
	text_layer_set_background_color(update_layer, GColorClear);
	text_layer_set_font(update_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD));
	text_layer_set_text_alignment(update_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(update_layer));
	
	Tuplet initial_values[] = {
		TupletInteger(INDEX_KEY, (uint8_t) 0),
		TupletCString(AREA_NAME_KEY, "Loading..."),
		TupletCString(WEATHER_DESC_KEY, "Loading..."),
		TupletCString(WIND_KEY, "Wind: --- @ -- ---"),
		TupletCString(AREA_TEMPS_KEY, "Temp(--): -- to --"),
		TupletCString(AREA_SNOWFALL_KEY, "Snow(24h): --   "),
		TupletCString(UPDATE_TIME_KEY, "Updated @ --:--"),
		TupletInteger(UNITS_KEY, (uint8_t) 0),
	};
	
	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
				  sync_tuple_changed_callback, sync_error_callback, NULL);
	
	send_cmd();
}