Chromium Laser - NMGRL/pychron GitHub Wiki

Setup

  1. Copy the snippet below (Everything between the ...'s but not including them) to your setupfiles/initialization.xml file in the <hardware> section
  2. Make sure Chromium has LAN checked in Remote Control

⚠️ I know this is cryptic. I don't have direct access to Chromium. Whoever does it would be great to get a screenshot and the correct terms

  1. Enter the ip address/network name for the Chromium computer in initialization.xml
<host>192.168.40.39</host>

setupfiles/initialization.xml

<hardware>
...

<plugin enabled="true">ChromiumCO2
  <manager enabled="true">stage_manager</manager>
  <klass>ChromiumCO2Manager</klass>
  <communications>
    <host>192.168.40.39</host>
    <port>1234</port>
    <kind>TCP</kind>
    <timeout>4</timeout>
    <use_end>true</use_end>
  </communications>
  <mode>client</mode>
</plugin> 

...
</hardware>

setupfiles/startup_tests.yml

⚠️ Chromium startup tests currently always failing. DO NOT ENABLE Chromium startup tests

- plugin: ChromiumCO2
  tests:
     - test_communication

setupfiles/chromium/stage.cfg

[General
[Axes Limits]
x=0,50
y=0,50
z=0,50
[Signs]
x=1
y=1
z=1

Run a Chromium Scan via an Extraction PyScript

To run a Chromium Scan via an Extraction PyScript you only need to specify the scan number as the analysis position. This is done in the experiment editor by setting the Position to s<scan_id> e.g. s1 or s2, etc. To extract multiple scans as a single analysis you can use s1,s2,s3

def main():
    # do everything to get ready for extraction of gas
   
    begin_interval(duration)  # duration is the same as Extract Duration in the Experiment Editor

    # do extraction of gas 
    for pi in position:
        move_to_position(pi)  # move to the x,y,z position defined in Chromium scan list. 
                              # `pi` is the idx in the scan list so if pi==s4
                              # the fourth scan will run.

        warmup(block=True)    # wait for the laser to warm up

        extract()             # execute the scan.  Wait until scan complete. 
    
    complete_interval()       # wait for the entire duration to elapse

    # cleanup gas
    sleep(cleanup)            # cleanup is the same as Cleanup in the Experiment Editor
    
    # get gas staged behind inlet.  
    # equilibration of gas is handled by the measurement script
⚠️ **GitHub.com Fallback** ⚠️