Beispiel #1
0
void edit_mode_callback(void)
{
    lcd_screen_activate(0);
	sys_messagebus_unregister(&update);
    sys_messagebus_unregister(&time_callback);
    display_symbol(0, LCD_SEG_L2_COL0, SEG_OFF);
	menu_editmode_start(&edit_save, edit_items);
}
static void acc_deactivated()
{


	/* destroy virtual screens */
	lcd_screens_destroy();

	/* clean up screen */
	
	display_clear(0, 1);
	display_clear(0, 2);


	/* do not disable anything if in background mode */
	if	(sAccel.mode == ACCEL_MODE_BACKGROUND) return;
	else 	/* clear symbols only if not in backround mode*/
	//display_symbol(0, LCD_ICON_ALARM , SEG_SET | BLINK_OFF);

	/* otherwise shutdown all the stuff
	** deregister from the message bus */
	sys_messagebus_unregister(&as_event);
	/* Stop acceleration sensor */
	as_stop();

	/* Clear mode */
	sAccel.mode = ACCEL_MODE_OFF;
}
Beispiel #3
0
/* NUM (#) button pressed callback */
static void num_pressed()
{
	/* this cycles between all alarm/chime combinations and overflow */
	alarm_state.state++;

	/* Register RTC only if needed, saving CPU cycles.. */
	if (alarm_state.state)
		sys_messagebus_register(alarm_event, SYS_MSG_RTC_ALARM);
	else
		sys_messagebus_unregister(alarm_event);

	if (alarm_state.alarm) {
		display_symbol(0, LCD_ICON_ALARM, SEG_ON);
		rtca_enable_alarm();
	} else {
		display_symbol(0, LCD_ICON_ALARM, SEG_OFF);
		rtca_disable_alarm();
	}

	if (alarm_state.chime) {
		display_symbol(0, LCD_ICON_BEEPER2, SEG_ON);
		display_symbol(0, LCD_ICON_BEEPER3, SEG_ON);
	} else {
		display_symbol(0, LCD_ICON_BEEPER2, SEG_OFF);
		display_symbol(0, LCD_ICON_BEEPER3, SEG_OFF);
	}

}
Beispiel #4
0
static void temperature_deactivate(void)
{
	sys_messagebus_unregister(&measure_temp);
	
	/* cleanup screen */
	display_symbol(0, LCD_UNIT_L1_DEGREE, SEG_OFF);
	display_symbol(0, LCD_SEG_L1_DP0, SEG_OFF);
}
Beispiel #5
0
//* ************************************************************************************************
/// @fn			temperature_deactivate(void)
/// @brief		Temperature screen desactivation. Clear the screen, reset the events & values.
/// @return		none
//* ************************************************************************************************
static void temperature_deactivate(void)
{
    // Unregister the event
    sys_messagebus_unregister(&measure_temp);

    // Cleanup screens
    display_clear(0, 1);
    display_clear(0, 2);

    // Cleanup symbols
    display_temp_symbols(0);
    display_symbol(0,LCD_SEG_L1_DP1, SEG_OFF);
}
Beispiel #6
0
static void altitude_deactivate(void)
{
	sys_messagebus_unregister(&update);
    sys_messagebus_unregister(&time_callback);
	
	
	// Clean up function-specific segments before leaving function
		
	display_symbol(0, LCD_SYMB_ARROW_UP, SEG_OFF);
	display_symbol(0, LCD_SYMB_ARROW_DOWN, SEG_OFF);
        
	if(useMetric){
		display_symbol(0, LCD_UNIT_L1_M, SEG_OFF);
	}else{
		display_symbol(0, LCD_UNIT_L1_FT, SEG_OFF);
	}
	
	
	//update_pressure_table((s16) sAlt.raw_altitude, sAlt.pressure, sAlt.temperature);
    
    lcd_screens_destroy();
    display_clear(0, 0);
}
Beispiel #7
0
static void clock_deactivated()
{
	sys_messagebus_unregister(&clock_event);

	/* destroy virtual screens */
	lcd_screens_destroy();

	/* clean up screen */
	display_symbol(0, LCD_SEG_L1_COL, SEG_OFF);
#ifdef CONFIG_MOD_CLOCK_AMPM
	display_symbol(0, LCD_SYMB_AM, SEG_OFF);
	display_symbol(0, LCD_SYMB_PM, SEG_OFF);
#endif
	display_clear(0, 1);
	display_clear(0, 2);
}
Beispiel #8
0
static void battery_deactivate(void)
{
	sys_messagebus_unregister(&battery_event);

	/* cleanup screen */
	display_clear(0, 1);
#ifdef CONFIG_MOD_BATTERY_SHOW_VOLTAGE
	display_clear(0, 2);
#endif

	/* clear static symbols */
#ifdef CONFIG_MOD_BATTERY_SHOW_VOLTAGE
	display_symbol(0, LCD_SEG_L2_DP, SEG_OFF);
#endif
	display_symbol(0, LCD_SYMB_PERCENT, SEG_OFF);
	display_symbol(0, LCD_SYMB_BATTERY, SEG_OFF);
}
Beispiel #9
0
static void intertechno_deactivated()
{
    sys_messagebus_unregister(&it_tx_end);
    display_clear(0, 1);
}