1. 31 May, 2018 1 commit
  2. 29 May, 2018 1 commit
  3. 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.
      a296b8e7
    • 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
      _retrieve_signal.
      
      Some of the logging messages were modified as well.
      520b608b
  4. 22 May, 2018 6 commits
    • Jason Milhone's avatar
      Remove print statements · c6ffef51
      Jason Milhone authored
      c6ffef51
    • Jason Milhone's avatar
      f8a46bf6
    • Jason Milhone's avatar
      Merge branch 'master' into milhone_dev · 4c1f7036
      Jason Milhone authored
      4c1f7036
    • 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
      mdsplus_helpers.py
      c7a99ca4
    • 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!
      c159bcff
    • Jason Milhone's avatar
      Create a logging package · 6b655d94
      Jason Milhone authored
      A logging packaged was created with single module called
      piscope_logging.
      
      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
      	execution
      
      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.
      
      THIS IS UNTESTED. USE AT YOUR OWN RISK.
      6b655d94
  5. 21 May, 2018 2 commits
  6. 19 May, 2018 1 commit
  7. 18 May, 2018 1 commit
  8. 16 May, 2018 8 commits
  9. 15 May, 2018 5 commits
  10. 11 May, 2018 1 commit
    • Jason Milhone's avatar
      Fixing new config bugs · 54cec989
      Jason Milhone authored
      Tried to fix a bunch of bugs associated with creating a new
      configuration file.
      
      Also fixed the sliders when opening the new config dialog.
      
      New Feature: Handles shot number equal to 0.
      
      I probably introducted new bugs.  I spent a lot of time fixing little
      issues with self.acquiring_data race conditions.  It's time I write out
      a proper state machine and make sure I map it correctly when grabbing
      data.
      54cec989
  11. 10 May, 2018 2 commits
  12. 07 May, 2018 1 commit
  13. 03 May, 2018 3 commits
    • Jason Milhone's avatar
      Added logging to try to track down errors · 911e9ae1
      Jason Milhone authored
      911e9ae1
    • Jason Milhone's avatar
      Forgot a small edit I meant to make · 8f28934d
      Jason Milhone authored
      8f28934d
    • Jason Milhone's avatar
      Tracking down a locking bug · 3d5e5431
      Jason Milhone authored
      Ethan and I have witnessed a bug in the control room where the gui locks
      up while in share-x and auto update mode.  I assume the culprit is auto
      update and not share-x.
      
      I have added a QTimer to query the mdsplus event watching thread to ask
      if it is still alive when auto update is active.  I have yet to
      replicate the bug at home and the thread has always been active.
      
      In response to that knowledge, I added some extra logic inside in
      app.py.  When it is time to spawn all of the mdsplus calls, it will call
      a brand new function in mdsplus_helpers.py called check_open_tree.
      Before any data calls go out, it must get a True back saying the tree is
      able to be opened.  If it doesn't, then it will gracefully move on and
      say there was an error opening the shot and setting self.data to None.
      
      I'm hoping this fixes some of the issues we have been having.
      
      Unfortunately, all of these fixes are inside this branch that might have
      bugs of its own.  Good Luck!
      3d5e5431
  14. 01 May, 2018 1 commit
    • Jason Milhone's avatar
      Added non shareable axes · 962c00b5
      Jason Milhone authored
      You can now specify if an axes is not shareable in a configuration.
      
      You can also specify if an axes is not to be resampled.  I might make
      this on the signal level, but I'm not sure.
      
      This is probably buggy, but I haven't found any glaring issues yet.
      962c00b5
  15. 30 Apr, 2018 2 commits
    • Jason Milhone's avatar
      Bug Fixes with Grid Spec Upgrade · a1c0bb45
      Jason Milhone authored
      Fixed a bunch of minor bugs with the grid spec upgrade.  Please let me
      know if you find any more.
      
      I believe I modified all of the old config files to work with the new
      grid spec upgrade.
      a1c0bb45
    • Jason Milhone's avatar
      Added grid spec with uneven rows · fa810963
      Jason Milhone authored
      This is still a work in progress.  I probably have added a bunch of bugs
      that I have not found yet.
      
      The config file now has a col key which is a list of 6 numbers
      corresponding to the number of rows in that column.  The first column
      must be 1 or higher. The rest could be zero.
      
      I also made the edit configuration window a little easier to read.  It
      now specifically says Col: # Row: # to make it obvious which subplot is
      being configured.
      
      Added a helpers.py file to do a least common multiple calculation for a
      list of numbers.
      fa810963
  16. 29 Apr, 2018 2 commits
    • Jason Milhone's avatar
      Added edit global settings dialog · 06b42048
      Jason Milhone authored
      Users can now edit the server and tree name from within the app using
      Edit -> Edit Global Settings...
      
      There really shouldn't be any new bugs added to this release.
      
      Added an Edit menu and also moved Edit Configuration to it from File.
      06b42048
    • Jason Milhone's avatar
      Fixed the data handling bugs · 23392652
      Jason Milhone authored
      Seems to be working for now.  Please report bugs if found.
      
      Removed some commented code is mdsplus_helpers.py
      23392652
  17. 28 Apr, 2018 1 commit
    • Jason Milhone's avatar
      Better no data handling, UNTESTED · 57ca9e45
      Jason Milhone authored
      First attempt at better data handling, especially with no data.
      
      This is untested because I can't log into skywalker at the moment.
      
      The methodology is to return None if there is no data.  The None's will
      get stored into the lists / corresponding entry in the self.data
      dictionary.  I wrote a helper function in mdsplus_helpers.py to check
      the data dictionary for actual data.  If there is no actual data,
      self.data will be written to None and no plotting will happen.
      
      Ideally, if the user makes a change externally and then presses update,
      the app should ask for data again.  This is a change from before.
      Hopefully, this will work seamlessly.
      57ca9e45