bigtreetech / bigtreetech/PandaTouch
Feature request: Allow selection of flow calibration dataset when selecting a filament
- Dominant language
- Python
- Stars
- 265
- Forks
- 63
- PR merge metrics
- No merged PRs in 30d
Description
It would be nice to have the option for the printers which do not have automatic flow calibration like X1C to select the correct flow calibration dataset from the printer:
At the moment, the selection of the filament via panda touch is more or less useless when working with flow calibration profiles, because you need to set them in BambuStudio after selecting the filament via panda touch. If you do that, you can also select the filament via BambuStudio because it is in the same screen anyway.

The list of datasets can be obtained via MQTT from the printer:
`{"print":{"sequence_id":"0","command":"extrusion_cali_get","filament_id":"","nozzle_diameter":"0.4"}}`
Example result from printer:
```
"sequence_id": "0",
"command": "extrusion_cali_get",
"filament_id": "",
"nozzle_diameter": "0.4",
"filaments": [
{
"setting_id": "GFSL95_00",
"filament_id": "GFL95",
"name": "PLA-HS-WHITE-2024-01",
"k_value": "0.01500",
"n_coef": "1.000",
"cali_idx": 862,
"is_history_setting": true
},
{
"setting_id": "GFSNLS08",
"filament_id": "GFSNL08",
"name": "PETG_SUNLU_BLUE_2025-03",
"k_value": "0.03500",
"n_coef": "1.000",
"is_history_setting": false,
"cali_idx": 202
}
],
"reason": "success",
"result": "success"
```
Then the correct dataset can be selected:
`{"print":{"sequence_id":"0","command":"extrusion_cali_sel","ams_id":"(id of AMS unit)","tray_id":"(id of ams slot)","filament_id":"(has to match the id of the filament in the calibration dataset)","cali_idx":"(id of calibration dataset)","nozzle_diameter":"0.4"}}`
Edit: Fixed typo
Contributor guide
No contributing guide indexed for this repository
Research direction
No source file or test is named. Start by tracing the printer's filament-selection flow and its MQTT handling, then inspect the extrusion_cali_get and extrusion_cali_sel commands described in the issue. Done means a user can select the matching calibration dataset when choosing a filament on printers without automatic flow calibration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100