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; }
/* 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); } }
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); }
//* ************************************************************************************************ /// @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); }
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); }
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); }
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); }
static void intertechno_deactivated() { sys_messagebus_unregister(&it_tx_end); display_clear(0, 1); }