static void MenuButtonHandler(unsigned char MsgOptions) { tMessage Msg; switch (MsgOptions) { case MENU_BUTTON_OPTION_EXIT: IdleUpdateHandler(); break; case MENU_BUTTON_OPTION_TOGGLE_BLUETOOTH: if (BluetoothState() != Initializing) SendMessage(&Msg, RadioOn() ? TurnRadioOffMsg : TurnRadioOnMsg, MSG_OPT_NONE); break; case MENU_BUTTON_OPTION_DISPLAY_SECONDS: ToggleProperty(PROP_TIME_SECOND); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_LINK_ALARM: ToggleProperty(PROP_DISABLE_LINK_ALARM); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_INVERT_DISPLAY: ToggleProperty(PROP_INVERT_DISPLAY); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_MENU1: break; case MENU_BUTTON_OPTION_TOGGLE_RST_NMI_PIN: ToggleProperty(PROP_RSTNMI); ConfigResetPin(GetProperty(PROP_RSTNMI)); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_SERIAL_SBW_GND: ToggleSerialGndSbw(); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_ENABLE_CHARGING: ToggleCharging(); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_ENTER_BOOTLOADER_MODE: EnterBootloader(); break; default: break; } }
void DrawWatchStatusScreen(void) { FillMyBuffer(0, LCD_ROW_NUM, 0); CopyColumnsIntoMyBuffer(RadioOn() ? pRadioOnIcon : pRadioOffIcon, 3, STATUS_ICON_SIZE_IN_ROWS, LEFT_STATUS_ICON_COLUMN, STATUS_ICON_SIZE_IN_COLUMNS); // Connection status CopyColumnsIntoMyBuffer(Connected(CONN_TYPE_MAIN) ? pConnectedIcon : pDisconnectedIcon, 3, STATUS_ICON_SIZE_IN_ROWS, CENTER_STATUS_ICON_COLUMN, STATUS_ICON_SIZE_IN_COLUMNS); gRow = 31; gColumn = 5; gBitColumnMask = BIT4; SetFont(MetaWatch5); if (PairedDeviceType() == DEVICE_TYPE_BLE) { if (Connected(CONN_TYPE_HFP) && Connected(CONN_TYPE_MAP)) DrawString("DUO", DRAW_OPT_BITWISE_OR); else DrawString("BLE", DRAW_OPT_BITWISE_OR); } else if (PairedDeviceType() == DEVICE_TYPE_SPP) DrawString("BR", DRAW_OPT_BITWISE_OR); DrawBatteryOnIdleScreen(6, 9, MetaWatch7); // Add Wavy line gRow += 12; CopyRowsIntoMyBuffer(pWavyLine, gRow, NUMBER_OF_ROWS_IN_WAVY_LINE); CopyColumnsIntoMyBuffer(pIconWatch, 54, 21, 0, 2); //54, 21, 2, 2); /* add the firmware version */ gColumn = 2; gRow = 56; gBitColumnMask = BIT2; DrawString("SW: ", DRAW_OPT_BITWISE_OR); DrawString((char *)VERSION, DRAW_OPT_BITWISE_OR); DrawString(" (", DRAW_OPT_BITWISE_OR); DrawChar(BUILD[0], DRAW_OPT_BITWISE_OR); DrawChar(BUILD[1], DRAW_OPT_BITWISE_OR); DrawChar(BUILD[2], DRAW_OPT_BITWISE_OR); DrawChar(')', DRAW_OPT_BITWISE_OR); gColumn = 2; gRow = 65; gBitColumnMask = BIT2; DrawString("HW: REV ", DRAW_OPT_BITWISE_OR); DrawChar(GetMsp430HardwareRevision(), DRAW_OPT_BITWISE_OR); DrawLocalAddress(1, 80); SendMyBufferToLcd(STARTING_ROW, LCD_ROW_NUM); }
void DrawConnectionScreen(void) { const unsigned char *pSwash; if (!RadioOn()) pSwash = pBootPageBluetoothOffSwash; else if (ValidAuthInfo()) pSwash = pBootPagePairedSwash; else pSwash = pBootPageNoPairSwash; FillMyBuffer(WATCH_DRAW_SCREEN_ROW_NUM, PHONE_DRAW_SCREEN_ROW_NUM, 0x00); CopyRowsIntoMyBuffer(pSwash, WATCH_DRAW_SCREEN_ROW_NUM + 1, 32); /* add the firmware version */ gRow = 68; gColumn = 4; gBitColumnMask = BIT0; SetFont(MetaWatch5); DrawString("V ", DRAW_OPT_BITWISE_OR); DrawString((char *)VERSION, DRAW_OPT_BITWISE_OR); DrawLocalAddress(1, 80); SendMyBufferToLcd(WATCH_DRAW_SCREEN_ROW_NUM, PHONE_DRAW_SCREEN_ROW_NUM); }
static void DrawMenu1(void) { const unsigned char *pIcon; if (BluetoothState() == Initializing) { pIcon = pBluetoothInitIcon; } else { pIcon = RadioOn() ? pBluetoothOnIcon : pBluetoothOffIcon; } CopyColumnsIntoMyBuffer(pIcon, BUTTON_ICON_A_F_ROW, BUTTON_ICON_SIZE_IN_ROWS, RIGHT_BUTTON_COLUMN, BUTTON_ICON_SIZE_IN_COLUMNS); CopyColumnsIntoMyBuffer(pInvertDisplayIcon, BUTTON_ICON_B_E_ROW, BUTTON_ICON_SIZE_IN_ROWS, LEFT_BUTTON_COLUMN, BUTTON_ICON_SIZE_IN_COLUMNS); CopyColumnsIntoMyBuffer(GetProperty(PROP_TIME_SECOND) ? pSecondsOnMenuIcon : pSecondsOffMenuIcon, BUTTON_ICON_B_E_ROW, BUTTON_ICON_SIZE_IN_ROWS, RIGHT_BUTTON_COLUMN, BUTTON_ICON_SIZE_IN_COLUMNS); CopyColumnsIntoMyBuffer(LinkAlarmEnabled() ? pLinkAlarmOnIcon : pLinkAlarmOffIcon, BUTTON_ICON_C_D_ROW, BUTTON_ICON_SIZE_IN_ROWS, LEFT_BUTTON_COLUMN, BUTTON_ICON_SIZE_IN_COLUMNS); }
static void MenuButtonHandler(unsigned char MsgOptions) { tMessage Msg; switch (MsgOptions) { case MENU_BUTTON_OPTION_EXIT: IdleUpdateHandler(); break; case MENU_BUTTON_OPTION_TOGGLE_BLUETOOTH: if (BluetoothState() != Initializing) SendMessage(&Msg, RadioOn() ? TurnRadioOffMsg : TurnRadioOnMsg, MSG_OPT_NONE); break; case MENU_BUTTON_OPTION_DISPLAY_SECONDS: ToggleProperty(PROP_TIME_SECOND); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_LINK_ALARM: LinkAlarmEnable = !LinkAlarmEnable; MenuModeHandler(0); break; case MENU_BUTTON_OPTION_INVERT_DISPLAY: ToggleProperty(PROP_INVERT_DISPLAY); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_RST_NMI_PIN: if (RESET_PIN) {SET_RESET_PIN_RST();} else {SET_RESET_PIN_NMI();} MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_SERIAL_SBW_GND: ToggleSerialGndSbw(); MenuModeHandler(0); break; case MENU_BUTTON_OPTION_TOGGLE_ENABLE_CHARGING: ToggleCharging(); // SendMessage(&Msg, AccelMsg, 0); //test accel MenuModeHandler(0); break; case MENU_BUTTON_OPTION_ENTER_BOOTLOADER_MODE: EnterBootloader(); break; case MENU_BUTTON_OPTION_TEST: SetupMessageWithBuffer(&Msg, SetVibrateMode, MSG_OPT_NONE); if (Msg.pBuffer != NULL) { *(tSetVibrateModePayload *)Msg.pBuffer = TestTone; RouteMsg(&Msg); } // test accelemeter MSG_OPT_ACCEL_ENABLE // SendMessage(&Msg, AccelMsg, 1); break; default: break; } }