octoprint.schema.config.serial#
SerialCapabilities
#
Bases: BaseModel
autoreport_pos: bool = True
class-attribute
instance-attribute
#
Whether to enable position autoreport in the firmware if its support is detected
autoreport_sdstatus: bool = True
class-attribute
instance-attribute
#
Whether to enable SD printing autoreport in the firmware if its support is detected
autoreport_temp: bool = True
class-attribute
instance-attribute
#
Whether to enable temperature autoreport in the firmware if its support is detected
busy_protocol: bool = True
class-attribute
instance-attribute
#
Whether to shorten the communication timeout if the firmware seems to support the busy protocol
emergency_parser: bool = True
class-attribute
instance-attribute
#
Whether to send emergency commands out of band if the firmware seems to support the emergency parser
extended_m20: bool = True
class-attribute
instance-attribute
#
Whether to request extended M20 (file list) output from the firmware if its support is detected
lfn_write: bool = True
class-attribute
instance-attribute
#
Whether to enable long filename support for SD card writes if the firmware reports support for it
SerialConfig
#
Bases: BaseModel
additionalBaudrates: List[int] = []
class-attribute
instance-attribute
#
Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer
additionalPorts: List[str] = []
class-attribute
instance-attribute
#
Use this to define additional patterns to consider for serial port listing. Must be a valid "glob" pattern
alwaysSendChecksum: bool = False
class-attribute
instance-attribute
#
Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.
autoconnect: bool = False
class-attribute
instance-attribute
#
Whether to try to automatically connect to the printer on startup or not
autorefresh: bool = True
class-attribute
instance-attribute
#
Whether to automatically refresh the port list while no connection is established
autorefreshInterval: int = 1
class-attribute
instance-attribute
#
Interval in seconds at which to refresh the port list while no connection is established
baudrate: Optional[int] = None
class-attribute
instance-attribute
#
The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.
blockWhileDwelling: bool = False
class-attribute
instance-attribute
#
Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).
blockedCommands: List[str] = ['M0', 'M1']
class-attribute
instance-attribute
#
Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.
checksumRequiringCommands: List[str] = ['M110']
class-attribute
instance-attribute
#
Commands which need to always be send with a checksum.
disconnectOnErrors: bool = True
class-attribute
instance-attribute
#
Whether to disconnect from the printer on errors or not.
enableShutdownActionCommand: bool = False
class-attribute
instance-attribute
#
Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it's running on.
encoding: str = 'ascii'
class-attribute
instance-attribute
#
Encoding to use when talking to a machine. ascii
limits access to characters 0-127, latin_1
enables access to the "extended" ascii characters 0-255. Other values can be used, see Python's standard encodings.
exclusive: bool = True
class-attribute
instance-attribute
#
Whether to request the serial port exclusively or not
externalHeatupDetection: bool = True
class-attribute
instance-attribute
#
Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer's LCD panel or while printing from SD) or not. Causes issues with Repetier's "first ok then response" approach to communication, so disable for printers running Repetier firmware.
firmwareDetection: bool = True
class-attribute
instance-attribute
#
Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).
helloCommand: str = 'M110 N0'
class-attribute
instance-attribute
#
Command to send in order to initiate a handshake with the printer.
identicalResendsCountdown: int = 7
class-attribute
instance-attribute
#
If ignoreIdenticalResends
is true, how many consecutive identical resends to ignore.
ignoreErrorsFromFirmware: bool = False
class-attribute
instance-attribute
#
Whether to completely ignore errors from the firmware or not.
ignoreIdenticalResends: bool = False
class-attribute
instance-attribute
#
Whether to ignore identical resends from the printer (true, repetier) or not (false).
ignoredCommands: List[str] = []
class-attribute
instance-attribute
#
Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.
log: bool = False
class-attribute
instance-attribute
#
Whether to log whole communication to serial.log (warning: might decrease performance)
logResends: bool = True
class-attribute
instance-attribute
#
Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.
longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600']
class-attribute
instance-attribute
#
Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.
lowLatency: bool = False
class-attribute
instance-attribute
#
Whether to request low latency mode on the serial port or not
maxWritePasses: int = 5
class-attribute
instance-attribute
#
Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error
pausingCommands: List[str] = ['M0', 'M1', 'M25']
class-attribute
instance-attribute
#
Commands which should cause OctoPrint to pause any ongoing prints.
port: Optional[str] = None
class-attribute
instance-attribute
#
The default port to use to connect to the printer. If unset or set to AUTO
, the port will be auto-detected.
repetierTargetTemp: bool = False
class-attribute
instance-attribute
#
Whether the printer sends repetier style target temperatures in the format TargetExtr0:<temperature>
instead of attaching that information to the regular M105
responses.
resendRatioThreshold: int = 10
class-attribute
instance-attribute
#
Percentage of resend requests among all sent lines that should be considered critical.
sdAlwaysAvailable: bool = False
class-attribute
instance-attribute
#
Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don't report the SD card status properly.
sdRelativePath: bool = False
class-attribute
instance-attribute
#
Specifies whether firmware expects relative paths for selecting SD files.
sendChecksumWithUnknownCommands: bool = False
class-attribute
instance-attribute
#
Specifies whether OctoPrint should also send linenumber + checksum with commands that are not detected as valid GCODE (as in, they do not match the regular expression ^\s*([GM]\d+|T)
).
supportFAsCommand: bool = False
class-attribute
instance-attribute
#
Whether to support F
on its own as a valid GCODE command (true) or not (false).
supportResendsWithoutOk: AlwaysDetectNeverEnum = AlwaysDetectNeverEnum.detect
class-attribute
instance-attribute
#
Whether to support resends without follow-up ok or not.
timeout: SerialTimeoutConfig = SerialTimeoutConfig()
class-attribute
instance-attribute
#
Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems
triggerOkForM29: bool = True
class-attribute
instance-attribute
#
Whether to automatically trigger an ok for M29
(a lot of versions of this command are buggy and the response skips on the ok).
unknownCommandsNeedAck: bool = False
class-attribute
instance-attribute
#
Specifies whether OctoPrint should also use up acknowledgments (ok
) for commands that are not detected as valid GCODE (as in, they do not match the regular expression ^\s*([GM]\d+|T)
).
waitForStartOnConnect: bool = False
class-attribute
instance-attribute
#
Whether OctoPrint should wait for the start
response from the printer before trying to send commands during connect.
waitToLoadSdFileList: bool = True
class-attribute
instance-attribute
#
Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.
SerialMaxTimeouts
#
Bases: BaseModel
SerialTimeoutConfig
#
Bases: BaseModel
communication: float = 30.0
class-attribute
instance-attribute
#
Timeout during serial communication, in seconds
communicationBusy: float = 3.0
class-attribute
instance-attribute
#
Timeout during serial communication when busy protocol support is detected, in seconds
connection: float = 10.0
class-attribute
instance-attribute
#
Timeout for waiting to establish a connection with the selected port, in seconds
sdStatus: float = 1.0
class-attribute
instance-attribute
#
Timeout after which to query the SD status while SD printing
temperature: float = 5.0
class-attribute
instance-attribute
#
Timeout after which to query temperature when no target is set
temperatureTargetSet: float = 2.0
class-attribute
instance-attribute
#
Timeout after which to query temperature when a target is set