瀏覽代碼

multiple sheets,fix of bug in switching sheets from menu

NotaRobotexe 5 年之前
父節點
當前提交
fb35009628
共有 1 個文件被更改,包括 13 次插入4 次删除
  1. 13 4
      Firmware/ultralcd.cpp

+ 13 - 4
Firmware/ultralcd.cpp

@@ -6514,10 +6514,19 @@ static void change_sheet()
 
 static void change_sheet_from_menu(){
 	uint8_t next_sheet = selected_sheet+1;
-	if(next_sheet > 2) next_sheet = 0;
-	if(is_sheet_initialized(next_sheet)){
-		eeprom_update_byte(&(EEPROM_Sheets_base->active_sheet), next_sheet);
-		selected_sheet = next_sheet;
+	while(true){
+		if(next_sheet > 2) next_sheet = 0;
+		if(is_sheet_initialized(next_sheet)){
+			eeprom_update_byte(&(EEPROM_Sheets_base->active_sheet), next_sheet);
+			selected_sheet = next_sheet;
+			break;
+		}
+		else if (next_sheet == selected_sheet){
+			break;
+		}
+		else{
+			next_sheet++;
+		}
 	}
 	menu_back();
 }