bigtreetech / bigtreetech/PandaTouch

Feature request: Allow selection of flow calibration dataset when selecting a filament

Open
#269 1 comment 0 reactions 0 assignees View on GitHub
wishlist
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.

![Image](https://github.com/user-attachments/assets/039f2e9e-30a0-4987-9415-099cadf4f219)

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.