feat: Add temperature ranges for extruder and bed temps (#5)
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Some checks failed
CI / style (push) Has been cancelled
CI / build-client (push) Has been cancelled
CI / build-amd64 (push) Has been cancelled
CI / build-tester (push) Has been cancelled
CI / test (cockroachdb) (push) Has been cancelled
CI / test (mariadb) (push) Has been cancelled
CI / test (postgres) (push) Has been cancelled
CI / test (sqlite) (push) Has been cancelled
CI / build-arm64 (push) Has been cancelled
CI / build-armv7 (push) Has been cancelled
CI / publish-images (push) Has been cancelled
CI / publish-release (push) Has been cancelled
Store extruder and bed temperatures as min/max ranges instead of single values for more accurate filament specifications. Backend changes: - Add 4 new columns: settings_extruder_temp_min/max, settings_bed_temp_min/max - Keep old columns for backward compatibility (marked deprecated) - Alembic migration copies existing values to both min and max - Update Pydantic models and API endpoints Frontend changes: - Filament model updated with new fields - Create form uses min/max input pairs with Space.Compact - Import from external DB populates both min and max with same value - Label template updated to show ranges: "ET: 190-220 °C" - Template help includes new tags Labels now display temperature ranges like "190-220°C" which is more useful for printing than a single recommended value. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -75,15 +75,39 @@ class FilamentParameters(BaseModel):
|
||||
settings_extruder_temp: Optional[int] = Field(
|
||||
None,
|
||||
ge=0,
|
||||
description="Overridden extruder temperature, in °C.",
|
||||
description="Overridden extruder temperature, in °C. Deprecated: use settings_extruder_temp_min/max.",
|
||||
examples=[210],
|
||||
)
|
||||
settings_bed_temp: Optional[int] = Field(
|
||||
None,
|
||||
ge=0,
|
||||
description="Overridden bed temperature, in °C.",
|
||||
description="Overridden bed temperature, in °C. Deprecated: use settings_bed_temp_min/max.",
|
||||
examples=[60],
|
||||
)
|
||||
settings_extruder_temp_min: Optional[int] = Field(
|
||||
None,
|
||||
ge=0,
|
||||
description="Minimum extruder temperature, in °C.",
|
||||
examples=[190],
|
||||
)
|
||||
settings_extruder_temp_max: Optional[int] = Field(
|
||||
None,
|
||||
ge=0,
|
||||
description="Maximum extruder temperature, in °C.",
|
||||
examples=[220],
|
||||
)
|
||||
settings_bed_temp_min: Optional[int] = Field(
|
||||
None,
|
||||
ge=0,
|
||||
description="Minimum bed temperature, in °C.",
|
||||
examples=[50],
|
||||
)
|
||||
settings_bed_temp_max: Optional[int] = Field(
|
||||
None,
|
||||
ge=0,
|
||||
description="Maximum bed temperature, in °C.",
|
||||
examples=[70],
|
||||
)
|
||||
color_hex: Optional[str] = Field(
|
||||
None,
|
||||
description=(
|
||||
@@ -454,6 +478,10 @@ async def create( # noqa: ANN201
|
||||
comment=body.comment,
|
||||
settings_extruder_temp=body.settings_extruder_temp,
|
||||
settings_bed_temp=body.settings_bed_temp,
|
||||
settings_extruder_temp_min=body.settings_extruder_temp_min,
|
||||
settings_extruder_temp_max=body.settings_extruder_temp_max,
|
||||
settings_bed_temp_min=body.settings_bed_temp_min,
|
||||
settings_bed_temp_max=body.settings_bed_temp_max,
|
||||
color_hex=body.color_hex,
|
||||
multi_color_hexes=body.multi_color_hexes,
|
||||
multi_color_direction=body.multi_color_direction,
|
||||
|
||||
Reference in New Issue
Block a user