Fix serial output for MBL, M303
This commit is contained in:
		
							parent
							
								
									58c8e6cef2
								
							
						
					
					
						commit
						b63d70b186
					
				| @ -71,6 +71,7 @@ | |||||||
| #define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x "\n")); }while(0) | #define SERIAL_PROTOCOLLNPGM(x) do{ serialprintPGM(PSTR(x "\n")); }while(0) | ||||||
| 
 | 
 | ||||||
| #define SERIAL_PROTOCOLPAIR(name, value) SERIAL_ECHOPAIR(name, value) | #define SERIAL_PROTOCOLPAIR(name, value) SERIAL_ECHOPAIR(name, value) | ||||||
|  | #define SERIAL_PROTOCOLLNPAIR(name, value) do{ SERIAL_ECHOPAIR(name, value); SERIAL_EOL; }while(0) | ||||||
| 
 | 
 | ||||||
| extern const char errormagic[] PROGMEM; | extern const char errormagic[] PROGMEM; | ||||||
| extern const char echomagic[] PROGMEM; | extern const char echomagic[] PROGMEM; | ||||||
|  | |||||||
| @ -3280,10 +3280,9 @@ inline void gcode_G28() { | |||||||
|       case MeshReport: |       case MeshReport: | ||||||
|         if (mbl.has_mesh()) { |         if (mbl.has_mesh()) { | ||||||
|           SERIAL_PROTOCOLPAIR("State: ", mbl.active() ? "On" : "Off"); |           SERIAL_PROTOCOLPAIR("State: ", mbl.active() ? "On" : "Off"); | ||||||
|           SERIAL_PROTOCOLPAIR("\nNum X,Y: ", MESH_NUM_X_POINTS); |           SERIAL_PROTOCOLLNPGM("\nNum X,Y: " STRINGIFY(MESH_NUM_X_POINTS) "," STRINGIFY(MESH_NUM_Y_POINTS)); | ||||||
|           SERIAL_PROTOCOLCHAR(','); SERIAL_PROTOCOL(MESH_NUM_Y_POINTS); |           SERIAL_PROTOCOLLNPGM("Z search height: " STRINGIFY(MESH_HOME_SEARCH_Z)); | ||||||
|           SERIAL_PROTOCOLPAIR("\nZ search height: ", MESH_HOME_SEARCH_Z); |           SERIAL_PROTOCOLPGM("Z offset: "); SERIAL_PROTOCOL_F(mbl.z_offset, 5); | ||||||
|           SERIAL_PROTOCOLPGM("\nZ offset: "); SERIAL_PROTOCOL_F(mbl.z_offset, 5); |  | ||||||
|           SERIAL_PROTOCOLLNPGM("\nMeasured points:"); |           SERIAL_PROTOCOLLNPGM("\nMeasured points:"); | ||||||
|           for (py = 0; py < MESH_NUM_Y_POINTS; py++) { |           for (py = 0; py < MESH_NUM_Y_POINTS; py++) { | ||||||
|             for (px = 0; px < MESH_NUM_X_POINTS; px++) { |             for (px = 0; px < MESH_NUM_X_POINTS; px++) { | ||||||
|  | |||||||
| @ -395,8 +395,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) { | |||||||
|     if (file.open(curDir, fname, O_READ)) { |     if (file.open(curDir, fname, O_READ)) { | ||||||
|       filesize = file.fileSize(); |       filesize = file.fileSize(); | ||||||
|       SERIAL_PROTOCOLPAIR(MSG_SD_FILE_OPENED, fname); |       SERIAL_PROTOCOLPAIR(MSG_SD_FILE_OPENED, fname); | ||||||
|       SERIAL_PROTOCOLPAIR(MSG_SD_SIZE, filesize); |       SERIAL_PROTOCOLLNPAIR(MSG_SD_SIZE, filesize); | ||||||
|       SERIAL_EOL; |  | ||||||
|       sdpos = 0; |       sdpos = 0; | ||||||
| 
 | 
 | ||||||
|       SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED); |       SERIAL_PROTOCOLLNPGM(MSG_SD_FILE_SELECTED); | ||||||
| @ -417,8 +416,7 @@ void CardReader::openFile(char* name, bool read, bool push_current/*=false*/) { | |||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|       saving = true; |       saving = true; | ||||||
|       SERIAL_PROTOCOLPAIR(MSG_SD_WRITE_TO_FILE, name); |       SERIAL_PROTOCOLLNPAIR(MSG_SD_WRITE_TO_FILE, name); | ||||||
|       SERIAL_EOL; |  | ||||||
|       lcd_setstatus(fname); |       lcd_setstatus(fname); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @ -449,6 +447,7 @@ void CardReader::removeFile(char* name) { | |||||||
|         if (!myDir.open(curDir, subdirname, O_READ)) { |         if (!myDir.open(curDir, subdirname, O_READ)) { | ||||||
|           SERIAL_PROTOCOLPAIR("open failed, File: ", subdirname); |           SERIAL_PROTOCOLPAIR("open failed, File: ", subdirname); | ||||||
|           SERIAL_PROTOCOLCHAR('.'); |           SERIAL_PROTOCOLCHAR('.'); | ||||||
|  |           SERIAL_EOL; | ||||||
|           return; |           return; | ||||||
|         } |         } | ||||||
|         else { |         else { | ||||||
|  | |||||||
| @ -322,17 +322,17 @@ unsigned char Temperature::soft_pwm[HOTENDS]; | |||||||
|               SERIAL_PROTOCOLPAIR(MSG_T_MIN, min); |               SERIAL_PROTOCOLPAIR(MSG_T_MIN, min); | ||||||
|               SERIAL_PROTOCOLPAIR(MSG_T_MAX, max); |               SERIAL_PROTOCOLPAIR(MSG_T_MAX, max); | ||||||
|               if (cycles > 2) { |               if (cycles > 2) { | ||||||
|                 Ku = (4.0 * d) / (3.14159265 * (max - min) * 0.5); |                 Ku = (4.0 * d) / (M_PI * (max - min) * 0.5); | ||||||
|                 Tu = ((float)(t_low + t_high) * 0.001); |                 Tu = ((float)(t_low + t_high) * 0.001); | ||||||
|                 SERIAL_PROTOCOLPAIR(MSG_KU, Ku); |                 SERIAL_PROTOCOLPAIR(MSG_KU, Ku); | ||||||
|                 SERIAL_PROTOCOLPAIR(MSG_TU, Tu); |                 SERIAL_PROTOCOLPAIR(MSG_TU, Tu); | ||||||
|                 workKp = 0.6 * Ku; |                 workKp = 0.6 * Ku; | ||||||
|                 workKi = 2 * workKp / Tu; |                 workKi = 2 * workKp / Tu; | ||||||
|                 workKd = workKp * Tu * 0.125; |                 workKd = workKp * Tu * 0.125; | ||||||
|                 SERIAL_PROTOCOLLNPGM(MSG_CLASSIC_PID); |                 SERIAL_PROTOCOLLNPGM("\n" MSG_CLASSIC_PID); | ||||||
|                 SERIAL_PROTOCOLPAIR(MSG_KP, workKp); |                 SERIAL_PROTOCOLPAIR(MSG_KP, workKp); | ||||||
|                 SERIAL_PROTOCOLPAIR(MSG_KI, workKi); |                 SERIAL_PROTOCOLPAIR(MSG_KI, workKi); | ||||||
|                 SERIAL_PROTOCOLPAIR(MSG_KD, workKd); |                 SERIAL_PROTOCOLLNPAIR(MSG_KD, workKd); | ||||||
|                 /**
 |                 /**
 | ||||||
|                 workKp = 0.33*Ku; |                 workKp = 0.33*Ku; | ||||||
|                 workKi = workKp/Tu; |                 workKi = workKp/Tu; | ||||||
| @ -390,40 +390,38 @@ unsigned char Temperature::soft_pwm[HOTENDS]; | |||||||
| 
 | 
 | ||||||
|         #if HAS_PID_FOR_BOTH |         #if HAS_PID_FOR_BOTH | ||||||
|           const char* estring = hotend < 0 ? "bed" : ""; |           const char* estring = hotend < 0 ? "bed" : ""; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kp ", workKp); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kp ", workKp); SERIAL_EOL; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Ki ", workKi); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Ki ", workKi); SERIAL_EOL; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kd ", workKd); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_", estring); SERIAL_PROTOCOLPAIR("Kd ", workKd); SERIAL_EOL; | ||||||
|         #elif ENABLED(PIDTEMP) |         #elif ENABLED(PIDTEMP) | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_Kp ", workKp); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_Kp ", workKp); SERIAL_EOL; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_Ki ", workKi); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_Ki ", workKi); SERIAL_EOL; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_Kd ", workKd); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_Kd ", workKd); SERIAL_EOL; | ||||||
|         #else |         #else | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_bedKp ", workKp); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_bedKp ", workKp); SERIAL_EOL; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_bedKi ", workKi); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_bedKi ", workKi); SERIAL_EOL; | ||||||
|           SERIAL_PROTOCOLPAIR("#define  DEFAULT_bedKd ", workKd); |           SERIAL_PROTOCOLPAIR("#define  DEFAULT_bedKd ", workKd); SERIAL_EOL; | ||||||
|         #endif |         #endif | ||||||
| 
 | 
 | ||||||
|         #define _SET_BED_PID() \ |         #define _SET_BED_PID() do { \ | ||||||
|           bedKp = workKp; \ |           bedKp = workKp; \ | ||||||
|           bedKi = scalePID_i(workKi); \ |           bedKi = scalePID_i(workKi); \ | ||||||
|           bedKd = scalePID_d(workKd); \ |           bedKd = scalePID_d(workKd); \ | ||||||
|           updatePID() |           updatePID(); } while(0) | ||||||
| 
 | 
 | ||||||
|         #define _SET_EXTRUDER_PID() \ |         #define _SET_EXTRUDER_PID() do { \ | ||||||
|           PID_PARAM(Kp, hotend) = workKp; \ |           PID_PARAM(Kp, hotend) = workKp; \ | ||||||
|           PID_PARAM(Ki, hotend) = scalePID_i(workKi); \ |           PID_PARAM(Ki, hotend) = scalePID_i(workKi); \ | ||||||
|           PID_PARAM(Kd, hotend) = scalePID_d(workKd); \ |           PID_PARAM(Kd, hotend) = scalePID_d(workKd); \ | ||||||
|           updatePID() |           updatePID(); } while(0) | ||||||
| 
 | 
 | ||||||
|         // Use the result? (As with "M303 U1")
 |         // Use the result? (As with "M303 U1")
 | ||||||
|         if (set_result) { |         if (set_result) { | ||||||
|           #if HAS_PID_FOR_BOTH |           #if HAS_PID_FOR_BOTH | ||||||
|             if (hotend < 0) { |             if (hotend < 0) | ||||||
|               _SET_BED_PID(); |               _SET_BED_PID(); | ||||||
|             } |             else | ||||||
|             else { |  | ||||||
|               _SET_EXTRUDER_PID(); |               _SET_EXTRUDER_PID(); | ||||||
|             } |  | ||||||
|           #elif ENABLED(PIDTEMP) |           #elif ENABLED(PIDTEMP) | ||||||
|             _SET_EXTRUDER_PID(); |             _SET_EXTRUDER_PID(); | ||||||
|           #else |           #else | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user