static inline C_RESULT navdata_process( const navdata_unpacked_t* const navdata ) { if( writeToFile ) { if( navdata_file == NULL ) { ardrone_navdata_file_data data; data.filename = NULL; data.print_header = NULL; data.print = NULL; ardrone_navdata_file_init(NULL); } ardrone_navdata_file_process( navdata ); } else { if(navdata_file != NULL) ardrone_navdata_file_release(); } vp_os_mutex_lock( &inst_nav_mutex); vp_os_memcpy(&inst_nav, navdata, sizeof(navdata_unpacked_t)); vp_os_mutex_unlock( &inst_nav_mutex ); return C_OK; }
static inline C_RESULT ardrone_navdata_process( const navdata_unpacked_t* const navdata ) { if( writeToFile ) { if( navdata_file == NULL ) { ardrone_navdata_file_init(root_dir); PRINT("Saving in %s file\n", root_dir); } ardrone_navdata_file_process( navdata ); } else { if(navdata_file != NULL) ardrone_navdata_file_release(); } vp_os_mutex_lock( &inst_nav_mutex); /* inst_nav.ardrone_state = navdata->ardrone_state; inst_nav.vision_defined = navdata->vision_defined; vp_os_memcpy(&inst_nav.navdata_demo, &navdata->navdata_demo, sizeof(navdata_demo_t)); vp_os_memcpy(&inst_nav.navdata_vision_detect, &navdata->navdata_vision_detect, sizeof(navdata_vision_detect_t)); */ vp_os_memcpy(&inst_nav, navdata, sizeof(navdata_unpacked_t)); vp_os_mutex_unlock( &inst_nav_mutex ); return C_OK; }