#ifndef REMOTE_PRINTER_CONSTANT_H
#define REMOTE_PRINTER_CONSTANT_H

#include <QtCore/QString>
#include <QObject>

enum class RemotePrinerType
{
	REMOTE_PRINTER_TYPE_NONE = -1,
	REMOTE_PRINTER_TYPE_LAN,//������
	REMOTE_PRINTER_TYPE_OCTOPRINT,//octoprint
	REMOTE_PRINTER_TYPE_KLIPPER,//klipper
	REMOTE_PRINTER_TYPE_KLIPPER4408//klipper4408
};

enum class PrintControlType : short
{
	PRINT_START,
	PRINT_WITH_CALIBRATION,
	PRINT_PAUSE,
	PRINT_CONTINUE,
	PRINT_STOP,
	CONTROL_MOVE_X,
	CONTROL_MOVE_Y,
	CONTROL_MOVE_Z,
	CONTROL_MOVE_XY0,
	CONTROL_MOVE_Z0,
	CONTROL_CMD_FAN,
	CONTROL_CMD_LED,
	CONTROL_CMD_BEDTEMP,
	CONTROL_CMD_NOZZLETEMP,
	CONTROL_CMD_FEEDRATEPCT,
	CONTROL_CMD_AUTOHOME,
	CONTROL_CMD_FANCASE,
	CONTROL_CMD_FANAUXILIARY,
	CONTROL_CMD_RESTART_KLIPPER,
	CONTROL_CMD_RESTART_FIRMWARE,
	CONTROL_CMD_REPOPLRSTATUS,
	CONTROL_CMD_CLEANERR,
	CONTROL_CMD_1STNOZZLETEMP,
	CONTROL_CMD_2NDNOZZLETEMP,
	CONTROL_CMD_CHAMBERTEMP,
	CONTROL_CMD_MODELFANPCT,
	CONTROL_CMD_CASEFANPCT,
	CONTROL_CMD_AUXILIARYFANPCT,
	CONTROL_CMD_EXCLUDEOBJECTS,
	CONTROL_CMD_HOSTNAME,
	CONTROL_CMD_COLORAUTOMATCH,
	CONTROL_CMD_MULTICOLORPRINT

};

enum class PrintErrorType
{
	DOWNLOAD_FILE_FAIL=2,
	DISCONNECT_FAIL,
	BROKEN_SERIAL_FAIL,
	FILE_NOT_FOUND_FAIL,
	HEATING_FAIL,
	SYSTEM_FAIL,
	TIMEOUT_FAIL,
	TF_NOT_CONNECT_FAIL,
	TF_NO_SPACE_FAIL,
	DOWNLOAD_FILE_UPGREAD_FAIL,
	TF_NOT_CONNECT_UPGREAD_FAIL,
	TF_NO_SPACE_UPGREAD_FAIL,
	FILE_INVALID_UPGREAD_FAIL
};

enum class OpPrinerFileType
{
	GCODE_FILE,
	HISTORY_FILE,
	VIDEO_FILE
};

#endif // REMOTE_PRINTER_CONSTANT_H