1. 24 Jan, 2022 1 commit
  2. 13 Aug, 2019 1 commit
  3. 08 Aug, 2019 1 commit
  4. 03 Apr, 2019 1 commit
  5. 08 Mar, 2019 1 commit
  6. 04 Jun, 2018 3 commits
  7. 03 Jun, 2018 4 commits
    • Jason Milhone's avatar
    • Jason Milhone's avatar
    • Jason Milhone's avatar
      Add concurrent.futures functionality · 8aca22a3
      Jason Milhone authored
      I'm replacing using the QThreadPool for handling all of the MDSplus
      calls with a concurrent.futures.ThreadPoolExecutor.
      There is a new function in mdsplushelpers called retrieve_all_data that
      uses the ThreadPoolExecutor.  A keyword is a progress_signal. This is a
      Qt signal that can be connected back to a progress bar to keep
      functionality from before.  I should probably wrap the emitting in a
      try except clause.
      retrieve_all_data is called from an instance of a Worker using the
      original QThreadPool in app.py. The done signal is connected to
      I've removed handle_returning_data because it is no longer needed.  The
      progress bar is updated via the new function update_progress_bar which
      is connected to the worker progress signal.
      I modified workers.py to pass its progress signal to retrieve_all_data.
          Decide on an timeout implementation detail.  I'm thinking about
          adding it to a global configuration.  It is nice to have, but it can
          take a long time to grab all of the data for long cathode plasmas.
    • Jason Milhone's avatar
      Cast time and data as numpy ndarrays · f7043a09
      Jason Milhone authored
      I've decided to just leverage numpy for my type checking. I really only
      want to deal with numpy arrays, so I removed the isistance check against
      The truthyness now is simplier and just checks if len(self) is greater
      than 1.  An implementation detail that I'm not sure if I like is it will
      throw a ValueError if the lengths of time and data don't match.
  8. 01 Jun, 2018 1 commit
    • Jason Milhone's avatar
      Add lru_cache logging and emptying in GUI · f80b2d99
      Jason Milhone authored
      Users can now empty the cache when they need to regrab data such as
      after a change has been made on the MDSplus tree side.
      The size of the cache can now be monitored via logging.
  9. 31 May, 2018 5 commits
  10. 29 May, 2018 1 commit
  11. 28 May, 2018 2 commits
    • Jason Milhone's avatar
      Moved to using gridspec over subplot2grid · a296b8e7
      Jason Milhone authored
      I was encountering an error (see Issue #12 messages) where matplotlib
      doesn't calculate the new subplot coordinates correctly.  There ends up
      being a negative width or height followed by crashing the program.  I
      don't seem to have this issue anymore by using gridspec.  However, I
      needed to add some functionality to app.py to use
      GridSpec.tight_layout() because Figure.tight_layout() wasn't working
      like I thought would.
    • Jason Milhone's avatar
      Add lru_cache functionality to grabbing data · 520b608b
      Jason Milhone authored
      Created a helper function called _retrieve_signal where all inputs are
      hashable so that @functools.lru_cache could be utilized.
      retrieve_signal now unpacks some of the inputs and calls
      Some of the logging messages were modified as well.
  12. 22 May, 2018 6 commits
    • Jason Milhone's avatar
      Remove print statements · c6ffef51
      Jason Milhone authored
    • Jason Milhone's avatar
    • Jason Milhone's avatar
      Merge branch 'master' into milhone_dev · 4c1f7036
      Jason Milhone authored
    • Jason Milhone's avatar
      Add @log decorator in more places · c7a99ca4
      Jason Milhone authored
      Continuing to add the @log decorator in places.  Made some modifcations
      to some of the pyqt slot functions that needed an extra paramter that
      isn't used.  I really don't understand why they didn't throw errors
      before.  Probably something to do with how PyQt handles them.
      Added some more logging statements to exception handling in
    • Jason Milhone's avatar
      Add hotfix for double clicking update button crash · c159bcff
      Jason Milhone authored
      Double clicking update button would lead to a crash.  Button is now
      disabled while grabbing data.  It is unclear if I just added a bug to
      master.  Sorry!
    • Jason Milhone's avatar
      Create a logging package · 6b655d94
      Jason Milhone authored
      A logging packaged was created with single module called
      piscope_logging has three functions:
      	create_logger: creates a logging.Logger instance
      	log: decorator that logs calls and exceptions
      	time_log: decorator that logs calls, exceptions, and time of
      The decorators have been added in mdsplus_helpers.py, app.py.  The
      logger creation has been modified in main.py
      Notes: I've noticed that on some of my pyqt slots, I haven't included enough
      arguments for the incoming pyqt signals.  This makes things crash if you
      decorate the slot function.  I'm working on fixing this as we speak.
  13. 21 May, 2018 2 commits
  14. 19 May, 2018 1 commit
  15. 18 May, 2018 1 commit
  16. 16 May, 2018 8 commits
  17. 15 May, 2018 1 commit