static void simpleBLEObserver_HandleKeys( uint8 shift, uint8 keys ) { (void)shift; // Intentionally unreferenced parameter if ( keys & HAL_KEY_UP ) { // Start or stop discovery if ( !simpleBLEScanning ) { simpleBLEScanning = TRUE; simpleBLEScanRes = 0; LCD_WRITE_STRING( "Discovering...", HAL_LCD_LINE_1 ); LCD_WRITE_STRING( "", HAL_LCD_LINE_2 ); GAPObserverRole_StartDiscovery( DEFAULT_DISCOVERY_MODE, DEFAULT_DISCOVERY_ACTIVE_SCAN, DEFAULT_DISCOVERY_WHITE_LIST ); } else { GAPObserverRole_CancelDiscovery(); } } if ( keys & HAL_KEY_LEFT ) { // Display discovery results if ( !simpleBLEScanning && simpleBLEScanRes > 0 ) { // Increment index of current result (with wraparound) simpleBLEScanIdx++; if ( simpleBLEScanIdx >= simpleBLEScanRes ) { simpleBLEScanIdx = 0; } LCD_WRITE_STRING_VALUE( "Device", simpleBLEScanIdx + 1, 10, HAL_LCD_LINE_1 ); LCD_WRITE_STRING( bdAddr2Str( simpleBLEDevList[simpleBLEScanIdx].addr ), HAL_LCD_LINE_2 ); } } if ( keys & HAL_KEY_RIGHT ) { } if ( keys & HAL_KEY_CENTER ) { } if ( keys & HAL_KEY_DOWN ) { } }
/********************************************************************* * @fn SimpleBLECentral_handleKeys * * @brief Handles all key events for this device. * * @param shift - true if in shift/alt. * @param keys - bit field for key events. Valid entries: * HAL_KEY_SW_2 * HAL_KEY_SW_1 * * @return none */ static void SimpleBLEPeripheral_handleKeys(uint8_t shift, uint8_t keys) { (void)shift; // Intentionally unreferenced parameter if (keys & KEY_RIGHT) { uint8 status; if(scanningStarted == TRUE) { status = GAPObserverRole_CancelDiscovery(); if(status == SUCCESS) { scanningStarted = FALSE; Display_print0(dispHandle, 4, 0, "Scanning Off"); } else { Display_print0(dispHandle, 4, 0, "Scanning Off Fail"); } } return; } if (keys & KEY_LEFT) { uint8 status; //Start scanning if not already scanning if((scanningStarted == FALSE)) { status = GAPObserverRole_StartDiscovery(DEFAULT_DISCOVERY_MODE, DEFAULT_DISCOVERY_ACTIVE_SCAN, DEFAULT_DISCOVERY_WHITE_LIST); if(status == SUCCESS) { scanningStarted = TRUE; Display_print0(dispHandle, 4, 0, "Scanning On"); } else { Display_print1(dispHandle, 4, 0, "Scanning failed: %d", status); } } return; } }