This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Does S130 really works?

Hi

Can anybody answer me if i do not call SOFTDEVICE_HANDLER_INIT instead i call sd_softdevice_enable ,sd_ble_enable(&enable_params),sd_nvic_EnableIRQ(SD_EVT_IRQn) directly.

Did the program can fetch BLE events.

Am using S130 alpha 0.9.0 , am having trouble to send some hex value on a character during Keypress. I have tried with the API uint32_t softdevice_ble_evt_handler_set ( ble_evt_handler_t ble_evt_handler ) but couldn't sent... ** is there any way to store connection handle on Service structure connection handle during each BLE events.

I hope it might be the problem with SOFTDEVICE_HANDLER_INIT not being called...

what you guys think?

  • Hi,

    I'm having dual application working with S130 SoftDevice v0.9.0-1alpha. I've used the example from SDK v7.2.0 as starting point and now my app works well with following BLE stack init function:

    /**
      * @brief  Initializing Soft Device, BLE stack inside and Soft Device interrupt
      *         event handler.
      * @param  None.
      * @retval None.
      */
    static void ble_stack_init(void) {
        uint32_t err_code;
        ble_enable_params_t ble_enable_params;
    
        err_code = sd_softdevice_enable((uint32_t)NRF_CLOCK_LFCLKSRC_XTAL_75_PPM, softdevice_assert_callback);
        APP_ERROR_CHECK(err_code);
    
        // Enable the Soft Device with "Service Changed" service.
        memset(&ble_enable_params, 0, sizeof(ble_enable_params));
        ble_enable_params.gatts_enable_params.service_changed = 0;
        err_code = sd_ble_enable(&ble_enable_params);
        APP_ERROR_CHECK(err_code);
    
        err_code = sd_nvic_EnableIRQ(SD_EVT_IRQn);
        APP_ERROR_CHECK(err_code);
    }
    
  • i tried with this ble_stack_init function i am able to send value when a connection event happend ... but if after getting connected ,i couldn't sent value by key press.

    Can you share your code ?

  • Hi,

    I'm not using the rest of S130 example because our custom HW does not use any buttons etc. But I was able to recompile original example from Nordic in Keil MDK 5.13 (should be available for free download) without problems and it worked as explained in User Guide to that example application (I've seen UART output in PuTTY console and it central app was able to connect to peripheral HRS apps as well as play peripheral role against MCP). Any problems when you use this environment and unchanged code from Nordic (speaking about all 3 parts in the chain: S130 dual example, S110 HRS peripheral example and MCP app connected to PC with MCP SW)?

    Cheers Jan

  • @sruthiraj: Please make sure you have enable SWI2 interrupt and have implemented the interrupt handler for SWI2 to fetch the softdevice events. The S130 and the S110 is not much different, they followed the same principle.

  • @Hung Bui : i have implemented SWI2 interrupt but not called softdevice_ble_evt_handler_set to set a handler for fetching BLE events. since it is not really included in code. but once i tried to call softdevice_ble_evt_handler_set device got hang in hardfault handler

Related