Skip to content

Implement simple status polling with enhanced printer monitoring (Issue #16)#57

Merged
krjordan merged 1 commit intomainfrom
16-implement-simple-status-polling
Jul 29, 2025
Merged

Implement simple status polling with enhanced printer monitoring (Issue #16)#57
krjordan merged 1 commit intomainfrom
16-implement-simple-status-polling

Conversation

@krjordan
Copy link
Owner

Summary

  • Implement comprehensive Bambu Labs printer status parsing with actual field names (nozzle_temper, bed_temper, mc_remaining_time)
  • Add real-time temperature monitoring and layer progress tracking
  • Fix print state inference when explicit state field not available
  • Enhance status display with WiFi signal strength and remaining time formatting
  • Add device info display for system messages (model, serial number, firmware version)
  • Update documentation with monitor output examples and enhanced test coverage

Changes Made

  • Enhanced message parsing: Added support for actual Bambu Labs field names in src/messages/mod.rs
  • Improved status display: Enhanced printer status output with temperatures, layers, and timing in src/main.rs
  • State inference: Fixed "Unknown('no_state')" errors by inferring print state from available data
  • Device info display: Added comprehensive device information parsing from system messages
  • Documentation updates: Updated README.md and ROADMAP.md to reflect completed features

Test Coverage

  • Added test for Bambu Labs actual message format parsing
  • Added test for device information extraction from system messages
  • All existing tests continue to pass (50 total tests)

Example Output

🖨️ Print Status: Printing - Remaining: 16m 55s
🖨️ Printer Status: 🌡️ Nozzle: 219.8°C | 🛏️ Bed: 45.0°C | 📄 Layer: 10 | ⏱️ Remaining: 16m | 📶 WiFi: -30dBm

Test Plan

  • All unit tests pass (34 tests)
  • All integration tests pass (16 tests)
  • Code formatting and linting checks pass
  • Real printer testing with actual Bambu Labs printers confirmed working
  • Temperature monitoring displays correctly
  • Print state inference works when explicit state not provided
  • Device information extraction from system messages works

Closes #16

- Add comprehensive Bambu Labs printer status parsing with actual field names
- Implement temperature monitoring (nozzle_temper, bed_temper)
- Add layer progress tracking and remaining time display
- Include WiFi signal strength monitoring
- Fix print state inference when explicit state field not available
- Enhance status display with real-time printer information
- Add device info display for system messages (model, serial, firmware)
- Update README with monitor output examples and enhanced test coverage
- Update ROADMAP to mark temperature monitoring and status polling complete

Resolves issue #16 with improved real-time printer status monitoring.
@krjordan krjordan self-assigned this Jul 29, 2025
@krjordan krjordan added this to the v0.1.0 - Foundation milestone Jul 29, 2025
@krjordan krjordan merged commit afcdfce into main Jul 29, 2025
13 checks passed
@krjordan krjordan deleted the 16-implement-simple-status-polling branch July 29, 2025 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement simple status polling

1 participant