mav_result_t onboard_parameters_preflight_storage(onboard_parameters_t* onboard_parameters, mavlink_command_long_t* msg)
{
	mav_result_t result = MAV_RESULT_DENIED;
	
	// Onboard parameters storage
	if (msg->param1 == 0)
	{
	 	// read parameters from flash
	 	print_util_dbg_print("Reading from flashc...\r\n");
		if(onboard_parameters_read_parameters_from_flashc(onboard_parameters))
		{
			result = MAV_RESULT_ACCEPTED;
			// TODO: update simulation calibration values
			//simulation_calib_set(&sim_model);
	 	}
		else
		{
			result = MAV_RESULT_DENIED;
		}
	}
	else if (msg->param1 == 1)
	{
	 	// write parameters to flash
	 	//print_util_dbg_print("No Writing to flashc\n");
	 	print_util_dbg_print("Writing to flashc\r\n");
	 	onboard_parameters_write_parameters_to_flashc(onboard_parameters);
		
		result = MAV_RESULT_ACCEPTED;
	}

	return result;
}
Example #2
0
void onboard_parameters_preflight_storage(onboard_parameters_t* onboard_parameters, mavlink_command_long_t* msg)
{
	// Onboard parameters storage
	if (msg->param1 == 0)
	{
	 	// read parameters from flash
	 	print_util_dbg_print("Reading from flashc...\r\n");
		if(onboard_parameters_read_parameters_from_flashc(onboard_parameters))
		{
			// TODO: update simulation calibration values
			//simulation_calib_set(&sim_model);
	 	}
	}
	else if (msg->param1 == 1)
	{
	 	// write parameters to flash
	 	//print_util_dbg_print("No Writing to flashc\n");
	 	print_util_dbg_print("Writing to flashc\r\n");
	 	onboard_parameters_write_parameters_to_flashc(onboard_parameters);
	}

	mavlink_message_t ack_msg;
	mavlink_msg_command_ack_pack(	onboard_parameters->mavlink_stream->sysid,
									onboard_parameters->mavlink_stream->compid, 
									&ack_msg,
									MAV_CMD_PREFLIGHT_STORAGE, 
									MAV_RESULT_ACCEPTED	);
	mavlink_stream_send(onboard_parameters->mavlink_stream, &ack_msg);
}
Example #3
0
void initialisation() 
{	
	central_data = central_data_get_pointer_to_struct();
	boardsupport_init(central_data);
	central_data_init();

	mavlink_telemetry_init();
	
	//onboard_parameters_write_parameters_to_flashc(&central_data->mavlink_communication.onboard_parameters);
	onboard_parameters_read_parameters_from_flashc(&central_data->mavlink_communication.onboard_parameters);

	central_data->state.mav_state = MAV_STATE_STANDBY;	
	central_data->imu.calibration_level = OFF;	

	piezo_speaker_quick_startup();
	
	// Switch off red LED
	LED_Off(LED2);

	print_util_dbg_print("OK. Starting up.\r\n");
}