void StartAdvertisment() { apiResult = CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST); if (apiResult != CYBLE_ERROR_OK) { printf("CyBle_Start API error: %x \r\n", apiResult); Error_Led_Write(LED_ON); } else { Advertising_Led_Write(LED_ON); } }
void bleCallBack(uint32 event, void* eventParam) { switch(event) { case CYBLE_EVT_STACK_ON: case CYBLE_EVT_GAP_DEVICE_DISCONNECTED: StartAdvertisment(); break; case CYBLE_EVT_GAP_DEVICE_CONNECTED: Advertising_Led_Write(LED_OFF); break; default: break; } }
/******************************************************************************* * Function Name: Handleleds ******************************************************************************** * * Summary: * This is used to TURN ON and TURN OFF the LEDs based on the "state". * * Parameters: * None * Return: * None * *******************************************************************************/ void HandleLeds() { /*if Disconnected TURN ON RED LED*/ if(CyBle_GetState()==CYBLE_STATE_DISCONNECTED) { Advertising_Led_Write(LED_OFF); Disconnect_Led_Write(LED_ON); Connect_Led_Write(LED_OFF); } /*if Advertising TURN ON BLUE LED*/ else if(CyBle_GetState()==CYBLE_STATE_ADVERTISING) { Advertising_Led_Write(LED_ON); Disconnect_Led_Write(LED_OFF); Connect_Led_Write(LED_OFF); } /*If Connected TURN ON GREEN LED*/ else if(CyBle_GetState()==CYBLE_STATE_CONNECTED) { Advertising_Led_Write(LED_OFF); Disconnect_Led_Write(LED_OFF); Connect_Led_Write(LED_ON); } }
int main() { CyGlobalIntEnable; /* Enable global interrupts. */ /* Place your initialization/startup code here (e.g. MyInst_Start()) */ Advertising_Led_Write(LED_OFF); Error_Led_Write(LED_OFF); apiResult = CyBle_Start(bleCallBack); if (apiResult != CYBLE_ERROR_OK) { printf("CyBle_Start API error: %x \r\n", apiResult); Error_Led_Write(LED_ON); } for(;;) { /* Place your application code here. */ CyBle_ProcessEvents(); } }