• DuetAPI
  • DuetAPIClient
  • DuetControlServer
  • DuetWebServer
Show / Hide Table of Contents
  • DuetAPI
    • CodeChannel
  • DuetAPI.Commands
    • Acknowledge
    • AddHttpEndpoint
    • AddUserSession
    • BaseCommand
    • BaseResponse
    • Cancel
    • Code
    • CodeFlags
    • CodeParameter
    • CodeParameterConverter
    • CodeParserBuffer
    • CodeParserException
    • CodeResult
    • CodeType
    • Command
    • Command<T>
    • ErrorResponse
    • EvaluateExpression
    • Flush
    • GetFileInfo
    • GetMachineModel
    • HttpResponseType
    • Ignore
    • KeywordType
    • LockMachineModel
    • PatchMachineModel
    • ReceivedHttpRequest
    • RemoveHttpEndpoint
    • RemoveUserSession
    • Resolve
    • ResolvePath
    • Response<T>
    • SendHttpResponse
    • SetMachineModel
    • SimpleCode
    • SyncMachineModel
    • UnlockMachineModel
    • WriteMessage
  • DuetAPI.Connection
    • ConnectionMode
    • Defaults
    • IncompatibleVersionException
    • InterceptionMode
    • SubscriptionMode
  • DuetAPI.Connection.InitMessages
    • ClientInitMessage
    • CommandInitMessage
    • InterceptInitMessage
    • ServerInitMessage
    • SubscribeInitMessage
  • DuetAPI.Machine
    • AccessLevel
    • AnalogSensor
    • AnalogSensorType
    • AnalogSensorTypeConverter
    • Axis
    • BeepRequest
    • Board
    • BoardState
    • Build
    • BuildObject
    • Compatibility
    • CoreKinematics
    • CurrentMove
    • DAA
    • DeltaKinematics
    • DeltaTower
    • Directories
    • DistanceUnit
    • Endstop
    • EndstopType
    • Extruder
    • ExtruderNonlinear
    • Fan
    • FanThermostaticControl
    • FilamentMonitor
    • FilamentMonitorType
    • GpInputPort
    • GpOutputPort
    • HangprinterKinematics
    • Heat
    • Heater
    • HeaterModel
    • HeaterModelPID
    • HeaterMonitor
    • HeaterMonitorAction
    • HeaterMonitorCondition
    • HeaterState
    • HttpEndpoint
    • HttpEndpointType
    • InputChannel
    • InputChannelState
    • Inputs
    • InterfaceType
    • Job
    • Kinematics
    • KinematicsName
    • KinematicsNameConverter
    • LaserFilamentMonitor
    • LaserFilamentMonitorCalibrated
    • LaserFilamentMonitorConfigured
    • Layer
    • Limits
    • LinuxPropertyAttribute
    • MachineMode
    • MachineModel
    • MachineModelConverter
    • MachineStatus
    • Message
    • MessageBox
    • MessageBoxMode
    • MessageType
    • Microstepping
    • MinMaxCurrent<T>
    • ModelCollection
    • ModelCollection<T>
    • ModelGrowingCollection
    • ModelGrowingCollection<T>
    • ModelObject
    • MotorsIdleControl
    • Move
    • MoveCalibration
    • MoveCompensation
    • MoveCompensationType
    • MoveDeviations
    • Network
    • NetworkInterface
    • NetworkProtocol
    • ParsedFileInfo
    • Probe
    • ProbeGrid
    • ProbeType
    • PulsedFilamentMonitor
    • PulsedFilamentMonitorCalibrated
    • PulsedFilamentMonitorConfigured
    • RestorePoint
    • RotatingMagnetFilamentMonitor
    • RotatingMagnetFilamentMonitorCalibrated
    • RotatingMagnetFilamentMonitorConfigured
    • Scanner
    • ScannerStatus
    • ScaraKinematics
    • Sensors
    • SessionType
    • SimpleFilamentMonitor
    • Skew
    • Spindle
    • State
    • TiltCorrection
    • TimesLeft
    • Tool
    • ToolRetraction
    • ToolState
    • UserSession
    • UserVariable
    • Volume
    • ZLeadscrewKinematics
  • DuetAPI.Utility
    • DriverId
    • FileLists
    • Heightmap
    • JsonCamelCaseStringEnumConverter
    • JsonCharEnumConverter
    • JsonHelper
    • JsonLowerCaseStringEnumConverter
    • JsonPolymorphicWriteOnlyConverter<T>
    • JsonRegexListConverter
  • DuetAPIClient
    • BaseCommandConnection
    • BaseConnection
    • CommandConnection
    • HttpEndpointConnection
    • HttpEndpointUnixSocket
    • HttpEndpointUnixSocket.EndpointRequestReceived
    • InterceptConnection
    • InternalServerException
    • SubscribeConnection
  • DuetControlServer
    • Program
    • Settings
  • DuetControlServer.Codes
    • GCodes
    • MCodes
    • TCodes
  • DuetControlServer.Commands
    • AddHttpEndpoint
    • AddUserSession
    • Code
    • EvaluateExpression
    • Flush
    • GetFileInfo
    • GetMachineModel
    • LockMachineModel
    • RemoveHttpEndpoint
    • RemoveUserSession
    • ResolvePath
    • SetMachineModel
    • SimpleCode
    • SyncMachineModel
    • UnlockMachineModel
    • WriteMessage
  • DuetControlServer.FileExecution
    • Job
    • Macro
  • DuetControlServer.Files
    • CodeBlock
    • CodeFile
    • ConfigOverride
    • FileDirectory
    • FilePath
    • InfoParser
  • DuetControlServer.IPC
    • Connection
    • LockManager
    • Server
  • DuetControlServer.IPC.Processors
    • Base
    • Command
    • Interception
    • Subscription
  • DuetControlServer.Model
    • Expressions
    • Filter
    • ItemPathNode
    • Observer
    • Observer.PropertyPathChanged
    • PeriodicUpdater
    • PropertyChangeType
    • Provider
    • Updater
  • DuetControlServer.SPI
    • DataTransfer
    • EvaluateExpressionRequest
    • Interface
  • DuetControlServer.SPI.Channel
    • LockRequest
    • Manager
    • Processor
    • State
  • DuetControlServer.SPI.Communication
    • Consts
  • DuetControlServer.SPI.Communication.FirmwareRequests
    • AbortFileHeader
    • CodeBufferUpdateHeader
    • DoCodeHeader
    • EvaluationResultHeader
    • ExecuteMacroHeader
    • FileChunkHeader
    • PrintPausedHeader
    • PrintPausedReason
    • Request
  • DuetControlServer.SPI.Communication.LinuxRequests
    • AssignFilamentHeader
    • CodeFlags
    • CodeHeader
    • CodeParameter
    • FileChunk
    • GetObjectModelHeader
    • MacroCompleteHeader
    • PrintStartedHeader
    • PrintStoppedHeader
    • Request
    • SetObjectModelHeader
  • DuetControlServer.SPI.Communication.Shared
    • CodeChannelHeader
    • DataType
    • HeightMapHeader
    • MessageHeader
    • MessageTypeFlags
    • PacketHeader
    • PrintStoppedReason
    • StringHeader
    • TransferHeader
    • TransferResponse
  • DuetControlServer.SPI.Serialization
    • Reader
    • Writer
  • DuetControlServer.Utility
    • CRC16
    • FilamentManager
    • Logger
  • DuetWebServer
    • Program
    • Startup
  • DuetWebServer.Controllers
    • MachineController
    • WebSocketController
  • DuetWebServer.FileProviders
    • DuetFileProvider
  • DuetWebServer.Middleware
    • CustomEndpointMiddleware
    • FallbackMiddleware
    • HttpEndpointConnection
  • DuetWebServer.Services
    • ModelObserver
    • ModelObserver.WebDirectoryChanged

Class MachineModel

Representation of the full machine model as maintained by DCS

Inheritance
System.Object
ModelObject
MachineModel
Implements
System.ICloneable
System.ComponentModel.INotifyPropertyChanging
System.ComponentModel.INotifyPropertyChanged
Inherited Members
ModelObject.JsonProperties
ModelObject.PropertyChanging
ModelObject.PropertyChanged
ModelObject.SetPropertyValue<T>(T, T, String)
ModelObject.Assign(ModelObject)
ModelObject.Clone()
ModelObject.UpdateFromJson(JsonElement)
ModelObject.MakeUtf8Patch(ModelObject)
ModelObject.MakeStringPatch(ModelObject)
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: DuetAPI.Machine
Assembly: DuetAPI.dll
Syntax
public sealed class MachineModel : ModelObject, ICloneable, INotifyPropertyChanging, INotifyPropertyChanged

Properties

Boards

List of connected boards

Declaration
public ModelCollection<Board> Boards { get; }
Property Value
Type Description
ModelCollection<Board>
Remarks

The first item represents the main board

See Also
Board

Directories

Information about the individual directories

Declaration
public Directories Directories { get; }
Property Value
Type Description
Directories
Remarks

This may not be available in RepRapFirmware if no mass storages are available

Fans

List of configured fans

Declaration
public ModelCollection<Fan> Fans { get; }
Property Value
Type Description
ModelCollection<Fan>
See Also
Fan

Heat

Information about the heat subsystem

Declaration
public Heat Heat { get; }
Property Value
Type Description
Heat

HttpEndpoints

List of registered third-party HTTP endpoints

Declaration
public ModelCollection<HttpEndpoint> HttpEndpoints { get; }
Property Value
Type Description
ModelCollection<HttpEndpoint>

Inputs

Information about every available G/M/T-code channel

Declaration
public Inputs Inputs { get; }
Property Value
Type Description
Inputs

Job

Information about the current job

Declaration
public Job Job { get; }
Property Value
Type Description
Job

Limits

Machine configuration limits

Declaration
public Limits Limits { get; }
Property Value
Type Description
Limits

Messages

Generic messages that do not belong explicitly to codes being executed. This includes status messages, generic errors and outputs generated by M118

Declaration
public ModelGrowingCollection<Message> Messages { get; }
Property Value
Type Description
ModelGrowingCollection<Message>
See Also
Message

Move

Information about the move subsystem

Declaration
public Move Move { get; }
Property Value
Type Description
Move

Network

Information about connected network adapters

Declaration
public Network Network { get; }
Property Value
Type Description
Network

Scanner

Information about the 3D scanner subsystem

Declaration
public Scanner Scanner { get; }
Property Value
Type Description
Scanner

Sensors

Information about connected sensors including Z-probes and endstops

Declaration
public Sensors Sensors { get; }
Property Value
Type Description
Sensors

Spindles

List of configured CNC spindles

Declaration
public ModelCollection<Spindle> Spindles { get; }
Property Value
Type Description
ModelCollection<Spindle>
See Also
Spindle

State

Information about the machine state

Declaration
public State State { get; }
Property Value
Type Description
State

Tools

List of configured tools

Declaration
public ModelCollection<Tool> Tools { get; }
Property Value
Type Description
ModelCollection<Tool>
See Also
Tool

UserSessions

List of user sessions

Declaration
public ModelCollection<UserSession> UserSessions { get; }
Property Value
Type Description
ModelCollection<UserSession>

UserVariables

List of user-defined variables

Declaration
public ModelCollection<UserVariable> UserVariables { get; }
Property Value
Type Description
ModelCollection<UserVariable>
See Also
UserVariable

Volumes

List of available mass storages

Declaration
public ModelCollection<Volume> Volumes { get; }
Property Value
Type Description
ModelCollection<Volume>
See Also
Volume

Methods

ToString()

Convert this instance to a JSON text

Declaration
public override string ToString()
Returns
Type Description
System.String

JSON object

Overrides
System.Object.ToString()

ToUtf8Json()

Serialize this instance to a UTF-8 string

Declaration
public byte[] ToUtf8Json()
Returns
Type Description
System.Byte[]

UpdateFromFirmwareModel(String, JsonElement)

Update a specific key of this instance from a given JSON element as provided by the firmware

Declaration
public bool UpdateFromFirmwareModel(string key, JsonElement jsonElement)
Parameters
Type Name Description
System.String key

Property name to update

System.Text.Json.JsonElement jsonElement

Element to update this intance from

Returns
Type Description
System.Boolean

Whether the key could be updated

Implements

System.ICloneable
System.ComponentModel.INotifyPropertyChanging
System.ComponentModel.INotifyPropertyChanged
Back to top Generated by DocFX