The single button in the Dongle does not generate any events. I have made all the relevant changes for the preprocessor for the usage with Dongle. Kindly let me know what to be modifed?
The buttons_handler in the below program does not get called
#include "zboss_api.h"
#include "zb_mem_config_custom.h"
#include "zb_error_handler.h"
#include "zigbee_helpers.h"
#include "app_timer.h"
#include "bsp.h"
#include "boards.h"
#include "nordic_common.h"
#include "nrf_log.h"
#include "nrf_log_ctrl.h"
#include "nrf_log_default_backends.h"
static void buttons_handler(bsp_event_t evt)
{
zb_ret_t zb_err_code;
zb_uint32_t button;
bsp_board_led_invert(BSP_BOARD_LED_1);
}
/**@brief Function for initializing LEDs and buttons.
*/
static zb_void_t leds_buttons_init(void)
{
ret_code_t error_code;
/* Initialize LEDs and buttons - use BSP to control them. */
bsp_init(BSP_INIT_LEDS | BSP_INIT_BUTTONS, buttons_handler);
}
int main(void)
{
/* Initialize timers, loging system and GPIOs. */
timers_init();
log_init();
leds_buttons_init();
/* Set Zigbee stack logging level and traffic dump subsystem. */
ZB_SET_TRACE_LEVEL(ZIGBEE_TRACE_LEVEL);
ZB_SET_TRACE_MASK(ZIGBEE_TRACE_MASK);
ZB_SET_TRAF_DUMP_OFF();
/* Initialize Zigbee stack. */
ZB_INIT("light_switch");
/* Set device address to the value read from FICR registers. */
zb_osif_get_ieee_eui64(ieee_addr);
zb_set_long_address(ieee_addr);
zb_set_network_ed_role(IEEE_CHANNEL_MASK);
zigbee_erase_persistent_storage(ERASE_PERSISTENT_CONFIG);
zb_set_ed_timeout(ED_AGING_TIMEOUT_64MIN);
zb_set_keepalive_timeout(ZB_MILLISECONDS_TO_BEACON_INTERVAL(3000));
// sleepy_device_setup();
/* Initialize application context structure. */
UNUSED_RETURN_VALUE(ZB_MEMSET(&m_device_ctx, 0, sizeof(light_switch_ctx_t)));
/* Set default bulb short_addr. */
m_device_ctx.bulb_params.short_addr = 0xFFFF;
/* Register dimmer switch device context (endpoints). */
ZB_AF_REGISTER_DEVICE_CTX(&dimmer_switch_ctx);
/** Start Zigbee Stack. */
zb_err_code = zboss_start_no_autostart();
ZB_ERROR_CHECK(zb_err_code);
while(1)
{
zboss_main_loop_iteration();
UNUSED_RETURN_VALUE(NRF_LOG_PROCESS());
}
}