-
Notifications
You must be signed in to change notification settings - Fork 315
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
Decadac reset when restarting the kernel #478
Comments
The only thing the decadac driver seems to be doing when initialised seems to be to set mode to 1 which is needed to ensure that the decadac is active https://github.com/QCoDeS/Qcodes/blob/master/qcodes/instrument_drivers/Harvard/Decadac.py#L101 I guess that this also resets all voltages but there does not seem to be a way to get the mode setting |
@WilliamHPNielsen @jenshnielsen @fabioansaloni and afaik there is no way to query for the mode value (firmware issues). In short, either you make sure the dacadac is actually working but this will probably reset all the voltages or you live on the edge and your decadac may be off all the times without you noticing. This is a limitation of the firmware. |
@fabioansaloni So you will be much better off using the QDac. The driver for it is online as of now! |
@fabioansaloni @jenshnielsen @WilliamHPNielsen it seems like it's a decadac bug (surprise). |
Commits a channelized version of the Harvard DecaDAC driver using the new channelization implementation. Note that this driver at the present time also fixes a number of open bugs in the previous driver, including occasional crashes (microsoft#546), incorrectly reading DAC voltages (microsoft#563), reset (microsoft#478). This commit also adds a number of new features to the driver including: - Feature and version detection - Access to calibrated high-resolution mode of DAC - Parameter read from memory - Validation of writes Closes: microsoft#478, microsoft#543, microsoft#563
Commits a channelized version of the Harvard DecaDAC driver using the new channelization implementation. Note that this driver at the present time also fixes a number of open bugs in the previous driver, including occasional crashes (microsoft#546), incorrectly reading DAC voltages (microsoft#563), reset (microsoft#478). This commit also adds a number of new features to the driver including: - Feature and version detection - Access to calibrated high-resolution mode of DAC - Parameter read from memory - Validation of writes
* Driver/Keysight DMM (#556) * feat: Add a Keysight_34465A driver Add a first file for a driver for the Keysight 34465A DMM and a benchmarking notebook * Add trigger parameters to driver Add four trigger parameters to the driver. * refactor: Remove 'READ?' as volt get_cmd Make a more general get_cmd for the volt parameter. Using simply 'READ?' is wrong in many cases. * feat: Add sampling parameters Add four parameters for sampling. * fix: Fix wrong volt parameter get_cmd * WIP: Add Array parameter * feat: Add functioning data buffer parameter * Move notebook * Respond to review * feat: Add channelization Initial commit of two new classes to allow for channelization of instruments. This includes ChannelList, a container for channels in an instrument, and InstrumentChannel which implements a base class for an instance of a channel. * feat: Add channelized Lakeshore Model336 Driver Add a driver for the Lakeshore Model 336 temperature controller using new channelization implementation. * feat: Add a channelized driver for the Harvard DAC Commits a channelized version of the Harvard DecaDAC driver using the new channelization implementation. Note that this driver at the present time also fixes a number of open bugs in the previous driver, including occasional crashes (#546), incorrectly reading DAC voltages (#563), reset (#478). This commit also adds a number of new features to the driver including: - Feature and version detection - Access to calibrated high-resolution mode of DAC - Parameter read from memory - Validation of writes * fix: bug in slicing and adding code Fix bug in slicing/adding code, not correctly passing along channel list name. * style: fix formatting and make codacy fixes * style: fix more code style issues - Removed useless methods - Whitespace * fix: flush is now handled correctly in instrument base class * feat: Allow channellists to be excluded from snapshots Allows certain channel lists to be excluded from snapshots. This is helpful when, for example, there are multiple ways to access the same channel. * fix: Allow snapshots of ChannelLists This feature is implemented by creating the idea of a submodule in the instrument class. This is just a class which implements the Instrument class, and may be a channel list or may just implement a logical collection of parameters within a parent instrument. For example, looking at the Lakeshore Model_336 driver, each channel can either be accessed as a member of a channel list, or by using the name of the channel: ```python3 therm = Model_336("therm", "...") # These two accesses are equivalent therm.A.temperature() therm.channels[0].temperature() ``` * style: remove force arg in snapshot_base Should think about the best way to implement this change. * style: remove unessecary import * fix: error in type check. * fix: submodules should be Metadatable Submodule objects must be Metadatables at minimum, instrument is too restrictive for channels. * Start adding tests for channels * Extend tests * Fix: ensure consistent dataset names regardless of chan[] or chanA reading * More work on channels testing * Make sure that instument is closed in tests * Depend on hypothesis for test * fix improve testing of channels * test more: * fix: channels pep8 * fix: ensure that channels can be extended from generator * More tests of adding channels * Add missing functions and parameters to channellist * fix: function testS * assert to unittest style * Revert "fix: function testS" This reverts commit ff8a316. * Revert "Add missing functions and parameters to channellist" This reverts commit 347c0b2. * Remove docs of non existing attributes * Docs: decadac quote *IDN to remove warning * Add some channel notebooks * fix: test_channels small tweeks * Add support to array parameters in channels And error clearly if you try to measure multiple multiparameters * Mock parameters add instruments to fix names in tests * refactor tests to reduce code duplication * Revert "Add some channel notebooks" This reverts commit 2dbacc0. * feat: Add channelised QDac driver Add a QDac driver using the new channelisation feature * feat: Add a set method to MultiChannelInstrumentParameter * docs: Add a driver example for the channelised Qdac * feat: Make ChannelList take default paramclass Make the paramclass returned by __getattr__ be customisable. * feat: Add a channelised QDac driver Add a channelised driver for the QDac. This requires changing the base code for channels a bit to allow for custom MultiChannelInstrumentParameter subclasses. * docs: Add notebook for QDac w. channels * style: Remove unnecessary comment * Fix syntax/spelling errors in DAC driver * Fix: qdac_channels remove magic number * Doc: clarify doc string * Fix: rename paramclass to be more specific * Lakeshore tab to space * pep8 lakeshore driver * Pep8 decadac driver * Fix warnings in qdac driver * Annotate parameters that linter has problems with
With the new Decadac driver, is this solved? @fabioansaloni? |
Closing this issue for now as the setup whence the issue came no longer exists. |
* Driver/Keysight DMM (microsoft#556) * feat: Add a Keysight_34465A driver Add a first file for a driver for the Keysight 34465A DMM and a benchmarking notebook * Add trigger parameters to driver Add four trigger parameters to the driver. * refactor: Remove 'READ?' as volt get_cmd Make a more general get_cmd for the volt parameter. Using simply 'READ?' is wrong in many cases. * feat: Add sampling parameters Add four parameters for sampling. * fix: Fix wrong volt parameter get_cmd * WIP: Add Array parameter * feat: Add functioning data buffer parameter * Move notebook * Respond to review * feat: Add channelization Initial commit of two new classes to allow for channelization of instruments. This includes ChannelList, a container for channels in an instrument, and InstrumentChannel which implements a base class for an instance of a channel. * feat: Add channelized Lakeshore Model336 Driver Add a driver for the Lakeshore Model 336 temperature controller using new channelization implementation. * feat: Add a channelized driver for the Harvard DAC Commits a channelized version of the Harvard DecaDAC driver using the new channelization implementation. Note that this driver at the present time also fixes a number of open bugs in the previous driver, including occasional crashes (microsoft#546), incorrectly reading DAC voltages (microsoft#563), reset (microsoft#478). This commit also adds a number of new features to the driver including: - Feature and version detection - Access to calibrated high-resolution mode of DAC - Parameter read from memory - Validation of writes * fix: bug in slicing and adding code Fix bug in slicing/adding code, not correctly passing along channel list name. * style: fix formatting and make codacy fixes * style: fix more code style issues - Removed useless methods - Whitespace * fix: flush is now handled correctly in instrument base class * feat: Allow channellists to be excluded from snapshots Allows certain channel lists to be excluded from snapshots. This is helpful when, for example, there are multiple ways to access the same channel. * fix: Allow snapshots of ChannelLists This feature is implemented by creating the idea of a submodule in the instrument class. This is just a class which implements the Instrument class, and may be a channel list or may just implement a logical collection of parameters within a parent instrument. For example, looking at the Lakeshore Model_336 driver, each channel can either be accessed as a member of a channel list, or by using the name of the channel: ```python3 therm = Model_336("therm", "...") # These two accesses are equivalent therm.A.temperature() therm.channels[0].temperature() ``` * style: remove force arg in snapshot_base Should think about the best way to implement this change. * style: remove unessecary import * fix: error in type check. * fix: submodules should be Metadatable Submodule objects must be Metadatables at minimum, instrument is too restrictive for channels. * Start adding tests for channels * Extend tests * Fix: ensure consistent dataset names regardless of chan[] or chanA reading * More work on channels testing * Make sure that instument is closed in tests * Depend on hypothesis for test * fix improve testing of channels * test more: * fix: channels pep8 * fix: ensure that channels can be extended from generator * More tests of adding channels * Add missing functions and parameters to channellist * fix: function testS * assert to unittest style * Revert "fix: function testS" This reverts commit ff8a316. * Revert "Add missing functions and parameters to channellist" This reverts commit 347c0b2. * Remove docs of non existing attributes * Docs: decadac quote *IDN to remove warning * Add some channel notebooks * fix: test_channels small tweeks * Add support to array parameters in channels And error clearly if you try to measure multiple multiparameters * Mock parameters add instruments to fix names in tests * refactor tests to reduce code duplication * Revert "Add some channel notebooks" This reverts commit 2dbacc0. * feat: Add channelised QDac driver Add a QDac driver using the new channelisation feature * feat: Add a set method to MultiChannelInstrumentParameter * docs: Add a driver example for the channelised Qdac * feat: Make ChannelList take default paramclass Make the paramclass returned by __getattr__ be customisable. * feat: Add a channelised QDac driver Add a channelised driver for the QDac. This requires changing the base code for channels a bit to allow for custom MultiChannelInstrumentParameter subclasses. * docs: Add notebook for QDac w. channels * style: Remove unnecessary comment * Fix syntax/spelling errors in DAC driver * Fix: qdac_channels remove magic number * Doc: clarify doc string * Fix: rename paramclass to be more specific * Lakeshore tab to space * pep8 lakeshore driver * Pep8 decadac driver * Fix warnings in qdac driver * Annotate parameters that linter has problems with
* Driver/Keysight DMM (microsoft#556) * feat: Add a Keysight_34465A driver Add a first file for a driver for the Keysight 34465A DMM and a benchmarking notebook * Add trigger parameters to driver Add four trigger parameters to the driver. * refactor: Remove 'READ?' as volt get_cmd Make a more general get_cmd for the volt parameter. Using simply 'READ?' is wrong in many cases. * feat: Add sampling parameters Add four parameters for sampling. * fix: Fix wrong volt parameter get_cmd * WIP: Add Array parameter * feat: Add functioning data buffer parameter * Move notebook * Respond to review * feat: Add channelization Initial commit of two new classes to allow for channelization of instruments. This includes ChannelList, a container for channels in an instrument, and InstrumentChannel which implements a base class for an instance of a channel. * feat: Add channelized Lakeshore Model336 Driver Add a driver for the Lakeshore Model 336 temperature controller using new channelization implementation. * feat: Add a channelized driver for the Harvard DAC Commits a channelized version of the Harvard DecaDAC driver using the new channelization implementation. Note that this driver at the present time also fixes a number of open bugs in the previous driver, including occasional crashes (microsoft#546), incorrectly reading DAC voltages (microsoft#563), reset (microsoft#478). This commit also adds a number of new features to the driver including: - Feature and version detection - Access to calibrated high-resolution mode of DAC - Parameter read from memory - Validation of writes * fix: bug in slicing and adding code Fix bug in slicing/adding code, not correctly passing along channel list name. * style: fix formatting and make codacy fixes * style: fix more code style issues - Removed useless methods - Whitespace * fix: flush is now handled correctly in instrument base class * feat: Allow channellists to be excluded from snapshots Allows certain channel lists to be excluded from snapshots. This is helpful when, for example, there are multiple ways to access the same channel. * fix: Allow snapshots of ChannelLists This feature is implemented by creating the idea of a submodule in the instrument class. This is just a class which implements the Instrument class, and may be a channel list or may just implement a logical collection of parameters within a parent instrument. For example, looking at the Lakeshore Model_336 driver, each channel can either be accessed as a member of a channel list, or by using the name of the channel: ```python3 therm = Model_336("therm", "...") # These two accesses are equivalent therm.A.temperature() therm.channels[0].temperature() ``` * style: remove force arg in snapshot_base Should think about the best way to implement this change. * style: remove unessecary import * fix: error in type check. * fix: submodules should be Metadatable Submodule objects must be Metadatables at minimum, instrument is too restrictive for channels. * Start adding tests for channels * Extend tests * Fix: ensure consistent dataset names regardless of chan[] or chanA reading * More work on channels testing * Make sure that instument is closed in tests * Depend on hypothesis for test * fix improve testing of channels * test more: * fix: channels pep8 * fix: ensure that channels can be extended from generator * More tests of adding channels * Add missing functions and parameters to channellist * fix: function testS * assert to unittest style * Revert "fix: function testS" This reverts commit ff8a316. * Revert "Add missing functions and parameters to channellist" This reverts commit 347c0b2. * Remove docs of non existing attributes * Docs: decadac quote *IDN to remove warning * Add some channel notebooks * fix: test_channels small tweeks * Add support to array parameters in channels And error clearly if you try to measure multiple multiparameters * Mock parameters add instruments to fix names in tests * refactor tests to reduce code duplication * Revert "Add some channel notebooks" This reverts commit 2dbacc0. * feat: Add channelised QDac driver Add a QDac driver using the new channelisation feature * feat: Add a set method to MultiChannelInstrumentParameter * docs: Add a driver example for the channelised Qdac * feat: Make ChannelList take default paramclass Make the paramclass returned by __getattr__ be customisable. * feat: Add a channelised QDac driver Add a channelised driver for the QDac. This requires changing the base code for channels a bit to allow for custom MultiChannelInstrumentParameter subclasses. * docs: Add notebook for QDac w. channels * style: Remove unnecessary comment * Fix syntax/spelling errors in DAC driver * Fix: qdac_channels remove magic number * Doc: clarify doc string * Fix: rename paramclass to be more specific * Lakeshore tab to space * pep8 lakeshore driver * Pep8 decadac driver * Fix warnings in qdac driver * Annotate parameters that linter has problems with
If you encounter a bug use the following template.
If you have a feature request feel free to freestyle.
Steps to reproduce
Expected behaviour
Channel 0 should still be set at 1 V after the kernel has been restarted
Actual behaviour
Channel 0 is set to 0 V once the kernel has been restarted
System
operating system
Windows 7
qcodes version
0.1.2
The text was updated successfully, but these errors were encountered: