void Components_Init(void) { /*! dd_scheduler Auto initialization start */ (void)dd_scheduler_Init(); /*! dd_scheduler Auto initialization end */ /*! myUART Auto initialization start */ OSA_InstallIntHandler(UART3_RX_TX_IRQn, myUART_IRQHandler); UART_DRV_Init(myUART_IDX,&myUART_State,&myUART_InitConfig0); UART_DRV_InstallRxCallback(myUART_IDX, myUART_RxCallback, myRxBuff, NULL, true); /*! myUART Auto initialization end */ }
/** * initialize RX tasks and queues * @return task initialization status */ osa_status_t HostInterface_RxInit() { osa_status_t status; // install the callback UART_DRV_InstallRxCallback( gHostInterface_instance, HostInterface_RxCallback, (uint8_t*)&hostInterface_rxPacket, NULL, true ); // Create Rx Message Queue hostInterface_rxQueueHnd = OSA_MsgQCreate ( hostInterface_rxQueue, gHostInterface_msgNum, sizeof(hostInterface_packet_t) / sizeof(uint32_t) ); if ( NULL == hostInterface_rxQueueHnd ) { catch(3); } #if defined( HEXIWEAR_DEBUG ) vQueueAddToRegistry( hostInterface_rxQueueHnd, (const char*)"RxQueue" ); #endif // Create Rx Task status = OSA_TaskCreate ( HostInterface_RxTask, (uint8_t*)"HostInterface_RxTask", gHostInterfaceRxTaskStackSize_c, NULL, gHostInterfaceRxPriority_c, (task_param_t)NULL, false, &hexiwear_intf_RX_handler ); if ( kStatus_OSA_Success != status ) { catch(3); } return (osa_status_t)status; }