// ros service callback function for toggling Cam bool toggleCamCallback(std_srvs::Empty::Request& request, std_srvs::Empty::Response& response) { if (cam_state == 0) // toggle to 1, the vertical camera { cam_state = 1; #ifdef _USING_SDK_1_7_ ARDRONE_TOOL_CONFIGURATION_ADDEVENT (video_channel, &cam_state, NULL); #else ardrone_at_set_toy_configuration("video:video_channel","1"); #endif fprintf(stderr, "\nToggling from frontal camera to vertical camera.\n"); } else if (cam_state == 1) // toggle to the forward camera { cam_state = 0; #ifdef _USING_SDK_1_7_ ARDRONE_TOOL_CONFIGURATION_ADDEVENT (video_channel, &cam_state, NULL); #else ardrone_at_set_toy_configuration("video:video_channel","0"); #endif fprintf(stderr, "\nToggling from vertical camera to frontal camera.\n"); } return true; }
static C_RESULT ardrone_tool_configure() { if( configure_data[configure_index].var != NULL && configure_data[configure_index].value != NULL ) { ack_config.event = ACK_CONTROL_MODE; ack_config.num_retries = 20; ack_config.status = ARDRONE_CONTROL_EVENT_WAITING; ack_config.ardrone_control_event_start = NULL; ack_config.ardrone_control_event_end = ardrone_tool_end_configure; ack_config.ack_state = ACK_COMMAND_MASK_TRUE; ardrone_at_set_toy_configuration( configure_data[configure_index].var, configure_data[configure_index].value ); ardrone_at_send(); ardrone_control_send_event( (ardrone_control_event_t*)&ack_config ); } return C_OK; }
static void ardrone_tool_end_configure( struct _ardrone_control_event_t* event ) { if( event->status == ARDRONE_CONTROL_EVENT_FINISH_SUCCESS ) configure_index ++; if( configure_data[configure_index].var != NULL && configure_data[configure_index].value != NULL ) { ack_config.event = ACK_CONTROL_MODE; ack_config.num_retries = 20; ack_config.status = ARDRONE_CONTROL_EVENT_WAITING; ack_config.ardrone_control_event_start = NULL; ack_config.ardrone_control_event_end = ardrone_tool_end_configure; ack_config.ack_state = ACK_COMMAND_MASK_TRUE; ardrone_at_set_toy_configuration( configure_data[configure_index].var, configure_data[configure_index].value ); ardrone_at_send(); ardrone_control_send_event( (ardrone_control_event_t*)&ack_config ); } }
static void ihm_send_VideoBitrate ( GtkWidget *widget, gpointer data ) { ardrone_at_set_toy_configuration("video:bitrate", gtk_entry_get_text(GTK_ENTRY(video_bitrateEntry))); }