Table of Contents

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

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

codeProcessor CodeProcessor

Code processor

commandFactory CommandFactory

Command factory

diagnosticsProvider DiagnosticsProvider

Diagnostics provider

eventLogger EventLogger

Event logger

fileInfoParser FileInfoParser

File info parser

filePathResolver FilePathResolver

File path resolver

linkInterface LinkInterface

Link interface

model ObjectModel

Object model

mqtt MQTT

MQTT provider

sbcTriggerService SbcTriggerService

SBC trigger service

jobProcessor JobProcessor

Job processor

logger ILogger<MCodeHandler>

Logger

loggerFactory ILoggerFactory
lifetime IHostApplicationLifetime

Host application lifetime

settings IOptions<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

code Code

Code processed by RepRapFirmware

cancellationToken CancellationToken

Cancellation 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

code Code

Code to process

cancellationToken CancellationToken

Cancellation token

Returns

ValueTask<Message>

Result of the code if the code completed, else null