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; }
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); }
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(¢ral_data->mavlink_communication.onboard_parameters); onboard_parameters_read_parameters_from_flashc(¢ral_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"); }