Table of Contents

Class Settings

Namespace
DuetControlServer
Assembly
DuetControlServer.dll

Settings class

public sealed class Settings
Inheritance
Settings
Inherited Members

Constructors

Settings()

public Settings()

Fields

ConfigFile

Path to the configuration file

[JsonIgnore]
public string ConfigFile

Field Value

string

DefaultConfigFile

Default path to the configuration file

public const string DefaultConfigFile = "/opt/dsf/conf/config.json"

Field Value

string

Properties

AllowCustomModelPatches

Whether to allow custom patches to the object model. Not recommended

public bool AllowCustomModelPatches { get; set; }

Property Value

bool

AutoUpdateFirmware

Defines whether the mainboard and expansion boards may be updated automatically during unattended upgrades

public bool AutoUpdateFirmware { get; set; }

Property Value

bool

Backlog

Maximum number of simultaneously pending IPC connections

public int Backlog { get; set; }

Property Value

int

BaseDirectory

Virtual SD card directory. Paths starting with 0:/ are mapped to this directory

public string BaseDirectory { get; set; }

Property Value

string

BufferedMacroCodes

Number of codes to buffer per macro

public int BufferedMacroCodes { get; set; }

Property Value

int

BufferedPrintCodes

Number of codes to buffer in the internal print subsystem

public int BufferedPrintCodes { get; set; }

Property Value

int

CommunicationMethod

Communication method to use for connection to RepRapFirmware

public CommunicationMethod CommunicationMethod { get; set; }

Property Value

CommunicationMethod

CpuTemperatureDivider

Divide numeric value of CpuTemperaturePath by this

public float CpuTemperatureDivider { get; set; }

Property Value

float

CpuTemperaturePath

File containing the current CPU temperature

public string CpuTemperaturePath { get; set; }

Property Value

string

DisablePluginInstallations

Disable installation of third-party plugins using the IPC API

public bool DisablePluginInstallations { get; set; }

Property Value

bool

FilamentFilters

Regular expressions for finding the filament consumption (case insensitive, single line)

public List<Regex> FilamentFilters { get; set; }

Property Value

List<Regex>

FileBufferSize

Size of the read buffer used when reading from files (in bytes)

public int FileBufferSize { get; set; }

Property Value

int

FileInfoReadLimitFooter

How many bytes to parse max at the end of a file to retrieve G-code file information (in bytes)

public int FileInfoReadLimitFooter { get; set; }

Property Value

int

FileInfoReadLimitHeader

How many bytes to parse max at the beginning of a file to retrieve G-code file information (in bytes)

public int FileInfoReadLimitHeader { get; set; }

Property Value

int

FirmwareComments

List of string chunks that are identified by RepRapFirmware

public List<string> FirmwareComments { get; set; }

Property Value

List<string>

Remarks

Only if a comment contains one of these identifiers they will be sent to the firmware

FullSocketPath

Fully-qualified path to the main IPC UNIX socket (evaluated during runtime)

[JsonIgnore]
public string FullSocketPath { get; }

Property Value

string

GeneratedByFilters

Regular expressions for finding the slicer (case insensitive)

public List<Regex> GeneratedByFilters { get; set; }

Property Value

List<Regex>

GpioChipDevice

Path to the GPIO chip device node

public string GpioChipDevice { get; set; }

Property Value

string

HostUpdateInterval

Internal model update interval after which properties of the machine model from the host controller (e.g. network information and mass storage devices) are updated (in ms)

public int HostUpdateInterval { get; set; }

Property Value

int

LayerHeightFilters

Regular expressions for finding the layer height (case insensitive)

public List<Regex> LayerHeightFilters { get; set; }

Property Value

List<Regex>

LogLevel

Minimum log level for console output

[JsonConverter(typeof(LogLevelJsonConverter))]
public LogLevel LogLevel { get; set; }

Property Value

LogLevel

MaxBufferSpacePerChannel

Maximum space of buffered codes per channel (in bytes)

public int MaxBufferSpacePerChannel { get; set; }

Property Value

int

MaxCodeBufferSize

Maximum size of a binary encoded G/M/T-code. This is limited by RepRapFirmware (see code queue)

public int MaxCodeBufferSize { get; set; }

Property Value

int

MaxCodesPerInput

Maximum number of pending codes per code channel

public int MaxCodesPerInput { get; set; }

Property Value

int

MaxLayerHeight

Maximum allowed layer height. Used by the file info parser

public double MaxLayerHeight { get; set; }

Property Value

double

MaxMachineModelLockTime

Maximum lock time of the object model. If this time is exceeded, a deadlock is reported and the application is terminated. Set this to -1 to disable the automatic deadlock detection

public int MaxMachineModelLockTime { get; set; }

Property Value

int

MaxMessageAge

Maximum time to keep messages in the object model unless client(s) pick them up (in s). Note that messages are only cleared when the host update task runs.

public double MaxMessageAge { get; set; }

Property Value

double

MaxMessageLength

Maximum supported length of messages to be sent to RepRapFirmware

public int MaxMessageLength { get; set; }

Property Value

int

MaxSbcRetries

Maximum number of sequential transfer retries

public int MaxSbcRetries { get; set; }

Property Value

int

ModelUpdateInterval

Interval of object model updates (in ms)

public int ModelUpdateInterval { get; set; }

Property Value

int

NumLayersFilters

Regular expressions for finding the total number of layers

public List<Regex> NumLayersFilters { get; set; }

Property Value

List<Regex>

Remarks

If the number of layers cannot be found, the total number of layers is calculated from the layer and object heights (if applicable)

PluginAutoRestartInterval

Time to wait before auto-restarting a stopped plugin that has the SbcAutoRestart option set

public int PluginAutoRestartInterval { get; set; }

Property Value

int

PluginDirectory

Directory holding DSF plugins

public string PluginDirectory { get; set; }

Property Value

string

Remarks

This directory is not created by the DCS package. It is provided by DPS

PluginSupport

Whether this DCS instance may support third-party plugins. If this is set to false, dsf-config.g will be run right after the start

public bool PluginSupport { get; set; }

Property Value

bool

PluginsFilename

Path to the file holding a list of loaded plugins

public string PluginsFilename { get; set; }

Property Value

string

PrintTimeFilters

Regular expressions for finding the print time

public List<Regex> PrintTimeFilters { get; set; }

Property Value

List<Regex>

RootPluginSupport

Whether this DCS instance may support third-party root plugins. This is only respected if PluginSupport is set to true

public bool RootPluginSupport { get; set; }

Property Value

bool

SbcBufferSize

Tx and Rx buffer size for SBC protocol transfers. Only respected in SPI mode and must not exceed the kernel spidev buffer size

public int SbcBufferSize { get; set; }

Property Value

int

SbcConnectTimeout

Maximum allowed time when waiting for the first transfer (in ms)

public int SbcConnectTimeout { get; set; }

Property Value

int

SbcConnectionTimeout

Maximum allowed delay between full transfers (in ms)

public int SbcConnectionTimeout { get; set; }

Property Value

int

SbcTransferTimeout

Maximum allowed delay between data exchanges during a full transfer (in ms)

public int SbcTransferTimeout { get; set; }

Property Value

int

SimulatedTimeFilters

Regular expressions for finding the simulated time

public List<Regex> SimulatedTimeFilters { get; set; }

Property Value

List<Regex>

SocketDirectory

Directory in which DSF-related UNIX sockets reside

public string SocketDirectory { get; set; }

Property Value

string

SocketFile

UNIX socket file for DuetControlServer

public string SocketFile { get; set; }

Property Value

string
See Also

SocketPollInterval

Poll interval for connected IPC clients (in ms)

public int SocketPollInterval { get; set; }

Property Value

int

SpiDevice

SPI device that is connected to RepRapFirmware

public string SpiDevice { get; set; }

Property Value

string

SpiFrequency

Frequency to use for SPI transfers (in Hz)

public int SpiFrequency { get; set; }

Property Value

int

SpiTransferMode

SPI Transfer Mode 0-3

public int SpiTransferMode { get; set; }

Property Value

int

StartErrorFile

File to contain the last start error of DCS. Once DCS starts successfully, it is deleted

public string StartErrorFile { get; set; }

Property Value

string

TransferReadyPin

Number of the GPIO pin that is used by RepRapFirmware to flag its ready state

public int TransferReadyPin { get; set; }

Property Value

int

UpdateOnly

Indicates if this program is only launched to update the board firmware

[JsonIgnore]
public bool UpdateOnly { get; set; }

Property Value

bool

UsbDevice

USB device that is connected to RepRapFirmware (e.g., /dev/ttyACM1)

public string UsbDevice { get; set; }

Property Value

string

UsbReadTimeout

Read timeout for USB serial communication in milliseconds

public int UsbReadTimeout { get; set; }

Property Value

int

UsbWriteTimeout

Write timeout for USB serial communication in milliseconds

public int UsbWriteTimeout { get; set; }

Property Value

int

Methods

PostConfigure()

Perform final configuration steps

public void PostConfigure()