Skip to content

Polish logging output for production multi-material printing #1

@tazomatalax

Description

@tazomatalax

Polish Logging Output for Production Multi-Material Printing

Status

Multi-material printing system is now fully functional!

After extensive troubleshooting, the system successfully:

  • Detects material changes at correct layers (1, 2, 3)
  • Executes pump operations (drain→fill→mix→settle) with detailed logging
  • Coordinates bed positioning and pause/resume workflow
  • Processes A→B→C material transitions correctly

Current Output Quality

The system produces excellent research-focused logs with proper categorization:

  • PROGRESS: Layer progress updates
  • MATERIAL: Material change start/completion with timing
  • TIMING: Detailed bed positioning and pump sequence steps
  • EXPERIMENT: Experiment start/end summary

Identified Improvements

High Priority (Quick Wins)

  1. Clean up startup logging - consolidate redundant PRINT messages during initialization
  2. Fix goresume warning display - change "ERROR: unrecognized command: goresume" to INFO level (expected behavior)
  3. Reduce status polling noise - decrease frequency of AUTO: Status: PAUSE messages during material changes

Medium Priority (Nice to Have)

  1. Add experiment summary - total time, materials used, changes completed
  2. Material usage tracking - cumulative volumes per material (A: 45ml, B: 45ml, etc.)
  3. Better progress indicators - show pump operation progress during long sequences

Low Priority (Future Enhancement)

  1. Pump timing optimization - research faster material change sequences
  2. Advanced error recovery - handle edge cases and failures gracefully
  3. Remote monitoring - API for external monitoring systems

Example Current Output

[01:00:39] MATERIAL: Change #1: Layer 1 → Material A
[01:00:39] TIMING: Step 1: Pausing printer...
[01:00:39] TIMING: Step 2: Waiting for bed to reach raised position...
[01:00:39] TIMING: Step 3: Starting pump sequence...
[01:00:39] PRINT: Running Drain Pump: 50ml at 5.0ml/s (10.0s)
[01:00:39] PRINT: Running Pump A: 45ml at 2.5ml/s (18.0s)
[01:00:39] MATERIAL: Change #1 completed in 63.7s

Implementation Notes

  • System is production-ready as-is
  • Improvements are polish rather than functionality fixes
  • All changes should maintain research-friendly logging format
  • Keep backward compatibility with existing GUI parsing

Files Involved

  • src/controller/print_manager.py - main logging coordination
  • src/controller/mmu_control.py - pump operation logs
  • src/controller/printer_comms.py - goresume warning source
  • src/gui/dialog.cpp - GUI log parsing (may need updates)

Testing

Any changes should be tested with:

  1. Complete A→B→C material change sequence
  2. GUI log parsing and display
  3. Research log file generation
  4. Error condition handling

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions