C_RESULT ardrone_navdata_control_process( const navdata_unpacked_t* const navdata ) { /* Signal the client control thread that new navdata arrived. * The control thread can then decide, depending on the ACK bit value, * to send AT commands to retrieve the configuration or set a configuration parameter. */ return ardrone_control_resume_on_navdata_received(navdata->ardrone_state); }
C_RESULT ardrone_control_shutdown(void) { ardrone_control_resume_on_navdata_received(0); /*BUG FIX : Dont destroy the mutexes here, they are still being used by the ardrone_control thread, while this function is called by another thread.*/ bContinue = FALSE; return C_OK; }
C_RESULT ardrone_control_shutdown(void) { ardrone_control_resume_on_navdata_received(0); /*BUG FIX : Dont destroy the mutexes here, they are still being used by the ardrone_control thread, while this function is called by another thread.*/ #ifdef THIS_IS_A_BUG vp_os_mutex_destroy(&event_queue_mutex); vp_os_cond_destroy(&control_cond); vp_os_mutex_destroy(&control_mutex);*/ #endif bContinue = FALSE; return C_OK; }