Class MCodeHandler
- Namespace
- DuetControlServer.Codes.Handlers
- Assembly
- DuetControlServer.dll
Class that processes M-codes in the control server
public class MCodeHandler : ICodeHandler
- Inheritance
-
MCodeHandler
- Implements
- Inherited Members
Constructors
MCodeHandler(CodeProcessor, CommandFactory, DiagnosticsProvider, EventLogger, FileInfoParser, FilePathResolver, LinkInterface, ObjectModel, MQTT, SbcTriggerService, JobProcessor, ILogger<MCodeHandler>, ILoggerFactory, IHostApplicationLifetime, IOptions<Settings>)
Class that processes M-codes in the control server
public MCodeHandler(CodeProcessor codeProcessor, CommandFactory commandFactory, DiagnosticsProvider diagnosticsProvider, EventLogger eventLogger, FileInfoParser fileInfoParser, FilePathResolver filePathResolver, LinkInterface linkInterface, ObjectModel model, MQTT mqtt, SbcTriggerService sbcTriggerService, JobProcessor jobProcessor, ILogger<MCodeHandler> logger, ILoggerFactory loggerFactory, IHostApplicationLifetime lifetime, IOptions<Settings> settings)
Parameters
codeProcessorCodeProcessorCode processor
commandFactoryCommandFactoryCommand factory
diagnosticsProviderDiagnosticsProviderDiagnostics provider
eventLoggerEventLoggerEvent logger
fileInfoParserFileInfoParserFile info parser
filePathResolverFilePathResolverFile path resolver
linkInterfaceLinkInterfaceLink interface
modelObjectModelObject model
mqttMQTTMQTT provider
sbcTriggerServiceSbcTriggerServiceSBC trigger service
jobProcessorJobProcessorJob processor
loggerILogger<MCodeHandler>Logger
loggerFactoryILoggerFactorylifetimeIHostApplicationLifetimeHost application lifetime
settingsIOptions<Settings>Settings
Methods
CodeExecutedAsync(Code, CancellationToken)
React to an executed M-code before its result is returned
public ValueTask CodeExecutedAsync(Code code, CancellationToken cancellationToken)
Parameters
codeCodeCode processed by RepRapFirmware
cancellationTokenCancellationTokenCancellation token
Returns
- ValueTask
Result to output
Remarks
This method shall be used only to update values that are time-critical. Others are supposed to be updated via the object model
ProcessAsync(Code, CancellationToken)
Process an M-code that should be interpreted by the control server
public ValueTask<Message?> ProcessAsync(Code code, CancellationToken cancellationToken)
Parameters
codeCodeCode to process
cancellationTokenCancellationTokenCancellation token