Venus feature requests

@bowlineknot , there´s currently no parameters comparison tool but it´s a good suggestion. We´ll add it to our list and let you know as soon we have something ready to test.

3 Likes

Also wanted to rekindle this and say that Github works perfectly for this use case. Just with a few notable caveats…

  1. To make this work reliably you HAVE to create a repo for each method and ensure that dependencies such as labware, libraries, etc are also reliably saved in their proper directories. I suggest exporting to packages on a consistant basis if sharing from one machine to the other or ensuring libraries and labware are identical directories on both machines if you are developing across multiple systems.

    If you decide to sync the entire subdirectories this can lead to issues with .dll files being changed and moved and lead to significant reliability so only do one method directory = one git repository.

  2. .hsl → .med is not reliable but your changes made will be tracked in HSL:

  • If you adjust the hsl and then open the method editor it will fail (unless you only adjust the Insert HSL commands only. This is most likely due to activities binding (the comments with the hex stings after each command in the .hsl file made by the method editor.
  • Your change in the method editor are tracked as HSL changes in the .hsl file (or .sub for submethod libraries which is in HSL)

Feature Request: Multi-Tip Array Support, Bulk Parameter Editing, and DataFrame Integration

@EricSindelar_Hamilton I would like to propose three significant enhancements to the VENUS environment to improve workflow flexibility, developer efficiency, and data transparency.

1. Support for Array-Based Tip Type and Liquid Class Parameters

Currently, normalization tasks involving heterogeneous volumes often require complex looping or split sequences to handle different hardware configurations. I propose allowing pipetting commands to accept arrays for Tip Type and Liquid Class.

  • The Logic: Since each XRP channel is independent, the hardware is already physically capable of picking up multiple tip sizes simultaneously. However, the software currently requires these to be managed in separate steps.
  • Proposed Enhancement: Enable a single pipetting step to process an array of tip types.
  • Waste Handling: To ensure safety, the software could default the waste tracking (e.g., Track Y Right) to the clearance required for the longest tip identified in the array. Smaller tips will eject safely within this larger clearance envelope regardless of the extra travel.

2. Bulk Edit Functionality for Multi-Selected Steps

To streamline method development, I propose the ability to select multiple steps of the same type and edit their parameters simultaneously.

  • UI/UX Implementation: Similar to “Bulk Edit” features in modern IDEs, users should be able to multi-select steps, right-click, and select “Bulk Edit.”
  • Wildcard Placeholders: For parameters that differ across selected steps, the field should display a wildcard (e.g., *).
  • Synchronization: Updating a specific field (e.g., changing the Liquid Class or Air Transport Volume) would apply that change across all selected steps while leaving unmodified “wildcard” fields untouched. This would drastically reduce human error when optimizing 20+ individual steps.

3. Support for DataFrame Objects in Custom Dialogs (XAML)

To improve the runtime experience for operators, I propose the ability to pass DataFrame-style objects directly into the XAML editor for Custom Dialogs.

  • The Need: Users often need to verify complex math in table formats or confirm that a CSV has been parsed correctly before the run begins.

  • Proposed Addition: Enable a native “DataFrame” or “Table” object type within the XAML editor. Especially given the HSLExtension of the 2DArray this should be able to be displayed properly within custom dialogs which we love to use!

    This would allow developers to bind data to a DataGrid or similar control without having to manually concatenate strings into a single text block or build complex custom COM objects.

I would appreciate the Hamilton team’s feedback on whether these QoL improvements are on the roadmap for future VENUS versions or if there are existing HSLExtension workarounds for the array-based tip logic.

2 Likes

Hi Zach,

If I understand you correctly, item 1 is already possible within VENUS. The 1mL Independent Channels can pick up different tip sizes and in the Aspirate step you can define an array of volumes and an array of liquid classes. Each liquid class would have to correspond to the proper tip type you picked up. This thread provides an overview of how this can be accomplished:

FYI, XRP was the original working name for the VANTAGE, but it is not in use (though you may find vestiges of this nomenclature in service software, etc.).

I am not aware of plans to incorporate the other 2 suggestions, but I will relay them to product management!

Best regards,

Eric

1 Like

I’d like a feature where the robot pauses execution whenever it hears loud cursing or “oh no stop stop stop” sounds in the vicinity

6 Likes