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

Multi chip support #73

Merged
merged 197 commits into from
Jan 11, 2018
Merged

Multi chip support #73

merged 197 commits into from
Jan 11, 2018

Conversation

laborleben
Copy link
Collaborator

@laborleben laborleben commented Feb 3, 2017

See #51.

@laborleben laborleben force-pushed the multi_chip branch 4 times, most recently from 8cb3e16 to 9e6dc16 Compare February 3, 2017 17:08
@laborleben laborleben changed the base branch from development to master February 3, 2017 20:36
@laborleben laborleben changed the base branch from master to development February 3, 2017 20:36
@laborleben
Copy link
Collaborator Author

Hmm, github was showing the wrong commits for the merge... I fixed that by changing the base to master and set it back to development.

@DavidLP
Copy link
Collaborator

DavidLP commented Feb 3, 2017

Black magic

@DavidLP
Copy link
Collaborator

DavidLP commented Feb 3, 2017

Review? By the way after your colpr hack I only see data of one chip when serial scannig. Nice.

@laborleben
Copy link
Collaborator Author

Ah good to know. I will do the review in the coming days. Probably not before Monday.

@DavidLP
Copy link
Collaborator

DavidLP commented Feb 4, 2017

To be tested before merging:

  • analog_scan
  • digital_scan
  • scan_ext_trigger
  • scan_fei4_self_trigger
  • scan_threshold_fast:
    • Crash because on the fly scan parameter redifinition fixed in commit 4d88b56
      - Check after tuning that the scan ranges are different fixed in commit 5d4ef89
  • scan_threshold
  • tune_fei4
    • Runs n modules times the sub scans and itself. That does not make sense. wrong observation, seems fine
    • tuning result (mean threshold) is far off , but otherwise everything looks fine, needs check Was checked on BEAST stave and seems reasonable
  • tune_feedback
    • Crash in analyze since it uses not available class attributes fixed in commit 5d4ef89
      - Crash in figure manager: AttributeError: 'FigureCanvasAgg' object has no attribute 'manager fixed in commit a423c84
  • tune_gdac
  • tune_gdac_standard
  • tune_hot_pixels
  • tune_noise_occupancy:
    • FIFO stop time out, maybe normal error and no bug looks like
  • tune_stuck_pixel
  • tune_tdac
  • tune_fdac
  • tune_threshold_baseline
  • test_register:
    • Crash of scan if one module fails test fixed in commit 95f1ae9
    • Crash of scan if one module has corrupt data fixed in commit a0f2c64
  • calibrate_hit_or
    • Cannot access BEAST TDC channels in parallel scan fixed in commit 4a72661
  • prim list, meta script behavior
  • multi data send to different sockets

Needed features:

  • Proper scan parameter handling that are changed in scan loop

    • Either define scan parameter per module in serial scan mode
    • OR fix hackish programing that input run configs are not changed in the scan
      - OR reset scan parameters at the beginning of each run.

    --> Solution: Scan parameters, run config, and all class attributes added in the scan are now reset after the scan (commit 4d88b56)

  • Make run attributes and scan parameters that where added/changed in scan loop available for analysis
    --> Implemented in commit 5d4ef89 and a423c84

  • Take last existing run cfg with warning if run cfg is given by run number and only exists for some modules_
    --> Implemented in 7bdfafd with following behavior

    • if the last successfull run config does not exist for a module a warning is printed and the last existing config of a successfull run is taken for this module
    • if a run number defines the config an exception is raised if this run config does not exist (this was already the default behavior)
  • Fix unit tests
    --> Fixed in commit 2aebdce

  • TDC handle to encapsulate single / multiple TDC channel hardware
    --> Implemented in commit aed036c

dut : dut_mio_sim.yaml # DUT hardware configuration (.yaml). Change to dut_mio_gpac.yaml for GPAC support.
dut_configuration : # DUT init configuration (.yaml). Change to dut_configuration_mio_gpac.yaml for GPAC support.

fe_configuration : # FE configuration file, text (.cfg) or HDF5 (.h5) file. If not given, latest valid configuration (run status FINISHED) will be taken. If a number is given, configuration from run with specified number will be taken.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Have to revert tomorrow

Copy link
Collaborator

Choose a reason for hiding this comment

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

Annoying

@DavidLP
Copy link
Collaborator

DavidLP commented Feb 6, 2017

All features are implemented and all scans are tested with 3 chips in parallel. If BEAST results make sense, (especially tuning) I will merge quickly to development to have more testers.
All possible enhancements like:

  • proper scan data handling in run base
  • proper serial/parallel scan setting
  • excluding modules in scans
  • ...

can go to a new branch then.

@laborleben If you want to comment on bugs / feature regressions do a review please.

@DavidLP
Copy link
Collaborator

DavidLP commented Feb 22, 2017

This implementation does not work for parallel scans where the configure is based on a fe-setting. E.g. when the enable mask is ORed with an existing enable mask (e.g. see external_trigger_scan). A solution would be to define (like the existing broadcast handles) a multi_handle looping over all chip cfgs. This is nevertheless needed for stave support with more than one data line.

@laborleben
Copy link
Collaborator Author

@FlorianHinterkeuser : I added all promised changes. Please test.

@DavidLP
Copy link
Collaborator

DavidLP commented Mar 22, 2017

All scans that I tested above should be retested now.

@laborleben laborleben force-pushed the multi_chip branch 5 times, most recently from 1cc4a5b to b03a116 Compare July 27, 2017 13:33
@laborleben
Copy link
Collaborator Author

This is done. I'm not aware of any issue. The branch can be merged. @DavidLP Still waiting for pyBAR_fei4_interpreter to be available on PYPI to make unit test working again.

@laborleben laborleben merged commit dd6bb85 into development Jan 11, 2018
@laborleben laborleben deleted the multi_chip branch January 11, 2018 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants