/** * @brief Main function of the Terminal Target application */ int main(void) { irq_initialize_vectors(); sysclk_init(); /* Initialize the board. * The board-specific conf_board.h file contains the configuration of * the board initialization. */ board_init(); sw_timer_init(); if (nwk_init()!= NWK_SUCCESS) { app_alert(); } zrc_ind.vendor_data_ind_cb = vendor_data_ind; #ifdef ZRC_CMD_DISCOVERY zrc_ind.zrc_cmd_disc_indication_cb = zrc_cmd_disc_indication; #endif zrc_ind.zrc_cmd_indication_cb = zrc_cmd_indication; register_zrc_indication_callback(&zrc_ind); nwk_ind.nwk_ch_agility_indication_cb = nwk_ch_agility_indication; nwk_ind.nlme_unpair_indication_cb = nlme_unpair_indication; register_nwk_indication_callback(&nwk_ind); /* Initialize LEDs. */ LED_On(LED_START); /* indicating application is started */ LED_Off(LED_NWK_SETUP); /* indicating network is started */ LED_Off(LED_DATA); /* indicating data reception */ /* * The stack is initialized above, hence the global interrupts are *enabled * here. */ cpu_irq_enable(); #ifdef SIO_HUB /* Initialize the serial interface used for communication with terminal *program. */ sio2host_init(); #endif sw_timer_get_id(&led_timer); /* Endless while loop */ while (1) { app_task(); /* Application task */ nwk_task(); /* RF4CE network layer task */ } }
/* === Implementation ====================================================== */ void stack_indication_callback_init(void) { #ifdef ZRC_PROFILE #if (defined RF4CE_TARGET) || (defined ZRC_CMD_DISCOVERY) zrc_ind.zrc_cmd_indication_cb = zrc_cmd_indication; #endif #if (defined ZRC_CMD_DISCOVERY) zrc_ind.zrc_cmd_disc_indication_cb = zrc_cmd_disc_indication; #endif #ifdef VENDOR_DATA zrc_ind.vendor_data_ind_cb = vendor_data_ind; #endif register_zrc_indication_callback(&zrc_ind); #endif #ifdef RF4CE_PLATFORM #if (defined RF4CE_PLATFORM) nwk_ind.nlde_data_indication_cb = nlde_data_indication; #endif #if (defined RF4CE_TARGET) || (defined RF4CE_PLATFORM) nwk_ind.nlme_comm_status_indication_cb = nlme_comm_status_indication; #endif #if (defined RF4CE_TARGET) || (defined RF4CE_PLATFORM) nwk_ind.nlme_discovery_indication_cb = nlme_discovery_indication; #endif #if (defined RF4CE_TARGET) || (defined RF4CE_PLATFORM) nwk_ind.nlme_pair_indication_cb = nlme_pair_indication; #endif #if (defined CHANNEL_AGILITY) || (defined RF4CE_PLATFORM) nwk_ind.nwk_ch_agility_indication_cb = nwk_ch_agility_indication; #endif #if ((NWK_UNPAIR_IND_RESP == 1) || (defined RF4CE_PLATFORM)) nwk_ind.nlme_unpair_indication_cb = nlme_unpair_indication; #endif register_nwk_indication_callback(&nwk_ind); #endif }