Skip to content

Add developer documentation for the Harvester integration#1623

Open
jbflo wants to merge 1 commit into
developfrom
jb-harvester-docs
Open

Add developer documentation for the Harvester integration#1623
jbflo wants to merge 1 commit into
developfrom
jb-harvester-docs

Conversation

@jbflo

@jbflo jbflo commented Jun 9, 2026

Copy link
Copy Markdown
Member

A bit late, but better late than never.

Add developer documentation for the Harvester integration

Summary

  • Adds docs/source/dev/harvester.md covering the CrystalDirect Harvester 3
    (CDH3) integration developed for MASSIF-1 at ESRF/EMBL
  • Registers the page in the developer documentation toctree (index.rst)

What is covered

  • Architecture overview and class diagram (Harvester, HarvesterMaintenance,
    EMBLFlexHarvester, HarvesterMockup)
  • Two data collection modes: cryogenic and room temperature
  • Full data pipeline: CRIMS → CDH ↔ MXCuBE → ISPyB/DRAC
  • Harvester states reference table
  • Queue workflow with sequence diagram and decision flowchart
  • Look-ahead harvesting behaviour
  • Two-step pin calibration procedure with sequence diagram
  • Sample centring offset calculation
  • Configuration examples (YAML and XML)
  • Main methods reference for all three hardware objects
  • MXCuBE-Web integration: routes, signals, and UI controls

Notes

  • Requires sphinxcontrib-mermaid for the diagrams (pip install sphinxcontrib-mermaid in the docs environment)

  • document the Harvester code for EMBL/HTX and ESRF maintenance purposes.

@jbflo jbflo force-pushed the jb-harvester-docs branch 3 times, most recently from 53d47ee to 22c0807 Compare June 10, 2026 09:03
@jbflo jbflo force-pushed the jb-harvester-docs branch from 22c0807 to e9acf76 Compare June 22, 2026 09:23
@jbflo jbflo force-pushed the jb-harvester-docs branch 2 times, most recently from 971c9cb to aa3899e Compare June 29, 2026 14:03
Comment thread docs/source/dev/harvester.md Outdated
Comment thread docs/source/dev/harvester.md Outdated
Comment on lines +442 to +443
The resulting tuple `(phiy_offset, centringFocus, centringTableVertical)` is
passed directly to `Diffractometer.start_harvester_centring()`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you, please, actualise this with the latest version (motor names, methods ...)

@beteva beteva left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done.
Few incorrect names and methods to be changed.

@jbflo jbflo force-pushed the jb-harvester-docs branch 2 times, most recently from 5837237 to 88df9f5 Compare July 9, 2026 12:35
@jbflo

jbflo commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

Well done. Few incorrect names and methods to be changed.

Done !
Thanks for having a look.

Comment thread docs/source/dev/harvester.md Outdated
SC->>CDH2: loadSampleFromHarvester(pin_cleaning) [exporter cmd]
CDH2-->>SC: Pin mounted
HM->>MD: move_motors(kappa, kappa_phi, phi, phiy + drift_x)
HM->>MD: centringFocus.set_value_relative(drift_z)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you, please, actualise this with the latest version (motor names, methods ...)

@jbflo jbflo Jul 9, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes Fixed, still had a few missing.

@jbflo jbflo force-pushed the jb-harvester-docs branch from 88df9f5 to a1752f1 Compare July 9, 2026 13:11
Covers the CrystalDirect Harvester 3 (CDH3) integration at MASSIF-1:
architecture, hardware objects (Harvester, HarvesterMaintenance,
EMBLFlexHarvester, HarvesterMockup), harvester states, queue workflow
with decision flowchart, look-ahead harvesting, two-step pin calibration,
sample centring offset calculation, configuration examples, main methods
reference, and MXCuBE-Web integration including UI controls.
@jbflo jbflo force-pushed the jb-harvester-docs branch from a1752f1 to 6b43229 Compare July 9, 2026 13:12
@jbflo jbflo requested a review from beteva July 9, 2026 14:29
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.

3 participants