-
Notifications
You must be signed in to change notification settings - Fork 0
Error Codes
This document provides a comprehensive reference for error codes across FlashForge API interfaces.
The HTTP REST API (port 8898) uses a standard JSON response envelope for all endpoints.
Success:
{
"code": 0,
"message": "Success"
}Error:
{
"code": <non-zero>,
"message": "Error description"
}| Code | Message | Description |
|---|---|---|
| 0 | Success | Operation completed successfully |
| 1 | Error | Generic error occurred |
| 2 | Invalid parameter | Request payload contains invalid parameters |
| 3 | Unauthorized | Authentication failed (invalid serial or check code) |
| 4 | Not found | Requested resource or file not found |
| 5 | Busy | Printer is busy with another operation |
- Clients should check
code === 0for success rather than parsing the message string - Message case may vary ("Success" vs "success") between firmware versions
- Error descriptions in the
messagefield may provide additional context
Causes:
- Invalid
serialNumber - Invalid
checkCode - Check code has been changed on the printer
Resolution: Verify credentials in printer settings menu.
Causes:
- Requested file does not exist in
/printGcode - Invalid endpoint path
Resolution: Use /gcodeList to verify available files.
Causes:
- Another operation is in progress
- Printer is performing internal task
Resolution: Wait and retry the operation.
These errors appear in /detail responses or blocking dialogs when using the Material Station (Intelligent Filament System).
| Code | Description | Trigger |
|---|---|---|
| E0100 | Channel 1 feeding timeout | Load failure (Slot 1) |
| E0101 | Channel 2 feeding timeout | Load failure (Slot 2) |
| E0102 | Channel 3 feeding timeout | Load failure (Slot 3) |
| E0103 | Channel 4 feeding timeout | Load failure (Slot 4) |
| Code | Description | Trigger |
|---|---|---|
| E0104 | Channel 1 retracting timeout | Unload failure (Slot 1) |
| E0105 | Channel 2 retracting timeout | Unload failure (Slot 2) |
| E0106 | Channel 3 retracting timeout | Unload failure (Slot 3) |
| E0107 | Channel 4 retracting timeout | Unload failure (Slot 4) |
| Code | Description | Trigger |
|---|---|---|
| E0108 | Feed failure to extruder | Filament sensor timeout during feed |
| E0109 | Odometer stall | Filament tangle or jam (stall count > 200) |
| E0114 | IFS homing error | Selector mechanism failure |
Legacy TCP commands (port 8899) return plain text error messages.
| Error Message | Description |
|---|---|
| Control Failed | Another client is connected or previous session not closed |
| CMD M601 Received. Control Failed. | Session request rejected |
| Error: have been connected | Session already active (M601) |
Resolution: Wait for existing session to timeout or ensure M602 was sent before reconnecting.
| Error Message | Description |
|---|---|
| Error: Not enough space | Insufficient storage for file upload (M28) |
| Error: File Is Not Available | File size mismatch during upload (M29) |
Resolution:
- "Not enough space": Delete files from printer storage
- "File Is Not Available": Verify file size matches M28 parameter, retransmit file
| Error Message | Description |
|---|---|
| Error: Invalid command | Unknown or malformed command |
The /detail endpoint may include error information in the response:
{
"detail": {
"errorCode": "E0100",
"status": "error"
}
}- Check
statusfield for value "error" - Inspect
errorCodefield for specific error code - Cross-reference with error tables above
| Code | Strategy |
|---|---|
| 1 | Retry operation, check printer state |
| 2 | Validate request payload format |
| 3 | Re-authenticate with correct credentials |
| 4 | Verify resource exists before requesting |
| 5 | Poll /detail until status changes from "busy" |
| Error | Strategy |
|---|---|
| Control Failed | Wait 30 seconds and retry connection |
| Not enough space | Use HTTP /gcodeList to identify and remove files |
| File Is Not Available | Verify file integrity, retransmit |
| Strategy | Implementation |
|---|---|
| Poll status | Check matlStationInfo.stateAction during operations |
| Retry with backoff | Implement exponential backoff for transient errors |
| User notification | Display actionable error messages to users |
| Recovery commands | Use ms_cmd with action "cancel" to abort failed operations |
- Always check response
codefield, not just HTTP status - Implement retry logic with exponential backoff for codes 1 and 5
- Log error codes for debugging and support
- Display user-friendly messages based on error context
For long-running operations:
- Use appropriate timeouts (30-60 seconds for most operations)
- Implement progress polling for file uploads
- Handle network disconnections gracefully
For AD5X material station operations:
- Check
matlStationInfo.stateActionbefore starting operations - Monitor state during multi-step operations
- Implement error recovery workflows
- Clear errors using
errorCodeCtrl_cmdif available