Settings

3 min read

February 1, 2026

The Cassandra firmware is highly configurable through the settings.json file, typically located in the config/ directory. These settings control various aspects of the machine’s operation, including heating logic, press control, and Modbus communication parameters.



The configuration is divided into three main sections: General Settings, Device Configuration (Master/Slaves), and Partitions.

General Settings

These settings are grouped by their functional area. You can modify these values to tune the machine’s behavior without recompiling the firmware.

Heating

Parameters controlling the thermal management system.

Setting NameTypeKeyDescription
Always WarmupboolALWAYS_WARMUPIf enabled, the system will always execute a warmup phase before starting a profile.
Always Stop PIDsboolALWAYS_STOP_PIDS_ON_PROFILE_FINISHEDAutomatically turn off all PID controllers when a heating profile completes.
Sequential Heating ExclusiveboolSEQUENTIAL_HEATING_EXCLUSIVEEnforces sequential startup of heaters to reduce peak power consumption.
Always Use SequentialboolALWAYS_USE_SEQUENTIAL_HEATINGForces the use of the sequential heating strategy for all heating operations.
PID Lag CompensationboolPID_LAG_COMPENSATIONEnables compensation logic for thermal lag in the PID control loop.
Max TemperaturelongMAX_TEMPERATUREThe maximum allowable temperature setpoint (e.g., 280°C). Safety limit.
Min TemperaturelongMIN_TEMPERATUREThe minimum allowable temperature setpoint (e.g., 10°C).
SP DeadbandlongSP_DEADBANDThe deadband range for the setpoint to prevent oscillation around the target temperature.

Press

Configuration for the press subsystem, including load cells and solenoids.

Setting NameTypeKeyDescription
Loadcell Slave ID 0longLOADCELL_SLAVE_ID_0Modbus Slave ID for the first load cell amplifier. Master: 20, Slave: 21
Loadcell Slave ID 1longLOADCELL_SLAVE_ID_1Modbus Slave ID for the second load cell amplifier. Master: 21, Slave: 20
Solenoid 0 Modbus AddrlongSOLENOID_0_MB_ADDRModbus address for the first solenoid valve control.
Solenoid 1 Modbus AddrlongSOLENOID_1_MB_ADDRModbus address for the second solenoid valve control.

Modbus RTU

Low-level communication settings for the RS485 bus.

Setting NameTypeKeyDescription
Operation TimeoutlongOPERATION_TIMEOUTTimeout in milliseconds for Modbus operations.
Omron Read IntervallongOMRON_E5_READ_BLOCK_INTERVALTime interval in milliseconds between block reads from Omron E5 controllers.

Device Configuration

This section defines the Modbus network topology.

Master

  • Master Name: Defined as "plc". This represents the main Cassandra controller.

Slaves

A list of defined slave devices on the network.

  • cassandra-1

Partitions

Partitions allow you to group individual controllers into logical units (e.g., “Left Side”, “Right Side”). This is useful for organizing the UI and managing multi-zone heating.

Cassandra Left

A partition containing controllers for the left side of the machine.

  • Carina (Slave ID: 10)
  • Castor (Slave ID: 11)

Cassandra Right

A partition containing controllers for the right side of the machine.

  • Coma B (Slave ID: 12)
  • Corvus (Slave ID: 13)
  • Start Slave ID: 14 (Used for auto-generating additional controller entries)
  • Num Controllers: 4

Configuration File Structure

For reference, the settings.json file follows this structure:

{
  "master": "plc",
  "slaves": ["cassandra-1"],
  "partitions": [ ... ],
  "settings": [
    {
      "enabled": true,
      "name": "ALWAYS_WARMUP",
      "group": "heating",
      "type": "bool",
      "value": true
    },
    ...
  ]
}