Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(spoolman): add multi tool support #1946

Merged
merged 6 commits into from
Dec 1, 2024

Conversation

meteyou
Copy link
Member

@meteyou meteyou commented Jul 15, 2024

Description

This PR adds support for multi tool support for the spoolman integration.

Related Tickets & Documents

fixes #1927

Mobile & Desktop Screenshots/Recordings

image

[optional] Are there any post-deployment tasks we need to perform?

none

@meteyou meteyou requested review from dw-0 and rackrick July 15, 2024 21:47
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jul 15, 2024
Copy link
Contributor

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 0

Copy link
Contributor

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 0

@moggieuk
Copy link

moggieuk commented Jul 24, 2024

May I ask for one little enhancement:

For reference, Happy Hare will (in upcoming release) creates these "extra" fields in the spools table:
MMU_NAME_FIELD = 'printer_name'
MMU_GATE_FIELD = 'mmu_gate_map'

E.g. A GET on http://192.168.0.108:7912/api/v1/spool/1, would return the extra fields on the spool_info object like this:

{
  "id": 1,
  "registered": "2023-09-17T08:55:26Z",
  "first_used": "2023-09-17T08:55:01.044000Z",
  "last_used": "2024-06-27T15:28:41Z",
  "filament": {
    "id": 1,
    "registered": "2023-09-17T08:54:03Z",
    "name": "Matte Green",
    "vendor": {
      "id": 1,
      "registered": "2023-09-17T08:51:36Z",
      "name": "eSun",
      "extra": {}
    },
    "material": "PLA - Silk",
    "price": 20,
    "density": 1.25,
    "diameter": 1.75,
    "weight": 1000,
    "spool_weight": 1100,
    "settings_extruder_temp": 210,
    "settings_bed_temp": 70,
    "color_hex": "8CDFAC",
    "extra": {}
  },
  "remaining_weight": 943.4987993892125,
  "initial_weight": 1000,
  "spool_weight": 1100,
  "used_weight": 56.501200610787414,
  "remaining_length": 313808.97483559017,
  "used_length": 18792.375625840086,
  "location": "BigRed @ MMU Gate:0",
  "archived": false,
  "extra": {
    "printer_name": "\"BigRed\"",
    "mmu_gate_map": "0"
  }
}

Would it be possible to check if the mmu_gate_map field exists and if so, add that to the meta information for the tool?

This is very useful because it is possible to map any "logical" tool to any physical "gate" (or slot or lane) on MMU. This extra field will contain that gate if Happy Hare is being used but it would set a place for others to use. Of course if the filed is not found or is -1 (the default) there is no gate assignment and it would be ignored.

@meteyou meteyou added this to the v2.13.0 milestone Sep 7, 2024
Copy link
Contributor

github-actions bot commented Sep 7, 2024

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 0

Copy link
Contributor

github-actions bot commented Dec 1, 2024

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 1

Copy link
Contributor

github-actions bot commented Dec 1, 2024

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 1

rackrick
rackrick previously approved these changes Dec 1, 2024
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 1, 2024
Copy link
Contributor

github-actions bot commented Dec 1, 2024

Language file analysis report:

File Missing Keys Unused Keys
en.json 0 1

@meteyou meteyou merged commit a0f003c into mainsail-crew:develop Dec 1, 2024
10 checks passed
@meteyou meteyou deleted the feat/multi-tool-spoolman branch December 1, 2024 19:46
@HitLuca
Copy link

HitLuca commented Dec 7, 2024

How is this feature supposed to be enabled? There seems to be no mention in the docs and by default I only see one spool even if I'm using an ercf

@meteyou
Copy link
Member Author

meteyou commented Dec 7, 2024

@HitLuca you have to set a variable spool_id in your tool macro like that:

[gcode_macro T0]
variable_spool_id: None
gcode:
  ...
  SET_ACTIVE_SPOOL ID={ printer['gcode_macro T0'].spool_id }
  ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

front end multi extruder support for spoolman
4 participants