Exemplo n.º 1
0
static void ata_test_temp(disk_t *disk, ata_smart_attr_t *smart, int smart_num)
{
	int min_temp = -1;
	int max_temp = -1;
	int temp = ata_smart_get_temperature(smart, smart_num, disk->state.ata.smart_table, &min_temp, &max_temp);

	if (temp != disk->state.ata.last_temp) {
		INFO("Disk temperature changed from %d to %d", disk->state.ata.last_temp, temp);
		disk->state.ata.last_temp = temp;
	}

	if (temp >= TEMP_THRESHOLD) {
		spinner_t spinner;
		INFO("Pausing scan due to high disk temperature");
		spinner_init(&spinner);
		while (temp >= TEMP_THRESHOLD) {
			sleep(1);
			spinner_update(&spinner);
			smart_num = disk_smart_attributes(&disk->dev, smart, ARRAY_SIZE(smart));
			if (smart_num > 0) {
				temp = ata_smart_get_temperature(smart, smart_num, disk->state.ata.smart_table, &min_temp, &max_temp);
			} else {
				ERROR("Failed to read temperature while paused!");
				break;
			}
		}
		spinner_done();
		INFO("Finished pause, temperature is now %d", temp);
	}
}
Exemplo n.º 2
0
void stop_after_win_init( void )
{
   stop_after = init_stop_after;

   window_init( &stop_after_win, "Stop After" );
   stop_after_win.window_handlers.appear =
      (WindowHandler) &stop_after_win_appear;
   stop_after_win.window_handlers.disappear =
      (WindowHandler) &stop_after_win_disappear;

   spinner_init( &stop_after_spin,
                 &stop_after_win,
                 stop_after_up,
                 stop_after_down,
                 SPIN_NO_ADDITIONAL_CLICK_CONFIG,
                 my_ctx );

   text_layer_init( &stop_after_title_lay,
                    GRect( 0, 0, SCREEN_WIDTH, 28 ) );
   text_layer_set_font( &stop_after_title_lay,
                        fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) );
   text_layer_set_text_alignment( &stop_after_title_lay,
                                  GTextAlignmentCenter );
   text_layer_set_text( &stop_after_title_lay, stop_after_title_str );
   layer_add_child( &stop_after_win.layer, &stop_after_title_lay.layer );

   inverter_layer_init( &stop_after_title_inverter_lay,
                        GRect( 0, 0, SCREEN_WIDTH, 30 ) );
   layer_add_child( &stop_after_win.layer,
                    (Layer*) &stop_after_title_inverter_lay );

   text_layer_init( &stop_after_lay, GRect( 0, 55, SCREEN_WIDTH, 30 ) );
   text_layer_set_font( &stop_after_lay,
                        fonts_get_system_font( FONT_KEY_BITHAM_30_BLACK ) );
   text_layer_set_text_alignment( &stop_after_lay,
                                  GTextAlignmentCenter );
   text_layer_set_text( &stop_after_lay, get_str_for_stop_after() );
   layer_add_child( &stop_after_win.layer, &stop_after_lay.layer );
   
   text_layer_init( &stop_after_bpm_lay, GRect( 0, 85, SCREEN_WIDTH, 25 ) );
   text_layer_set_font( &stop_after_bpm_lay,
                        fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) );
   text_layer_set_text_alignment( &stop_after_bpm_lay,
                                  GTextAlignmentCenter );
   text_layer_set_text( &stop_after_bpm_lay, beats_str );
   layer_add_child( &stop_after_win.layer, &stop_after_bpm_lay.layer );
 }
Exemplo n.º 3
0
void handle_init(AppContextRef ctx)
{
   my_ctx = ctx;

   // Metronome window.

  window_init(&window, "Metronome Win");
  window.window_handlers.appear = (WindowHandler) &metronome_win_appear;
  window.window_handlers.disappear = (WindowHandler) &metronome_win_disappear;

  spinner_init( &tempo_spin,
                &window,
                (ClickHandler) tempo_up,
                (ClickHandler) tempo_down,
                (ClickConfigProvider) &config_click_provider,
                my_ctx );

  metronome_win_lay_out();

  window_stack_push(&window, true /* Animated */);

  // Menu configuration.

  window_init(&menu_win, "Menu Win");
  
  simple_menu_layer_init( &menu_lay,
                          GRect( 0, 0, 144, 141 ),
                          &menu_win,
                          menu_sect,
                          ARRAY_LENGTH(menu_sect),
                          NULL );
  menu_win.window_handlers.appear = (WindowHandler) &update_menu;
  layer_add_child( &menu_win.layer, (Layer*) &menu_lay );

  vibe_dur_win_init();

  stop_after_win_init();

  find_tempo_win_init();

  timer_stack_init_once();

  spinner_init_once();
}
Exemplo n.º 4
0
void vibe_dur_win_init( void )
{
   vibe_dur = init_vibe_dur;

   window_init( &vibe_dur_win, "Vibe Dur" );
   vibe_dur_win.window_handlers.appear =
      (WindowHandler) &vibe_dur_win_appear;
   vibe_dur_win.window_handlers.disappear =
      (WindowHandler) &vibe_dur_win_disappear;

   spinner_init( &vibe_dur_spin,
                 &vibe_dur_win,
                 vibe_dur_up,
                 vibe_dur_down,
                 SPIN_NO_ADDITIONAL_CLICK_CONFIG,
                 my_ctx );

   text_layer_init( &vibe_dur_title_lay,
                    GRect( 0, 0, SCREEN_WIDTH, 28 ) );
   text_layer_set_font( &vibe_dur_title_lay,
                        fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) );
   text_layer_set_text_alignment( &vibe_dur_title_lay,
                                  GTextAlignmentCenter );
   text_layer_set_text( &vibe_dur_title_lay, vibe_dur_title_str );
   layer_add_child( &vibe_dur_win.layer, &vibe_dur_title_lay.layer );

   inverter_layer_init( &vibe_dur_title_inverter_lay,
                        GRect( 0, 0, SCREEN_WIDTH, 30 ) );
   layer_add_child( &vibe_dur_win.layer,
                    (Layer*) &vibe_dur_title_inverter_lay );

   text_layer_init( &vibe_dur_lay, GRect( 0, 55, SCREEN_WIDTH, 30 ) );
   text_layer_set_font( &vibe_dur_lay,
                        fonts_get_system_font( FONT_KEY_BITHAM_30_BLACK ) );
   text_layer_set_text_alignment( &vibe_dur_lay,
                                  GTextAlignmentCenter );
   snprintf( vibe_dur_str, 4, "%d", vibe_dur );
   text_layer_set_text( &vibe_dur_lay, vibe_dur_str );
   
   layer_add_child( &vibe_dur_win.layer, &vibe_dur_lay.layer );
 }