Esempio n. 1
0
void settingsUpdated(UAVObjEvent * ev) {
	uint8_t preprogrammedPath = pathPlannerSettings.PreprogrammedPath;
	PathPlannerSettingsGet(&pathPlannerSettings);
	if (pathPlannerSettings.PreprogrammedPath != preprogrammedPath) {
		switch(pathPlannerSettings.PreprogrammedPath) {
			case PATHPLANNERSETTINGS_PREPROGRAMMEDPATH_NONE:
				break;
			case PATHPLANNERSETTINGS_PREPROGRAMMEDPATH_10M_BOX:
				createPathBox();
				break;
			case PATHPLANNERSETTINGS_PREPROGRAMMEDPATH_LOGO:
				createPathLogo();
				break;

		}
	}
}
Esempio n. 2
0
void settingsUpdated(UAVObjEvent * ev) {
	uint8_t preprogrammedPath = pathPlannerSettings.PreprogrammedPath;
	int32_t retval = 0;
	bool    operation = false;

	PathPlannerSettingsGet(&pathPlannerSettings);
	switch (pathPlannerSettings.FlashOperation) {
	case PATHPLANNERSETTINGS_FLASHOPERATION_LOAD1:
		retval = pathplanner_load_path(1);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_LOAD2:
		retval = pathplanner_load_path(2);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_LOAD3:
		retval = pathplanner_load_path(3);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_LOAD4:
		retval = pathplanner_load_path(4);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_LOAD5:
		retval = pathplanner_load_path(5);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_SAVE1:
		retval = pathplanner_save_path(1);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_SAVE2:
		retval = pathplanner_save_path(2);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_SAVE3:
		retval = pathplanner_save_path(3);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_SAVE4:
		retval = pathplanner_save_path(4);
		operation = true;
		break;
	case PATHPLANNERSETTINGS_FLASHOPERATION_SAVE5:
		retval = pathplanner_save_path(5);
		operation = true;
		break;
	}

	if (pathPlannerSettings.PreprogrammedPath != preprogrammedPath &&
	    pathPlannerSettings.FlashOperation == PATHPLANNERSETTINGS_FLASHOPERATION_NONE) {
		switch(pathPlannerSettings.PreprogrammedPath) {
			case PATHPLANNERSETTINGS_PREPROGRAMMEDPATH_NONE:
				break;
			case PATHPLANNERSETTINGS_PREPROGRAMMEDPATH_10M_BOX:
				createPathBox();
				break;
			case PATHPLANNERSETTINGS_PREPROGRAMMEDPATH_LOGO:
				createPathLogo();
				break;

		}
	}

	if (operation && (retval == 0)) {
		pathPlannerSettings.FlashOperation = PATHPLANNERSETTINGS_FLASHOPERATION_COMPLETED;
		PathPlannerSettingsSet(&pathPlannerSettings);
	} else if (retval != 0) {
		pathPlannerSettings.FlashOperation = PATHPLANNERSETTINGS_FLASHOPERATION_FAILED;
		PathPlannerSettingsSet(&pathPlannerSettings);
	}

}