sdcp

package
v0.0.0-...-f54c1c2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BroadcastIP   = "255.255.255.255"
	BroadcastPort = 3000
)

Variables

View Source
var (
	ErrUnableCreateUDPSocket = errors.New("unable to create udp socket")
	ErrBroadcastFailed       = errors.New("broadcast failed")
	ErrReadingUDPSocket      = errors.New("reading udp socket failed")
)
View Source
var (
	ErrDialFailed               = errors.New("dial failed")
	ErrStatusRefreshFailed      = errors.New("status refresh failed")
	ErrAttributesRefreshFailed  = errors.New("attributes refresh failed")
	ErrEnableDisableVideoFailed = errors.New("enable/disable video failed")
)
View Source
var (
	ErrAlreadyRegistered = errors.New("machine already registered")
	ErrRegisterFailed    = errors.New("failed to register machine")
)

Functions

This section is empty.

Types

type Attributes

type Attributes struct {
	MachineName                  string              `json:"Name"`                         // Machine Name
	MachineModel                 string              `json:"MachineName"`                  // Machine Model
	BrandName                    string              `json:"BrandName"`                    // Brand Name
	ProtocolVersion              string              `json:"ProtocolVersion"`              // Protocol Version
	FirmwareVersion              string              `json:"FirmwareVersion"`              // Firmware Version
	Resolution                   string              `json:"Resolution"`                   // Resolution
	XYZsize                      string              `json:"XYZsize"`                      // Maximum printing dimensions in the XYZ directions of the machine (millimeters)
	MainboardIP                  string              `json:"MainboardIP"`                  // Motherboard IP Address
	MainboardID                  string              `json:"MainboardID"`                  // Motherboard ID (16-bit)
	NumberOfVideoStreamConnected int                 `json:"NumberOfVideoStreamConnected"` // Number of Connected Video Streams
	MaximumVideoStreamAllowed    int                 `json:"MaximumVideoStreamAllowed"`    // Maximum Number of Connections for Video Streams
	NetworkStatus                NetworkStatus       `json:"NetworkStatus"`                // Network Connection Status
	UsbDiskStatus                UsbDiskStatus       `json:"UsbDiskStatus"`                // USB Drive Connection Status
	Capabilities                 []Capabilities      `json:"Capabilities"`                 // Supported Sub-protocols on the Motherboard
	SupportFileType              []SupportedFileType `json:"SupportFileType"`              // Supported File Types
	DevicesStatus                DeviceStatus        `json:"DevicesStatus"`                // Device Self-Check Status
	ReleaseFilmMax               int                 `json:"ReleaseFilmMax"`               // Maximum number of uses (service life) for the release film
	TempOfUVLEDMax               float64             `json:"TempOfUVLEDMax"`               // Maximum operating temperature for UVLED (Celsius)
	CameraStatus                 CameraStatus        `json:"CameraStatus"`                 // Camera Connection Status
	RemainingMemory              int                 `json:"RemainingMemory"`              // Remaining File Storage Space Size (bits)
	TLPNoCapPos                  float64             `json:"TLPNoCapPos"`                  // Model height threshold for not performing time-lapse photography (millimeters)
	TLPStartCapPos               float64             `json:"TLPStartCapPos"`               // The print height at which time-lapse photography begins (millimeters)
	TLPInterLayers               int                 `json:"TLPInterLayers"`               // Time-lapse photography shooting interval layers
}

type AttributesMessage

type AttributesMessage struct {
	TopicMessage
	Attributes  Attributes `json:"Attributes"`
	MainboardID string     `json:"MainboardID"` // Motherboard ID (16-bit)
	TimeStamp   int        `json:"TimeStamp"`   // Timestamp
}

type AttributesRefreshRequest

type AttributesRefreshRequest struct{}

type AttributesRefreshResponse

type AttributesRefreshResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type BatchDeleteFilesRequest

type BatchDeleteFilesRequest struct {
	FileList   []Path `json:"FileList"`   // List of File Names to Delete
	FolderList []Path `json:"FolderList"` // List of Folder Names to Delete
}

type BatchDeleteFilesResponse

type BatchDeleteFilesResponse struct {
	Ack     int    `json:"Ack"`               // Acknowledgement
	ErrData []Path `json:"ErrData,omitempty"` // List of Files or Folders that Failed to Delete
}

type CameraStatus

type CameraStatus int
const (
	CameraStatusDisconnected CameraStatus = 0
	CameraStatusConnected    CameraStatus = 1
)

type Capabilities

type Capabilities string
const (
	CapabilitiesFileTransfer Capabilities = "FILE_TRANSFER"
	CapabilitiesPrintControl Capabilities = "PRINT_CONTROL"
	CapabilitiesVideoStream  Capabilities = "VIDEO_STREAM"
)

type ChangePrinterNameRequest

type ChangePrinterNameRequest struct {
	Name string `json:"Name"` // New Printer Name
}

type ChangePrinterNameResponse

type ChangePrinterNameResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type Command

type Command int
const (
	CommandStatusRefresh     Command = 0
	CommandAttributesRefresh Command = 1

	CommandStartPrint          Command = 128
	CommandPausePrint          Command = 129
	CommandStopPrint           Command = 130
	CommandResumePrint         Command = 131
	CommandStopFeedingMaterial Command = 132
	CommandSkipPreheating      Command = 133

	CommandChangePrinterName Command = 192

	CommandTerminateFileTransfer Command = 255

	CommandRetrieveFileList Command = 258
	CommandBatchDeleteFiles Command = 259

	CommandRetrieveHistoricalTasks Command = 320
	CommandRetrieveTaskDetails     Command = 321

	CommandEnableDisableVideoStream Command = 386
	CommandEnableDisableTimeLapse   Command = 387
)

type ControlAck

type ControlAck int
const (
	ControlAckOk                ControlAck = 0 // OK
	ControlAckBusy              ControlAck = 1 // Busy
	ControlAckNotFound          ControlAck = 2 // File Not Found
	ControlAckMd5FailFailed     ControlAck = 3 // MD5 Verification Failed
	ControlAckFileIOFailed      ControlAck = 4 // File Read Failed
	ControlAckInvalidResolution ControlAck = 5 // Resolution Mismatch
	ControlAckUnknownFormat     ControlAck = 6 // Unrecognized File Format
	ControlAckUnknownModel      ControlAck = 7 // Machine Model Mismatch
)

type DeviceStatus

type DeviceStatus struct {
	TempSensorStatusOfUVLED TempSensorStatusOfUVLED `json:"TempSensorStatusOfUVLED"` // UVLED Temperature Sensor Status
	LCDStatus               LCDStatus               `json:"LCDStatus"`               // Exposure Screen Connection Status
	SgStatus                SgStatus                `json:"SgStatus"`                // Strain Gauge Status
	ZMotorStatus            ZMotorStatus            `json:"ZMotorStatus"`            // Z-Axis Motor Connection Status
	RotateMotorStatus       RotateMotorStatus       `json:"RotateMotorStatus"`       // Rotary Axis Motor Connection Status
	ReleaseFilmState        ReleaseFilmState        `json:"ReleaseFilmState"`        // Release Film Status
	XMotorStatus            XMotorStatus            `json:"XMotorStatus"`            // X-Axis Motor Connection Status
}

type DiscoverData

type DiscoverData struct {
	MachineName     string `json:"Name"`            // Machine Name
	MachineModel    string `json:"MachineName"`     // Machine Model
	BrandName       string `json:"BrandName"`       // Brand Name
	MainboardIP     string `json:"MainboardIP"`     // Motherboard IP Address
	MainboardID     string `json:"MainboardID"`     // Motherboard ID (16-bit)
	ProtocolVersion string `json:"ProtocolVersion"` // Protocol Version
	FirmwareVersion string `json:"FirmwareVersion"` // Firmware Version
}

type DiscoverMessage

type DiscoverMessage struct {
	ID   string       `json:"Id"` // Machine brand identifier, 32-bit UUID
	Data DiscoverData `json:"Data"`
}

func Discover

func Discover(logger types.Logger, ctx context.Context) ([]DiscoverMessage, error)

type EnableDisable

type EnableDisable int
const (
	EnableDisableDisable EnableDisable = 0
	EnableDisableEnable  EnableDisable = 1
)

type EnableDisableTimeLapseRequest

type EnableDisableTimeLapseRequest struct {
	Enable EnableDisable `json:"Enable"` // Enable or Disable Time-lapse Photography
}

type EnableDisableTimeLapseResponse

type EnableDisableTimeLapseResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type EnableDisableVideoStreamRequest

type EnableDisableVideoStreamRequest struct {
	Enable EnableDisable `json:"Enable"` // Enable or Disable Video Stream
}

type EnableDisableVideoStreamResponse

type EnableDisableVideoStreamResponse struct {
	Ack      StreamAck `json:"Ack"`      // Acknowledgement
	VideoUrl string    `json:"VideoUrl"` // When opening the video stream, return the RTSP protocol address
}

type Error

type Error struct {
	TopicMessage
	Id   string    `json:"Id"`   // Machine brand identifier, 32-bit UUID
	Data ErrorData `json:"Data"` // Error Data
}

type ErrorCode

type ErrorCode int
const (
	ErrorCodeMD5Failed    ErrorCode = 1 // File Transfer MD5 Check Failed
	ErrorCodeFormatFailed ErrorCode = 2 // File format is incorrect
)

type ErrorCodeData

type ErrorCodeData struct {
	ErrorCode ErrorCode `json:"ErrorCode"` // Error Code
}

type ErrorData

type ErrorData struct {
	Data        ErrorCodeData `json:"Data"`        // Error Data
	MainboardID string        `json:"MainboardID"` // Motherboard ID (16-bit)
	TimeStamp   int           `json:"TimeStamp"`   // Timestamp
}

type FileList

type FileList struct {
	Name        Path        `json:"name"`      // Current File or Folder Path
	UsedSize    int         `json:"usedSize"`  // Used Storage Space (bytes)
	TotalSize   int         `json:"totalSize"` // Total Storage Space (bytes)
	StorageType StorageType `json:"storageType"`
	Type        FileType    `json:"type"`
}

type FileTransferAck

type FileTransferAck int
const (
	FileTransferAckSuccess     FileTransferAck = 0 // Success
	FileTransferAckNotTransfer FileTransferAck = 1 // The printer is not currently transferring files.
	FileTransferAckChecking    FileTransferAck = 2 // The printer is already in the file verification phase.
	FileTransferAckNotFound    FileTransferAck = 3 // File not found.
)

type FileType

type FileType int
const (
	FileTypeFolder FileType = 0
	FileTypeFile   FileType = 1
)

type From

type From int
const (
	FromPC     From = 0 // Local PC Software Local Area Network
	FromWebPC  From = 1 // PC Software via WEB
	FromWeb    From = 2 // Web Client
	FromApp    From = 3 // APP
	FromServer From = 4 // Server
)

type LCDStatus

type LCDStatus int
const (
	LCDStatusDisconnected LCDStatus = 0
	LCDStatusConnected    LCDStatus = 1
)

type Machine

type Machine struct {
	// contains filtered or unexported fields
}

func (*Machine) Attributes

func (m *Machine) Attributes() *Attributes

func (*Machine) AttributesRefresh

func (m *Machine) AttributesRefresh(ctx context.Context) (*AttributesRefreshResponse, error)

func (*Machine) AttributesRefreshWait

func (m *Machine) AttributesRefreshWait(ctx context.Context) (*Attributes, error)

func (*Machine) EnableDisableVideo

func (m *Machine) EnableDisableVideo(ctx context.Context, enable bool) (*EnableDisableVideoStreamResponse, error)

func (*Machine) Status

func (m *Machine) Status() *Status

func (*Machine) StatusRefresh

func (m *Machine) StatusRefresh(ctx context.Context) (*StatusRefreshResponse, error)

func (*Machine) StatusRefreshWait

func (m *Machine) StatusRefreshWait(ctx context.Context) (*Status, error)

type MachineStatus

type MachineStatus int
const (
	MachineStatusIdle             MachineStatus = 0 // Idle
	MachineStatusPrinting         MachineStatus = 1 // Printing
	MachineStatusFileTransferring MachineStatus = 2 // File Transferring
	MachineStatusExposureTesting  MachineStatus = 3 // Exposure Testing
	MachineStatusDevicesTesting   MachineStatus = 4 // Devices Testing
)

type NetworkStatus

type NetworkStatus string
const (
	NetworkStatusWlan NetworkStatus = "wlan"
	NetworkStatusEth  NetworkStatus = "eth"
)

type Notification

type Notification struct {
	TopicMessage
	Id   string           `json:"Id"`   // Machine brand identifier, 32-bit UUID
	Data NotificationData `json:"Data"` // Notification Data
}

type NotificationData

type NotificationData struct {
	Data        NotificationTypeData `json:"Data"`        // Notification Type Data
	MainboardID string               `json:"MainboardID"` // Motherboard ID (16-bit)
	TimeStamp   int                  `json:"TimeStamp"`   // Timestamp
}

type NotificationType

type NotificationType int
const (
	HistorySynchronizationSuccessful NotificationType = 1
)

type NotificationTypeData

type NotificationTypeData struct {
	Message string           `json:"Message"` // Can be a string, can be JSON
	Type    NotificationType `json:"Type"`    // Notification Type
}

type Path

type Path string

func LocalPath

func LocalPath(p string) Path

func USBPath

func USBPath(p string) Path

type PausePrintingRequest

type PausePrintingRequest struct{}

type PausePrintingResponse

type PausePrintingResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type PrintInfo

type PrintInfo struct {
	Status       PrintInfoStatus `json:"Status"`       // Printing Sub-status
	CurrentLayer int             `json:"CurrentLayer"` // Current Printing Layer
	TotalLayer   int             `json:"TotalLayer"`   // Total Number of Print Layers
	CurrentTicks int             `json:"CurrentTicks"` // Current Print Time (milliseconds)
	TotalTicks   int             `json:"TotalTicks"`   // Estimated Total Print Time (milliseconds)
	Filename     string          `json:"Filename"`     // Print File Name
	ErrorNumber  PrintInfoError  `json:"ErrorNumber"`  // Error Number
	TaskId       string          `json:"TaskId"`       // Current Task ID
}

type PrintInfoError

type PrintInfoError int
const (
	PrintInfoErrorNone              PrintInfoError = 0 // Normal
	PrintInfoErrorCheck             PrintInfoError = 1 // File MD5 Check Failed
	PrintInfoErrorFileIO            PrintInfoError = 2 // File Read Failed
	PrintInfoErrorInvalidResolution PrintInfoError = 3 // Resolution Mismatch
	PrintInfoErrorUnknownFormat     PrintInfoError = 4 // Format Mismatch
	PrintInfoErrorUnknownModel      PrintInfoError = 5 // Machine Model Mismatch
)

type PrintInfoStatus

type PrintInfoStatus int
const (
	PrintInfoStatusIdle         PrintInfoStatus = 0  // Idle
	PrintInfoStatusHoming       PrintInfoStatus = 1  // Homing
	PrintInfoStatusDropping     PrintInfoStatus = 2  // Dropping
	PrintInfoStatusExposing     PrintInfoStatus = 3  // Exposing
	PrintInfoStatusLifting      PrintInfoStatus = 4  // Lifting
	PrintInfoStatusPausing      PrintInfoStatus = 5  // Pausing
	PrintInfoStatusPaused       PrintInfoStatus = 6  // Paused
	PrintInfoStatusStopping     PrintInfoStatus = 7  // Stopping
	PrintInfoStatusStopped      PrintInfoStatus = 8  // Stopped
	PrintInfoStatusComplete     PrintInfoStatus = 9  // Complete
	PrintInfoStatusFileChecking PrintInfoStatus = 10 // File Checking
)

type ReleaseFilmState

type ReleaseFilmState int
const (
	ReleaseFilmStateAbnormal ReleaseFilmState = 0
	ReleaseFilmStateNormal   ReleaseFilmState = 1
)

type Request

type Request[T any] struct {
	TopicMessage
	Id   string         `json:"Id"`   // Machine brand identifier, 32-bit UUID
	Data RequestData[T] `json:"Data"` // Request Data
}

type RequestData

type RequestData[T any] struct {
	Cmd         Command `json:"Cmd"`         // Request Command
	Data        T       `json:"Data"`        // Request Data
	RequestID   string  `json:"RequestID"`   // Request ID
	MainboardID string  `json:"MainboardID"` // Motherboard ID
	TimeStamp   int     `json:"TimeStamp"`   // Timestamp
	From        From    `json:"From"`        // Identify the source of the command
}

type Response

type Response[T any] struct {
	TopicMessage
	Id   string          `json:"Id"`   // Machine brand identifier, 32-bit UUID
	Data ResponseData[T] `json:"Data"` // Response Data
}

type ResponseData

type ResponseData[T any] struct {
	Cmd         Command `json:"Cmd"`         // Response Command
	Data        T       `json:"Data"`        // Response Data
	RequestID   string  `json:"RequestID"`   // Request ID
	MainboardID string  `json:"MainboardID"` // Motherboard ID
	TimeStamp   int     `json:"TimeStamp"`   // Timestamp
}

type ResumePrintingRequest

type ResumePrintingRequest struct{}

type ResumePrintingResponse

type ResumePrintingResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type RetrieveFileListRequest

type RetrieveFileListRequest struct {
	Url Path `json:"Url"` // URL for File List
}

type RetrieveFileListResponse

type RetrieveFileListResponse struct {
	Ack      int        `json:"Ack"`
	FileList []FileList `json:"FileList"`
}

type RetrieveHistoricalTasksRequest

type RetrieveHistoricalTasksRequest struct{}

type RetrieveHistoricalTasksResponse

type RetrieveHistoricalTasksResponse struct {
	Ack         int      `json:"Ack"`         // Acknowledgement
	HistoryData []string `json:"HistoryData"` // An ordered list of historical records, where the array elements are the taskid (UUID) of the historical records
}

type RetrieveTaskDetailsRequest

type RetrieveTaskDetailsRequest struct {
	Id []string `json:"Id"` // Task ID List
}

type RetrieveTaskDetailsResponse

type RetrieveTaskDetailsResponse struct {
	Ack               int           `json:"Ack"`               // Acknowledgement
	HistoryDetailList []TaskDetails `json:"HistoryDetailList"` // Task Details
}

type RotateMotorStatus

type RotateMotorStatus int
const (
	RotateMotorStatusDisconnected RotateMotorStatus = 0
	RotateMotorStatusConnected    RotateMotorStatus = 1
)

type SDCP

type SDCP struct {
	// contains filtered or unexported fields
}

func New

func New(logger types.Logger) *SDCP

func (*SDCP) Close

func (s *SDCP) Close()

func (*SDCP) GetMachine

func (s *SDCP) GetMachine(machineID string) (*Machine, bool)

func (*SDCP) Register

func (s *SDCP) Register(machineID string, machineIP string) error

func (*SDCP) Unregister

func (s *SDCP) Unregister(machineID string) bool

type SgStatus

type SgStatus int
const (
	SgStatusDisconnected      SgStatus = 0
	SgStatusNormal            SgStatus = 1
	SgStatusCalibrationFailed SgStatus = 2
)

type SkipPreheatingRequest

type SkipPreheatingRequest struct{}

type SkipPreheatingResponse

type SkipPreheatingResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type StartPrintingRequest

type StartPrintingRequest struct {
	Filename   string `json:"Filename"`   // File Name or File Path
	StartLayer int    `json:"StartLayer"` // Start Printing Layer Number
}

type StartPrintingResponse

type StartPrintingResponse struct {
	Ack ControlAck `json:"Ack"` // Acknowledgement
}

type Status

type Status struct {
	CurrentStatus   []MachineStatus `json:"CurrentStatus"`   // Current Machine Status
	PreviousStatus  MachineStatus   `json:"PreviousStatus"`  // Previous Machine Status
	PrintScreen     float64         `json:"PrintScreen"`     // Total Exposure Screen Usage Time (seconds)
	ReleaseFilm     int             `json:"ReleaseFilm"`     // Total Release Film Usage Count
	TempOfUVLED     float64         `json:"TempOfUVLED"`     // Current UVLED Temperature (Celsius)
	TimeLapseStatus TimeLapseStatus `json:"TimeLapseStatus"` // Time-lapse Photography Switch Status
	TempOfBox       float64         `json:"TempOfBox"`       // Current Enclosure Temperature (Celsius)
	TempTargetBox   float64         `json:"TempTargetBox"`   // Target Enclosure Temperature (Celsius)
	PrintInfo       PrintInfo       `json:"PrintInfo"`
}

type StatusMessage

type StatusMessage struct {
	TopicMessage
	Status      Status `json:"Status"`
	MainboardID string `json:"MachineID"` // Motherboard ID (16-bit)
	TimeStamp   int    `json:"TimeStamp"` // Timestamp
}

type StatusRefreshRequest

type StatusRefreshRequest struct{}

type StatusRefreshResponse

type StatusRefreshResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type StopFeedingMaterialRequest

type StopFeedingMaterialRequest struct{}

type StopFeedingMaterialResponse

type StopFeedingMaterialResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type StopPrintingRequest

type StopPrintingRequest struct{}

type StopPrintingResponse

type StopPrintingResponse struct {
	Ack int `json:"Ack"` // Acknowledgement
}

type StorageType

type StorageType int
const (
	StorageTypeInternal StorageType = 0
	StorageTypeExternal StorageType = 1
)

type StreamAck

type StreamAck int
const (
	StreamAckSuccess  StreamAck = 0 // Success
	StreamAckLimit    StreamAck = 1 // Exceeded maximum simultaneous streaming limit
	StreamAckNotExist StreamAck = 2 // Camera does not exist
	StreamAckUnknown  StreamAck = 3 // Unknown error
)

type SupportedFileType

type SupportedFileType string
const (
	SupportedFileTypeCTB SupportedFileType = "CTB"
	SupportedFileTypeGOO SupportedFileType = "GOO"
)

type TaskDetails

type TaskDetails struct {
	Thumbnail             string               `json:"Thumbnail"`             // Thumbnail Address
	TaskName              string               `json:"TaskName"`              // Task Name
	BeginTime             int                  `json:"BeginTime"`             // Start Time (Timestamp in Seconds)
	EndTime               int                  `json:"EndTime"`               // End Time (Timestamp in Seconds)
	TaskStatus            TaskStatus           `json:"TaskStatus"`            // Task Status
	SliceInformation      struct{}             `json:"SliceInformation"`      // Slice Information
	AlreadyPrintLayer     int                  `json:"AlreadyPrintLayer"`     // Printed Layer Count
	TaskId                string               `json:"TaskId"`                // Task ID
	MD5                   string               `json:"MD5"`                   // MD5 of the Sliced File
	CurrentLayerTalVolume float64              `json:"CurrentLayerTalVolume"` // Total Volume of Printed Layers (milliliters)
	TimeLapseVideoStatus  TimeLapseVideoStatus `json:"TimeLapseVideoStatus"`  // Time-lapse photography status
	TimeLapseVideoUrl     string               `json:"TimeLapseVideoUrl"`     // URL for the time-lapse photography video
	ErrorStatusReason     TaskError            `json:"ErrorStatusReason"`     // Status Code
}

type TaskError

type TaskError int
const (
	TaskErrorOk                    TaskError = 0  // Normal
	TaskErrorTempError             TaskError = 1  // Over-temperature
	TaskErrorCalibrateFailed       TaskError = 2  // Strain Gauge Calibration Failed
	TaskErrorResinLack             TaskError = 3  // Resin Level Low Detected
	TaskErrorResinOver             TaskError = 4  // The volume of resin required by the model exceeds the maximum capacity of the resin vat
	TaskErrorProbeFail             TaskError = 5  // No Resin Detected
	TaskErrorForeignBody           TaskError = 6  // Foreign Object Detected
	TaskErrorLevelFailed           TaskError = 7  // Auto-leveling Failed
	TaskErrorReleaseFailed         TaskError = 8  // Model Detachment Detected
	TaskErrorSgOffline             TaskError = 9  // Strain Gauge Not Connected
	TaskErrorLcdDetFailed          TaskError = 10 // LCD Screen Connection Abnormal
	TaskErrorReleaseOvercount      TaskError = 11 // The cumulative release film usage has reached the maximum value
	TaskErrorUdiskRemove           TaskError = 12 // USB drive detected as removed, printing has been stopped
	TaskErrorHomeFailedX           TaskError = 13 // Detection of X-axis motor anomaly, printing has been stopped
	TaskErrorHomeFailedZ           TaskError = 14 // Detection of Z-axis motor anomaly, printing has been stopped
	TaskErrorResinAbnormalHigh     TaskError = 15 // The resin level has been detected to exceed the maximum value, and printing has been stopped
	TaskErrorResinAbnormalLow      TaskError = 16 // Resin level detected as too low, printing has been stopped
	TaskErrorHomeFailed            TaskError = 17 // Home position calibration failed, please check if the motor or limit switch is functioning properly
	TaskErrorPlatFailed            TaskError = 18 // A model is detected on the platform; please clean it and then restart printing
	TaskErrorError                 TaskError = 19 // Printing Exception
	TaskErrorMoveAbnormal          TaskError = 20 // Motor Movement Abnormality
	TaskErrorAicModelNone          TaskError = 21 // No model detected, please troubleshoot
	TaskErrorAicModelWarp          TaskError = 22 // Warping of the model detected, please investigate
	TaskErrorHomeFailedY           TaskError = 23 // Deprecated
	TaskErrorFileError             TaskError = 24 // Error File
	TaskErrorCameraError           TaskError = 25 // Camera Error. Please check if the camera is properly connected, or you can also disable this feature to continue printing
	TaskErrorNetworkError          TaskError = 26 // Network Connection Error. Please check if your network connection is stable, or you can also disable this feature to continue printing
	TaskErrorServerConnectFailed   TaskError = 27 // Server Connection Failed. Please contact our customer support, or you can also disable this feature to continue printing
	TaskErrorDisconnectApp         TaskError = 28 // This printer is not bound to an app. To perform time-lapse photography, please first enable the remote control feature, or you can also disable this feature to continue printing
	TaskErrorCheckAutoResinFeeder  TaskError = 29 // lease check the installation of the "automatic material extraction / feeding machine"
	TaskErrorContainerResinLow     TaskError = 30 // The resin in the container is running low. Add more resin to automatically close this notification, or click "Stop Auto Feeding" to continue printing
	TaskErrorBottleDisconnect      TaskError = 31 // Please ensure that the automatic material extraction/feeding machine is correctly installed and the data cable is connected
	TaskErrorFeedTimeout           TaskError = 32 // Automatic material extraction timeout, please check if the resin tube is blocked
	TaskErrorTankTempSensorOffline TaskError = 33 // Resin vat temperature sensor not connected
	TaskErrorTankTempSensorError   TaskError = 34 // Resin vat temperature sensor indicates an over-temperature condition
)

type TaskStatus

type TaskStatus int
const (
	TaskStatusOther       TaskStatus = 0 // Other
	TaskStatusCompleted   TaskStatus = 1 // Completed
	TaskStatusExceptional TaskStatus = 2 // Exceptional
	TaskStatusStopped     TaskStatus = 3 // Stopped
)

type TempSensorStatusOfUVLED

type TempSensorStatusOfUVLED int
const (
	TempSensorStatusOfUVLEDDisconnected TempSensorStatusOfUVLED = 0
	TempSensorStatusOfUVLEDNormal       TempSensorStatusOfUVLED = 1
	TempSensorStatusOfUVLEDAbnormal     TempSensorStatusOfUVLED = 2
)

type TerminateFileTransferRequest

type TerminateFileTransferRequest struct {
	Uuid     string `json:"Uuid"`     // UUID for File Sending
	FileName string `json:"FileName"` // File Name
}

type TerminateFileTransferResponse

type TerminateFileTransferResponse struct {
	Ack FileTransferAck `json:"Ack"` // Acknowledgement
}

type TimeLapseStatus

type TimeLapseStatus int
const (
	TimeLapseStatusOff TimeLapseStatus = 0
	TimeLapseStatusOn  TimeLapseStatus = 1
)

type TimeLapseVideoStatus

type TimeLapseVideoStatus int
const (
	TimeLapseVideoStatusNotShot        TimeLapseVideoStatus = 0 // Not shot
	TimeLapseVideoStatusTimeLapseExist TimeLapseVideoStatus = 1 // Time-lapse photography file exists
	TimeLapseVideoStatusDeleted        TimeLapseVideoStatus = 2 // Deleted
	TimeLapseVideoStatusGenerating     TimeLapseVideoStatus = 3 // Generating
	TimeLapseVideoStatusGenerationFail TimeLapseVideoStatus = 4 // Generation failed
)

type TopicMessage

type TopicMessage struct {
	Topic string `json:"Topic"` // Topic, used to distinguish the type of reported message
}

type UsbDiskStatus

type UsbDiskStatus int
const (
	UsbDiskStatusDisconnected UsbDiskStatus = 0
	UbsDiskStatusConnected    UsbDiskStatus = 1
)

type XMotorStatus

type XMotorStatus int
const (
	XMotorStatusDisconnected XMotorStatus = 0
	XMotorStatusConnected    XMotorStatus = 1
)

type ZMotorStatus

type ZMotorStatus int
const (
	ZMotorStatusDisconnected ZMotorStatus = 0
	ZMotorStatusConnected    ZMotorStatus = 1
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL