This documentation describes the "Spool-Coder" software, an application for reading and reprogramming NFC spools for Bambulab filament rolls.
Spool-Coder is a Python-based application with a graphical user interface that enables reading and reprogramming NFC spools for Bambulab filament rolls. The software communicates with a specialized NFC reader device and provides a user-friendly interface for these tasks.
- Python 3.8 or higher
- PyQt6
- Additional dependencies (see
requirements.txtorsetup.py)
git clone https://github.com/Cascalio-Studio/spool-coder.git
cd spool-coder
pip install -e .After installation, the application can be started as follows:
python src/main.pyOr if installed:
spool-coder- Read Spool: Reads the data from a Bambulab filament roll.
- Program Spool: Allows customizing and writing data to a filament NFC spool.
- Settings: Configuration options for the application.
- Info: Information about the software and instructions for use.
The application follows a modular structure with clear separation between user interface, business logic, and device interaction:
- UI Layer: Implemented with PyQt6, provides the graphical user interface.
- Model Layer: Contains the data models for filament spools and other required entities.
- Service Layer: Handles communication with the NFC device and other services.
See the subpages for detailed documentation of individual modules:
- The code follows the PEP 8 Style Guide for Python Code.
- Docstrings are written in Google style.
Unit tests can be run with pytest:
pytest tests/