Feature: Added Documentation in
This commit is contained in:
parent
2ee2b10c40
commit
16b9105873
@ -2,7 +2,9 @@
|
||||
|
||||
__\[fn_gen\]__ The Function Generator SCPI library in Python
|
||||
|
||||
### Description: A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)
|
||||
### Description:
|
||||
|
||||
A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)
|
||||
|
||||
### Installation:
|
||||
|
||||
|
@ -139,7 +139,7 @@
|
||||
<div class="type">Package</div>
|
||||
<div class="kind">Package</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)</div>
|
||||
</li><li id="fn_gen.common">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.common</div>
|
||||
@ -147,7 +147,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Common functions that are used all over the package</div>
|
||||
</li><li id="fn_gen.dg2052">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052</div>
|
||||
@ -155,7 +155,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">No module docstring; 1/1 class documented</span></div>
|
||||
<div class="summary">The main funciton generator module</div>
|
||||
</li><li id="fn_gen.enums">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums</div>
|
||||
@ -163,7 +163,7 @@
|
||||
<div class="type">Package</div>
|
||||
<div class="kind">Package</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Some enums that are used within this package</div>
|
||||
</li><li id="fn_gen.enums.comm_method">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums<wbr></wbr>.comm<wbr></wbr>_method</div>
|
||||
@ -171,7 +171,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">No module docstring; 1/1 class documented</span></div>
|
||||
<div class="summary">Communication Method Enumeration</div>
|
||||
</li><li id="fn_gen.enums.sweep_signal_type">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums<wbr></wbr>.sweep<wbr></wbr>_signal<wbr></wbr>_type</div>
|
||||
@ -179,7 +179,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">No module docstring; 1/1 class documented</span></div>
|
||||
<div class="summary">Enumeration representing the different signal types used in a sweep</div>
|
||||
</li><li id="fn_gen.enums.sweep_spacing">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums<wbr></wbr>.sweep<wbr></wbr>_spacing</div>
|
||||
@ -187,7 +187,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">No module docstring; 1/1 class documented</span></div>
|
||||
<div class="summary">The spacings used for the sweep</div>
|
||||
</li><li id="fn_gen.enums.sweep_trigger_slope">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums<wbr></wbr>.sweep<wbr></wbr>_trigger<wbr></wbr>_slope</div>
|
||||
@ -195,7 +195,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">No module docstring; 1/1 class documented</span></div>
|
||||
<div class="summary">The different slopes used when the <code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep_trigger_source</a></code> is set to <code><a href="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.html#EXTERNAL" class="internal-link" title="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.EXTERNAL">SweepTriggerSource.EXTERNAL</a></code></div>
|
||||
</li><li id="fn_gen.enums.sweep_trigger_source">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums<wbr></wbr>.sweep<wbr></wbr>_trigger<wbr></wbr>_source</div>
|
||||
@ -203,7 +203,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">No module docstring; 1/1 class documented</span></div>
|
||||
<div class="summary">The different sources available to trigger a sweep</div>
|
||||
</li><li id="fn_gen.errors">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.errors</div>
|
||||
@ -211,7 +211,7 @@
|
||||
<div class="type">Package</div>
|
||||
<div class="kind">Package</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">A combination of errors used within the package</div>
|
||||
</li><li id="fn_gen.errors.undefined_communication_method_error">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.errors<wbr></wbr>.undefined<wbr></wbr>_communication<wbr></wbr>_method<wbr></wbr>_error</div>
|
||||
@ -219,7 +219,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">An error type used when the communication method is not in the <code><a href="fn_gen.enums.comm_method.CommMethod.html" class="internal-link" title="fn_gen.enums.comm_method.CommMethod">CommMethod</a></code> enum</div>
|
||||
</li><li id="fn_gen.errors.undefined_value_error">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.errors<wbr></wbr>.undefined<wbr></wbr>_value<wbr></wbr>_error</div>
|
||||
@ -227,7 +227,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">An error used when the value used is not defined</div>
|
||||
</li><li id="fn_gen.errors.value_out_of_bounds_error">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.errors<wbr></wbr>.value<wbr></wbr>_out<wbr></wbr>_of<wbr></wbr>_bounds<wbr></wbr>_error</div>
|
||||
@ -235,7 +235,7 @@
|
||||
<div class="type">Module</div>
|
||||
<div class="kind">Module</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">An error used when the value used is out of bounds for the function</div>
|
||||
</li><li id="fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.errors<wbr></wbr>.undefined<wbr></wbr>_communication<wbr></wbr>_method<wbr></wbr>_error<wbr></wbr>.<wbr></wbr>Undefined<wbr></wbr>Communication<wbr></wbr>Method<wbr></wbr>Error</div>
|
||||
@ -291,7 +291,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Function</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Checks the whether the given value is within bounds</div>
|
||||
</li><li id="fn_gen.enums.comm_method.CommMethod">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.enums<wbr></wbr>.comm<wbr></wbr>_method<wbr></wbr>.<wbr></wbr>Comm<wbr></wbr>Method</div>
|
||||
@ -444,30 +444,30 @@
|
||||
<div class="kind">Class</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary">This is an object representing the Rigol DG2052 function generator. This object uses the SCPI protocol for communicating with the Rigol DG2052 function generator.</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.port">
|
||||
</li><li id="fn_gen.dg2052.DG2052.__comm">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.port</div>
|
||||
<div class="url">fn_gen.dg2052.DG2052.html#port</div>
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.__comm</div>
|
||||
<div class="url">fn_gen.dg2052.DG2052.html#__comm</div>
|
||||
<div class="type">Attribute</div>
|
||||
<div class="kind">Instance Variable</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary">The SCPI port describing the device, consists of a communication method and device port followed by the "::INSTR" keyword. communication method: can be either USB or TCPIP (other communication methods are not supported for this device) device port: either COMM4 or /dev/USB0 for USB in windows and posix systems respectively or the IP Address for TCPIP...</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.rm">
|
||||
<div class="privacy">PRIVATE</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.__rm">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.rm</div>
|
||||
<div class="url">fn_gen.dg2052.DG2052.html#rm</div>
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.__rm</div>
|
||||
<div class="url">fn_gen.dg2052.DG2052.html#__rm</div>
|
||||
<div class="type">Attribute</div>
|
||||
<div class="kind">Instance Variable</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary">The resource manager object for pyvisa (for future use)</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.comm">
|
||||
<div class="privacy">PRIVATE</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.__port">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.comm</div>
|
||||
<div class="url">fn_gen.dg2052.DG2052.html#comm</div>
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.__port</div>
|
||||
<div class="url">fn_gen.dg2052.DG2052.html#__port</div>
|
||||
<div class="type">Attribute</div>
|
||||
<div class="kind">Instance Variable</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary">The communication method used (either TCPIP or USB)</div>
|
||||
<div class="privacy">PRIVATE</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.__init__">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.__init__</div>
|
||||
@ -483,7 +483,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary">shows the identification of the connected instrument</div>
|
||||
<div class="summary">Shows the identification of the connected instrument</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_output">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_output</div>
|
||||
@ -499,7 +499,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Toggles the corresponding output channel</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.get_output_volt_limits">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.get<wbr></wbr>_output<wbr></wbr>_volt<wbr></wbr>_limits</div>
|
||||
@ -515,7 +515,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Returns the output impedance.</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.get_output_load">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.get<wbr></wbr>_output<wbr></wbr>_load</div>
|
||||
@ -523,7 +523,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Returns the output load.</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.get_output_signal">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.get<wbr></wbr>_output<wbr></wbr>_signal</div>
|
||||
@ -531,7 +531,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Returns the signal type and parameters.</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.get_output_state">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.get<wbr></wbr>_output<wbr></wbr>_state</div>
|
||||
@ -539,7 +539,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Returns the output state of the signal</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.is_output_on">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.is<wbr></wbr>_output<wbr></wbr>_on</div>
|
||||
@ -547,7 +547,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Returns a boolean representing the state of the output</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_dc">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_dc</div>
|
||||
@ -555,7 +555,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Sets the output channel to DC voltage mode</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_sine_wave">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_sine<wbr></wbr>_wave</div>
|
||||
@ -563,7 +563,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Sets the output channel to A Sine Wave</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_frequency">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_frequency</div>
|
||||
@ -571,7 +571,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Sets the frequency of the set signal</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_square_wave">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_square<wbr></wbr>_wave</div>
|
||||
@ -579,7 +579,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Sets the output channel to A Square Wave</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_ramp">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_ramp</div>
|
||||
@ -587,7 +587,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Sets the output channel to A Ramp (Triangular) Wave</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.set_sweep">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.set<wbr></wbr>_sweep</div>
|
||||
@ -595,7 +595,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Sets the parameters of a signal sweep</div>
|
||||
</li><li id="fn_gen.dg2052.DG2052.trigger_sweep">
|
||||
|
||||
<div class="fullName">fn<wbr></wbr>_gen<wbr></wbr>.dg2052<wbr></wbr>.DG2052<wbr></wbr>.trigger<wbr></wbr>_sweep</div>
|
||||
@ -603,7 +603,7 @@
|
||||
<div class="type">Function</div>
|
||||
<div class="kind">Method</div>
|
||||
<div class="privacy">PUBLIC</div>
|
||||
<div class="summary"><span class="undocumented">Undocumented</span></div>
|
||||
<div class="summary">Triggers a sweep manually (Only works if the sweep was setup with <code>trigger_source</code> as <code><a href="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.html#MANUAL" class="internal-link" title="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.MANUAL">SweepTriggerSource.MANUAL</a></code>)</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -150,7 +150,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -286,7 +286,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>Common functions that are used all over the package</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -297,7 +297,7 @@
|
||||
|
||||
<td>Function</td>
|
||||
<td><code><a href="#check_bounds" class="internal-link" title="fn_gen.common.check_bounds">check<wbr></wbr>_bounds</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>Checks the whether the given value is within bounds</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -328,7 +328,7 @@
|
||||
</div>
|
||||
<div class="docstring functionBody">
|
||||
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>Checks the whether the given value is within bounds</p><table class="fieldTable"><tr class="fieldStart"><td class="fieldName" colspan="2">Parameters</td></tr><tr><td class="fieldArgContainer"><span class="fieldArg">bounds:</span><code><a href="https://docs.python.org/3/library/stdtypes.html#tuple" class="intersphinx-link">tuple</a>[<a href="https://docs.python.org/3/library/functions.html#float" class="intersphinx-link">float</a></code>, <code><a href="https://docs.python.org/3/library/functions.html#float" class="intersphinx-link">float</a>]</code></td><td class="fieldArgDesc">The bounds to check within</td></tr><tr><td class="fieldArgContainer"><span class="fieldArg">value:</span><code><a href="https://docs.python.org/3/library/functions.html#float" class="intersphinx-link">float</a></code></td><td class="fieldArgDesc">The value to check</td></tr></table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -342,7 +342,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
File diff suppressed because one or more lines are too long
@ -286,7 +286,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>The main funciton generator module</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -318,7 +318,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -351,7 +351,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -296,7 +296,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>Communication Method Enumeration</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -328,7 +328,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -326,7 +326,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>Some enums that are used within this package</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -337,27 +337,27 @@
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.enums.comm_method.html" class="internal-link" title="fn_gen.enums.comm_method">comm<wbr></wbr>_method</a></code></td>
|
||||
<td><span class="undocumented">No module docstring; 1/1 class documented</span></td>
|
||||
<td>Communication Method Enumeration</td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.enums.sweep_signal_type.html" class="internal-link" title="fn_gen.enums.sweep_signal_type">sweep<wbr></wbr>_signal<wbr></wbr>_type</a></code></td>
|
||||
<td><span class="undocumented">No module docstring; 1/1 class documented</span></td>
|
||||
<td>Enumeration representing the different signal types used in a sweep</td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.enums.sweep_spacing.html" class="internal-link" title="fn_gen.enums.sweep_spacing">sweep<wbr></wbr>_spacing</a></code></td>
|
||||
<td><span class="undocumented">No module docstring; 1/1 class documented</span></td>
|
||||
<td>The spacings used for the sweep</td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.enums.sweep_trigger_slope.html" class="internal-link" title="fn_gen.enums.sweep_trigger_slope">sweep<wbr></wbr>_trigger<wbr></wbr>_slope</a></code></td>
|
||||
<td><span class="undocumented">No module docstring; 1/1 class documented</span></td>
|
||||
<td>The different slopes used when the <code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep_trigger_source</a></code> is set to <code><a href="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.html#EXTERNAL" class="internal-link" title="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.EXTERNAL">SweepTriggerSource.EXTERNAL</a></code></td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep<wbr></wbr>_trigger<wbr></wbr>_source</a></code></td>
|
||||
<td><span class="undocumented">No module docstring; 1/1 class documented</span></td>
|
||||
<td>The different sources available to trigger a sweep</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -378,7 +378,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -390,7 +390,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -296,7 +296,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>Enumeration representing the different signal types used in a sweep</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -328,7 +328,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -390,7 +390,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -296,7 +296,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>The spacings used for the sweep</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -328,7 +328,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -351,7 +351,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -296,7 +296,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>The different slopes used when the <code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep_trigger_source</a></code> is set to <code><a href="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.html#EXTERNAL" class="internal-link" title="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.EXTERNAL">SweepTriggerSource.EXTERNAL</a></code></p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -328,7 +328,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -390,7 +390,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -296,7 +296,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>The different sources available to trigger a sweep</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -328,7 +328,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -306,7 +306,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>A combination of errors used within the package</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -317,17 +317,17 @@
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.errors.undefined_communication_method_error.html" class="internal-link" title="fn_gen.errors.undefined_communication_method_error">undefined<wbr></wbr>_communication<wbr></wbr>_method<wbr></wbr>_error</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>An error type used when the communication method is not in the <code><a href="fn_gen.enums.comm_method.CommMethod.html" class="internal-link" title="fn_gen.enums.comm_method.CommMethod">CommMethod</a></code> enum</td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.errors.undefined_value_error.html" class="internal-link" title="fn_gen.errors.undefined_value_error">undefined<wbr></wbr>_value<wbr></wbr>_error</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>An error used when the value used is not defined</td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.errors.value_out_of_bounds_error.html" class="internal-link" title="fn_gen.errors.value_out_of_bounds_error">value<wbr></wbr>_out<wbr></wbr>_of<wbr></wbr>_bounds<wbr></wbr>_error</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>An error used when the value used is out of bounds for the function</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -348,7 +348,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -312,7 +312,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -276,7 +276,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>An error type used when the communication method is not in the <code><a href="fn_gen.enums.comm_method.CommMethod.html" class="internal-link" title="fn_gen.enums.comm_method.CommMethod">CommMethod</a></code> enum</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -308,7 +308,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -312,7 +312,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -276,7 +276,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>An error used when the value used is not defined</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -308,7 +308,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -312,7 +312,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -276,7 +276,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>An error used when the value used is out of bounds for the function</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -308,7 +308,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
File diff suppressed because one or more lines are too long
@ -244,7 +244,7 @@
|
||||
</div>
|
||||
|
||||
<div class="moduleDocstring">
|
||||
<div><p class="undocumented">Undocumented</p></div>
|
||||
<div><p>A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)</p></div>
|
||||
</div>
|
||||
|
||||
<div id="splitTables">
|
||||
@ -255,22 +255,22 @@
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.common.html" class="internal-link" title="fn_gen.common">common</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>Common functions that are used all over the package</td>
|
||||
</tr><tr class="module">
|
||||
|
||||
<td>Module</td>
|
||||
<td><code><a href="fn_gen.dg2052.html" class="internal-link" title="fn_gen.dg2052">dg2052</a></code></td>
|
||||
<td><span class="undocumented">No module docstring; 1/1 class documented</span></td>
|
||||
<td>The main funciton generator module</td>
|
||||
</tr><tr class="package">
|
||||
|
||||
<td>Package</td>
|
||||
<td><code><a href="fn_gen.enums.html" class="internal-link" title="fn_gen.enums">enums</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>Some enums that are used within this package</td>
|
||||
</tr><tr class="package">
|
||||
|
||||
<td>Package</td>
|
||||
<td><code><a href="fn_gen.errors.html" class="internal-link" title="fn_gen.errors">errors</a></code></td>
|
||||
<td><span class="undocumented">Undocumented</span></td>
|
||||
<td>A combination of errors used within the package</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -291,7 +291,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -139,7 +139,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul id="summaryTree"><li><code><a href="index.html" class="internal-link">fn_gen</a></code> - <span class="undocumented">Undocumented</span><ul><li><code><a href="fn_gen.common.html" class="internal-link" title="fn_gen.common">common</a></code> - <span class="undocumented">Undocumented</span></li><li><code><a href="fn_gen.dg2052.html" class="internal-link" title="fn_gen.dg2052">dg2052</a></code> - <span class="undocumented">No module docstring; 1/1 class documented</span></li><li><code><a href="fn_gen.enums.html" class="internal-link" title="fn_gen.enums">enums</a></code> - <span class="undocumented">Undocumented</span><ul><li><code><a href="fn_gen.enums.comm_method.html" class="internal-link" title="fn_gen.enums.comm_method">comm_method</a></code> - <span class="undocumented">No module docstring; 1/1 class documented</span></li><li><code><a href="fn_gen.enums.sweep_signal_type.html" class="internal-link" title="fn_gen.enums.sweep_signal_type">sweep_signal_type</a></code> - <span class="undocumented">No module docstring; 1/1 class documented</span></li><li><code><a href="fn_gen.enums.sweep_spacing.html" class="internal-link" title="fn_gen.enums.sweep_spacing">sweep_spacing</a></code> - <span class="undocumented">No module docstring; 1/1 class documented</span></li><li><code><a href="fn_gen.enums.sweep_trigger_slope.html" class="internal-link" title="fn_gen.enums.sweep_trigger_slope">sweep_trigger_slope</a></code> - <span class="undocumented">No module docstring; 1/1 class documented</span></li><li><code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep_trigger_source</a></code> - <span class="undocumented">No module docstring; 1/1 class documented</span></li></ul></li><li><code><a href="fn_gen.errors.html" class="internal-link" title="fn_gen.errors">errors</a></code> - <span class="undocumented">Undocumented</span><ul><li><code><a href="fn_gen.errors.undefined_communication_method_error.html" class="internal-link" title="fn_gen.errors.undefined_communication_method_error">undefined_communication_method_error</a></code> - <span class="undocumented">Undocumented</span></li><li><code><a href="fn_gen.errors.undefined_value_error.html" class="internal-link" title="fn_gen.errors.undefined_value_error">undefined_value_error</a></code> - <span class="undocumented">Undocumented</span></li><li><code><a href="fn_gen.errors.value_out_of_bounds_error.html" class="internal-link" title="fn_gen.errors.value_out_of_bounds_error">value_out_of_bounds_error</a></code> - <span class="undocumented">Undocumented</span></li></ul></li></ul></li></ul>
|
||||
<ul id="summaryTree"><li><code><a href="index.html" class="internal-link">fn_gen</a></code> - A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)<ul><li><code><a href="fn_gen.common.html" class="internal-link" title="fn_gen.common">common</a></code> - Common functions that are used all over the package</li><li><code><a href="fn_gen.dg2052.html" class="internal-link" title="fn_gen.dg2052">dg2052</a></code> - The main funciton generator module</li><li><code><a href="fn_gen.enums.html" class="internal-link" title="fn_gen.enums">enums</a></code> - Some enums that are used within this package<ul><li><code><a href="fn_gen.enums.comm_method.html" class="internal-link" title="fn_gen.enums.comm_method">comm_method</a></code> - Communication Method Enumeration</li><li><code><a href="fn_gen.enums.sweep_signal_type.html" class="internal-link" title="fn_gen.enums.sweep_signal_type">sweep_signal_type</a></code> - Enumeration representing the different signal types used in a sweep</li><li><code><a href="fn_gen.enums.sweep_spacing.html" class="internal-link" title="fn_gen.enums.sweep_spacing">sweep_spacing</a></code> - The spacings used for the sweep</li><li><code><a href="fn_gen.enums.sweep_trigger_slope.html" class="internal-link" title="fn_gen.enums.sweep_trigger_slope">sweep_trigger_slope</a></code> - The different slopes used when the <code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep_trigger_source</a></code> is set to <code><a href="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.html#EXTERNAL" class="internal-link" title="fn_gen.enums.sweep_trigger_source.SweepTriggerSource.EXTERNAL">SweepTriggerSource.EXTERNAL</a></code></li><li><code><a href="fn_gen.enums.sweep_trigger_source.html" class="internal-link" title="fn_gen.enums.sweep_trigger_source">sweep_trigger_source</a></code> - The different sources available to trigger a sweep</li></ul></li><li><code><a href="fn_gen.errors.html" class="internal-link" title="fn_gen.errors">errors</a></code> - A combination of errors used within the package<ul><li><code><a href="fn_gen.errors.undefined_communication_method_error.html" class="internal-link" title="fn_gen.errors.undefined_communication_method_error">undefined_communication_method_error</a></code> - An error type used when the communication method is not in the <code><a href="fn_gen.enums.comm_method.CommMethod.html" class="internal-link" title="fn_gen.enums.comm_method.CommMethod">CommMethod</a></code> enum</li><li><code><a href="fn_gen.errors.undefined_value_error.html" class="internal-link" title="fn_gen.errors.undefined_value_error">undefined_value_error</a></code> - An error used when the value used is not defined</li><li><code><a href="fn_gen.errors.value_out_of_bounds_error.html" class="internal-link" title="fn_gen.errors.value_out_of_bounds_error">value_out_of_bounds_error</a></code> - An error used when the value used is out of bounds for the function</li></ul></li></ul></li></ul>
|
||||
|
||||
</div>
|
||||
|
||||
@ -149,7 +149,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
@ -146,7 +146,7 @@
|
||||
<h2>C</h2>
|
||||
<p class="letterlinks">C - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#I">I</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#P">P</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#_">_</a></p>
|
||||
<ul id="summaryTree">
|
||||
<li>check_bounds - <code data-type="Function"><a href="fn_gen.common.html#check_bounds" class="internal-link">fn_gen.common.check_bounds</a></code></li><li>comm - <code data-type="Instance Variable"><a href="fn_gen.dg2052.DG2052.html#comm" class="internal-link">fn_gen.dg2052.DG2052.comm</a></code></li><li>comm_method - <code data-type="Module"><a href="fn_gen.enums.comm_method.html" class="internal-link">fn_gen.enums.comm_method</a></code></li><li>CommMethod - <code data-type="Class"><a href="fn_gen.enums.comm_method.CommMethod.html" class="internal-link">fn_gen.enums.comm_method.CommMethod</a></code></li><li>common - <code data-type="Module"><a href="fn_gen.common.html" class="internal-link">fn_gen.common</a></code></li>
|
||||
<li>check_bounds - <code data-type="Function"><a href="fn_gen.common.html#check_bounds" class="internal-link">fn_gen.common.check_bounds</a></code></li><li>comm_method - <code data-type="Module"><a href="fn_gen.enums.comm_method.html" class="internal-link">fn_gen.enums.comm_method</a></code></li><li>CommMethod - <code data-type="Class"><a href="fn_gen.enums.comm_method.CommMethod.html" class="internal-link">fn_gen.enums.comm_method.CommMethod</a></code></li><li>common - <code data-type="Module"><a href="fn_gen.common.html" class="internal-link">fn_gen.common</a></code></li>
|
||||
</ul>
|
||||
|
||||
<a name="D">
|
||||
@ -227,7 +227,7 @@
|
||||
<h2>P</h2>
|
||||
<p class="letterlinks"><a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#I">I</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - P - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#_">_</a></p>
|
||||
<ul id="summaryTree">
|
||||
<li>port - <code data-type="Instance Variable"><a href="fn_gen.dg2052.DG2052.html#port" class="internal-link">fn_gen.dg2052.DG2052.port</a></code></li><li>POSITIVE - <code data-type="Constant"><a href="fn_gen.enums.sweep_trigger_slope.SweepTriggerSlope.html#POSITIVE" class="internal-link">fn_gen.enums.sweep_trigger_slope.SweepTriggerSlope.POSITIVE</a></code></li>
|
||||
<li>POSITIVE - <code data-type="Constant"><a href="fn_gen.enums.sweep_trigger_slope.SweepTriggerSlope.html#POSITIVE" class="internal-link">fn_gen.enums.sweep_trigger_slope.SweepTriggerSlope.POSITIVE</a></code></li>
|
||||
</ul>
|
||||
|
||||
<a name="R">
|
||||
@ -236,7 +236,7 @@
|
||||
<h2>R</h2>
|
||||
<p class="letterlinks"><a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#I">I</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#P">P</a> - R - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#_">_</a></p>
|
||||
<ul id="summaryTree">
|
||||
<li>RAMP - <code data-type="Constant"><a href="fn_gen.enums.sweep_signal_type.SweepSignalType.html#RAMP" class="internal-link">fn_gen.enums.sweep_signal_type.SweepSignalType.RAMP</a></code></li><li>rm - <code data-type="Instance Variable"><a href="fn_gen.dg2052.DG2052.html#rm" class="internal-link">fn_gen.dg2052.DG2052.rm</a></code></li>
|
||||
<li>RAMP - <code data-type="Constant"><a href="fn_gen.enums.sweep_signal_type.SweepSignalType.html#RAMP" class="internal-link">fn_gen.enums.sweep_signal_type.SweepSignalType.RAMP</a></code></li>
|
||||
</ul>
|
||||
|
||||
<a name="S">
|
||||
@ -290,7 +290,7 @@
|
||||
<h2>_</h2>
|
||||
<p class="letterlinks"><a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#I">I</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#P">P</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - _</p>
|
||||
<ul id="summaryTree">
|
||||
<li>__init__<ul><li><code data-type="Method"><a href="fn_gen.dg2052.DG2052.html#__init__" class="internal-link">fn_gen.dg2052.DG2052.__init__</a></code></li><li><code data-type="Method"><a href="fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError.html#__init__" class="internal-link">fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError.__init__</a></code></li><li><code data-type="Method"><a href="fn_gen.errors.undefined_value_error.UndefinedValueError.html#__init__" class="internal-link">fn_gen.errors.undefined_value_error.UndefinedValueError.__init__</a></code></li><li><code data-type="Method"><a href="fn_gen.errors.value_out_of_bounds_error.ValueOutOfBoundsError.html#__init__" class="internal-link">fn_gen.errors.value_out_of_bounds_error.ValueOutOfBoundsError.__init__</a></code></li></ul></li>
|
||||
<li class="private">__comm - <code data-type="Instance Variable"><a href="fn_gen.dg2052.DG2052.html#__comm" class="internal-link">fn_gen.dg2052.DG2052.__comm</a></code></li><li>__init__<ul><li><code data-type="Method"><a href="fn_gen.dg2052.DG2052.html#__init__" class="internal-link">fn_gen.dg2052.DG2052.__init__</a></code></li><li><code data-type="Method"><a href="fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError.html#__init__" class="internal-link">fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError.__init__</a></code></li><li><code data-type="Method"><a href="fn_gen.errors.undefined_value_error.UndefinedValueError.html#__init__" class="internal-link">fn_gen.errors.undefined_value_error.UndefinedValueError.__init__</a></code></li><li><code data-type="Method"><a href="fn_gen.errors.value_out_of_bounds_error.ValueOutOfBoundsError.html#__init__" class="internal-link">fn_gen.errors.value_out_of_bounds_error.ValueOutOfBoundsError.__init__</a></code></li></ul></li><li class="private">__port - <code data-type="Instance Variable"><a href="fn_gen.dg2052.DG2052.html#__port" class="internal-link">fn_gen.dg2052.DG2052.__port</a></code></li><li class="private">__rm - <code data-type="Instance Variable"><a href="fn_gen.dg2052.DG2052.html#__rm" class="internal-link">fn_gen.dg2052.DG2052.__rm</a></code></li>
|
||||
</ul>
|
||||
|
||||
|
||||
@ -302,7 +302,7 @@
|
||||
<div class="container">
|
||||
<a href="index.html">API Documentation</a> for fn_gen,
|
||||
generated by <a href="https://github.com/twisted/pydoctor/">pydoctor</a>
|
||||
23.9.1 at 2024-02-06 18:56:15.
|
||||
23.9.1 at 2024-02-29 14:55:42.
|
||||
</div>
|
||||
|
||||
<!-- Search related scripts needs to be loaded at the end of HTML
|
||||
|
BIN
docs/objects.inv
BIN
docs/objects.inv
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -4,8 +4,7 @@ import argparse
|
||||
import fn_gen.errors as fg_err
|
||||
from common import close_output, get_preamplified
|
||||
from fn_gen import DG2052
|
||||
from fn_gen.enums import SweepSignalType, SweepSpacing, SweepTriggerSource
|
||||
|
||||
from fn_gen.enums import SweepSignalType, SweepSpacing
|
||||
|
||||
def sweep_over_signal(
|
||||
signal: str,
|
||||
@ -22,49 +21,30 @@ def sweep_over_signal(
|
||||
v_min = get_preamplified(13.0, v_min)
|
||||
v_max = get_preamplified(13.0, v_max)
|
||||
channel = 2
|
||||
signal_type = SweepSignalType.SINE
|
||||
match signal:
|
||||
case "sine":
|
||||
signal_type = SweepSignalType.SINE
|
||||
case "square":
|
||||
signal_type = SweepSignalType.SQUARE
|
||||
case "ramp":
|
||||
signal_type = SweepSignalType.RAMP
|
||||
spacing_type = SweepSpacing.LOG
|
||||
match spacing:
|
||||
case "lin":
|
||||
spacing_type = SweepSpacing.LIN
|
||||
case "log":
|
||||
spacing_type = SweepSpacing.LOG
|
||||
try:
|
||||
print(fg.whoami())
|
||||
print(f"\nOutput{channel} Impedance: {fg.get_output_impedance(channel)} Ohm")
|
||||
print(f"Output{channel} Load: {fg.get_output_load(channel)} Ohm")
|
||||
print(f"Output{channel} Voltage Limits: {fg.get_output_volt_limits(channel)} V")
|
||||
fg.set_sweep(
|
||||
channel,
|
||||
amp=(v_max + v_min)/2,
|
||||
offset=0,
|
||||
phase=phase,
|
||||
signal_type=signal_type,
|
||||
freq_start=freq_start,
|
||||
freq_stop=freq_stop,
|
||||
spacing=spacing_type,
|
||||
trigger_source=SweepTriggerSource.MANUAL,
|
||||
time=duration,
|
||||
)
|
||||
print(
|
||||
f"Output{channel}: {fg.get_output_signal(channel)} | {fg.get_output_state(channel)}"
|
||||
)
|
||||
fg.set_output(channel, True)
|
||||
time.sleep(delay)
|
||||
fg.trigger_sweep(channel)
|
||||
t0 = time.time()
|
||||
t1 = time.time()
|
||||
while (t1 - t0) < duration:
|
||||
print(f"Current Frequency: {fg.get_output_signal(channel)}")
|
||||
t1 = time.time()
|
||||
print(f"Output{channel} State: {fg.get_output_state(channel)}")
|
||||
curr_freq = freq_start
|
||||
df = 1
|
||||
dt = 0.001
|
||||
match signal:
|
||||
case "sine":
|
||||
fg.set_sine_wave(channel, curr_freq, v_min)
|
||||
case "square":
|
||||
fg.set_square_wave(channel, curr_freq, v_min)
|
||||
case "ramp":
|
||||
fg.set_ramp(channel, curr_freq, v_min)
|
||||
while curr_freq < freq_stop:
|
||||
match spacing:
|
||||
case "lin":
|
||||
curr_freq += df
|
||||
fg.set_frequency(channel, curr_freq)
|
||||
case "log":
|
||||
pass # TODO: setup log sweep
|
||||
time.sleep(dt)
|
||||
close_output(fg, channel)
|
||||
except fg_err.ValueOutOfBoundsError as err:
|
||||
print(err)
|
||||
except fg_err.UndefinedValueError as err:
|
||||
|
705
pdm.lock
705
pdm.lock
@ -2,540 +2,10 @@
|
||||
# It is not intended for manual editing.
|
||||
|
||||
[metadata]
|
||||
groups = ["default", "dev"]
|
||||
groups = ["default"]
|
||||
strategy = ["cross_platform", "inherit_metadata"]
|
||||
lock_version = "4.4.1"
|
||||
content_hash = "sha256:c0b68a70e1545b9ea09b060530d9eb2bc2112275ff33351cf27bee9a419221fa"
|
||||
|
||||
[[package]]
|
||||
name = "ansicon"
|
||||
version = "1.89.0"
|
||||
summary = "Python wrapper for loading Jason Hood's ANSICON"
|
||||
groups = ["dev"]
|
||||
marker = "platform_system == \"Windows\""
|
||||
files = [
|
||||
{file = "ansicon-1.89.0-py2.py3-none-any.whl", hash = "sha256:f1def52d17f65c2c9682cf8370c03f541f410c1752d6a14029f97318e4b9dfec"},
|
||||
{file = "ansicon-1.89.0.tar.gz", hash = "sha256:e4d039def5768a47e4afec8e89e83ec3ae5a26bf00ad851f914d1240b444d2b1"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "appdirs"
|
||||
version = "1.4.4"
|
||||
summary = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
|
||||
{file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "astor"
|
||||
version = "0.8.1"
|
||||
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
|
||||
summary = "Read/rewrite/write Python ASTs"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "astor-0.8.1-py2.py3-none-any.whl", hash = "sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5"},
|
||||
{file = "astor-0.8.1.tar.gz", hash = "sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "astroid"
|
||||
version = "3.0.3"
|
||||
requires_python = ">=3.8.0"
|
||||
summary = "An abstract syntax tree for Python with inference support."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "astroid-3.0.3-py3-none-any.whl", hash = "sha256:92fcf218b89f449cdf9f7b39a269f8d5d617b27be68434912e11e79203963a17"},
|
||||
{file = "astroid-3.0.3.tar.gz", hash = "sha256:4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
version = "23.2.0"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Classes Without Boilerplate"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
|
||||
{file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "automat"
|
||||
version = "22.10.0"
|
||||
summary = "Self-service finite-state machines for the programmer on the go."
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"attrs>=19.2.0",
|
||||
"six",
|
||||
]
|
||||
files = [
|
||||
{file = "Automat-22.10.0-py2.py3-none-any.whl", hash = "sha256:c3164f8742b9dc440f3682482d32aaff7bb53f71740dd018533f9de286b64180"},
|
||||
{file = "Automat-22.10.0.tar.gz", hash = "sha256:e56beb84edad19dcc11d30e8d9b895f75deeb5ef5e96b84a467066b3b84bb04e"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "blessed"
|
||||
version = "1.20.0"
|
||||
requires_python = ">=2.7"
|
||||
summary = "Easy, practical library for making terminal apps, by providing an elegant, well-documented interface to Colors, Keyboard input, and screen Positioning capabilities."
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"jinxed>=1.1.0; platform_system == \"Windows\"",
|
||||
"six>=1.9.0",
|
||||
"wcwidth>=0.1.4",
|
||||
]
|
||||
files = [
|
||||
{file = "blessed-1.20.0-py2.py3-none-any.whl", hash = "sha256:0c542922586a265e699188e52d5f5ac5ec0dd517e5a1041d90d2bbf23f906058"},
|
||||
{file = "blessed-1.20.0.tar.gz", hash = "sha256:2cdd67f8746e048f00df47a2880f4d6acbcdb399031b604e34ba8f71d5787680"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bpython"
|
||||
version = "0.24"
|
||||
requires_python = ">=3.7"
|
||||
summary = ""
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"curtsies>=0.4.0",
|
||||
"cwcwidth",
|
||||
"greenlet",
|
||||
"pygments",
|
||||
"pyxdg",
|
||||
"requests",
|
||||
]
|
||||
files = [
|
||||
{file = "bpython-0.24-py3-none-any.whl", hash = "sha256:0d196ae3d1ce3dcd559a3fb89ed2c468dfbd1504af0d680b906dd65a9c7a32eb"},
|
||||
{file = "bpython-0.24.tar.gz", hash = "sha256:98736ffd7a8c48fd2bfb53d898a475f4241bde0b672125706af04d9d08fd3dbd"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cachecontrol"
|
||||
version = "0.14.0"
|
||||
requires_python = ">=3.7"
|
||||
summary = "httplib2 caching for requests"
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"msgpack<2.0.0,>=0.5.2",
|
||||
"requests>=2.16.0",
|
||||
]
|
||||
files = [
|
||||
{file = "cachecontrol-0.14.0-py3-none-any.whl", hash = "sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"},
|
||||
{file = "cachecontrol-0.14.0.tar.gz", hash = "sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cachecontrol"
|
||||
version = "0.14.0"
|
||||
extras = ["filecache"]
|
||||
requires_python = ">=3.7"
|
||||
summary = "httplib2 caching for requests"
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"CacheControl==0.14.0",
|
||||
"filelock>=3.8.0",
|
||||
]
|
||||
files = [
|
||||
{file = "cachecontrol-0.14.0-py3-none-any.whl", hash = "sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"},
|
||||
{file = "cachecontrol-0.14.0.tar.gz", hash = "sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "certifi"
|
||||
version = "2024.2.2"
|
||||
requires_python = ">=3.6"
|
||||
summary = "Python package for providing Mozilla's CA Bundle."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
|
||||
{file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "charset-normalizer"
|
||||
version = "3.3.2"
|
||||
requires_python = ">=3.7.0"
|
||||
summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
|
||||
{file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
|
||||
{file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
version = "0.4.6"
|
||||
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||
summary = "Cross-platform colored terminal text."
|
||||
groups = ["dev"]
|
||||
marker = "sys_platform == \"win32\""
|
||||
files = [
|
||||
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
||||
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "configargparse"
|
||||
version = "1.7"
|
||||
requires_python = ">=3.5"
|
||||
summary = "A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "ConfigArgParse-1.7-py3-none-any.whl", hash = "sha256:d249da6591465c6c26df64a9f73d2536e743be2f244eb3ebe61114af2f94f86b"},
|
||||
{file = "ConfigArgParse-1.7.tar.gz", hash = "sha256:e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "constantly"
|
||||
version = "23.10.4"
|
||||
requires_python = ">=3.8"
|
||||
summary = "Symbolic constants in Python"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "constantly-23.10.4-py3-none-any.whl", hash = "sha256:3fd9b4d1c3dc1ec9757f3c52aef7e53ad9323dbe39f51dfd4c43853b68dfa3f9"},
|
||||
{file = "constantly-23.10.4.tar.gz", hash = "sha256:aa92b70a33e2ac0bb33cd745eb61776594dc48764b06c35e0efd050b7f1c7cbd"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "curtsies"
|
||||
version = "0.4.2"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Curses-like terminal wrapper, with colored strings!"
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"blessed>=1.5",
|
||||
"cwcwidth",
|
||||
]
|
||||
files = [
|
||||
{file = "curtsies-0.4.2-py3-none-any.whl", hash = "sha256:f24d676a8c4711fb9edba1ab7e6134bc52305a222980b3b717bb303f5e94cec6"},
|
||||
{file = "curtsies-0.4.2.tar.gz", hash = "sha256:6ebe33215bd7c92851a506049c720cca4cf5c192c1665c1d7a98a04c4702760e"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cwcwidth"
|
||||
version = "0.1.9"
|
||||
requires_python = ">=3.8"
|
||||
summary = "Python bindings for wc(s)width"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b1c3eb0a8c1b25c4a17b6b9bbf7d25ce9df3ea43b6f87903c51bc12434a2cc29"},
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c8752815ce4e40e7b34b7fe039276a5fbfb1b077131614381b13ef3b7bb21ff"},
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:368ace13080dbaacdc247370d8a965a749b124aa50d0b1b6eb87601826db870f"},
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ca9a653661e152a426bdb51a272f36bc79f9830e6a7169abe8110ec367c3518c"},
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f96386cc29e6eef8ef066d7dd3c767c5119d66506dabea20dd344dabb3f2d225"},
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-win32.whl", hash = "sha256:f6ba88970ec12fdbed5554beb1b9a25d8271fc3d0d9e60639db700a79bed1863"},
|
||||
{file = "cwcwidth-0.1.9-cp311-cp311-win_amd64.whl", hash = "sha256:aa6725e7b3571fdf6ce7c02d1dd2d69e00d166bb6df44e46ab215067028b3a03"},
|
||||
{file = "cwcwidth-0.1.9.tar.gz", hash = "sha256:f19d11a0148d4a8cacd064c96e93bca8ce3415a186ae8204038f45e108db76b8"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dill"
|
||||
version = "0.3.8"
|
||||
requires_python = ">=3.8"
|
||||
summary = "serialize all of Python"
|
||||
groups = ["dev"]
|
||||
marker = "python_version >= \"3.11\""
|
||||
files = [
|
||||
{file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"},
|
||||
{file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "docutils"
|
||||
version = "0.20.1"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Docutils -- Python Documentation Utilities"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"},
|
||||
{file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "easy-scpi"
|
||||
version = "0.1.4"
|
||||
summary = "An easy library for controlling SCPI instruments"
|
||||
groups = ["default"]
|
||||
dependencies = [
|
||||
"pyVISA",
|
||||
]
|
||||
files = [
|
||||
{file = "easy-scpi-0.1.4.tar.gz", hash = "sha256:2864ad8a9e06e9aa1ad52462e3f4e08d4b9ab2d64c41617b11ab1591ef6bc32f"},
|
||||
{file = "easy_scpi-0.1.4-py3-none-any.whl", hash = "sha256:c3204d1dd6d14089e76aa7f25c41ee46d72e7f6ed82cd05bddfdf9ed91a56aab"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "filelock"
|
||||
version = "3.13.1"
|
||||
requires_python = ">=3.8"
|
||||
summary = "A platform independent file lock."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"},
|
||||
{file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "greenlet"
|
||||
version = "3.0.3"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Lightweight in-process concurrent programming"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"},
|
||||
{file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"},
|
||||
{file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyperlink"
|
||||
version = "21.0.0"
|
||||
requires_python = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
summary = "A featureful, immutable, and correct URL for Python."
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"idna>=2.5",
|
||||
]
|
||||
files = [
|
||||
{file = "hyperlink-21.0.0-py2.py3-none-any.whl", hash = "sha256:e6b14c37ecb73e89c77d78cdb4c2cc8f3fb59a885c5b3f819ff4ed80f25af1b4"},
|
||||
{file = "hyperlink-21.0.0.tar.gz", hash = "sha256:427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "3.6"
|
||||
requires_python = ">=3.5"
|
||||
summary = "Internationalized Domain Names in Applications (IDNA)"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"},
|
||||
{file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ifaddr"
|
||||
version = "0.2.0"
|
||||
summary = "Cross-platform network interface and IP address enumeration library"
|
||||
groups = ["default"]
|
||||
files = [
|
||||
{file = "ifaddr-0.2.0-py3-none-any.whl", hash = "sha256:085e0305cfe6f16ab12d72e2024030f5d52674afad6911bb1eee207177b8a748"},
|
||||
{file = "ifaddr-0.2.0.tar.gz", hash = "sha256:cc0cbfcaabf765d44595825fb96a99bb12c79716b73b44330ea38ee2b0c4aed4"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "incremental"
|
||||
version = "22.10.0"
|
||||
summary = "\"A small library that versions your Python projects.\""
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "incremental-22.10.0-py2.py3-none-any.whl", hash = "sha256:b864a1f30885ee72c5ac2835a761b8fe8aa9c28b9395cacf27286602688d3e51"},
|
||||
{file = "incremental-22.10.0.tar.gz", hash = "sha256:912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "isort"
|
||||
version = "5.13.2"
|
||||
requires_python = ">=3.8.0"
|
||||
summary = "A Python utility / library to sort Python imports."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"},
|
||||
{file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jinxed"
|
||||
version = "1.2.1"
|
||||
summary = "Jinxed Terminal Library"
|
||||
groups = ["dev"]
|
||||
marker = "platform_system == \"Windows\""
|
||||
dependencies = [
|
||||
"ansicon; platform_system == \"Windows\"",
|
||||
]
|
||||
files = [
|
||||
{file = "jinxed-1.2.1-py2.py3-none-any.whl", hash = "sha256:37422659c4925969c66148c5e64979f553386a4226b9484d910d3094ced37d30"},
|
||||
{file = "jinxed-1.2.1.tar.gz", hash = "sha256:30c3f861b73279fea1ed928cfd4dfb1f273e16cd62c8a32acfac362da0f78f3f"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lunr"
|
||||
version = "0.6.2"
|
||||
requires_python = ">=3.6"
|
||||
summary = "A Python implementation of Lunr.js"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "lunr-0.6.2-py2.py3-none-any.whl", hash = "sha256:6fbf619e07ff97c6198f9cae0fc32d69a0d49fb0708c2559efbede45670cba06"},
|
||||
{file = "lunr-0.6.2.tar.gz", hash = "sha256:7983d965bd7baa78cbd4f5b934fc3ef3142c1b6089df6c6fecd66df5bff20921"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mccabe"
|
||||
version = "0.7.0"
|
||||
requires_python = ">=3.6"
|
||||
summary = "McCabe checker, plugin for flake8"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
|
||||
{file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "msgpack"
|
||||
version = "1.0.7"
|
||||
requires_python = ">=3.8"
|
||||
summary = "MessagePack serializer"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1"},
|
||||
{file = "msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82"},
|
||||
{file = "msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "numpy"
|
||||
version = "1.26.4"
|
||||
requires_python = ">=3.9"
|
||||
summary = "Fundamental package for array computing in Python"
|
||||
groups = ["default", "dev"]
|
||||
files = [
|
||||
{file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
|
||||
{file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
|
||||
{file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
|
||||
{file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
|
||||
{file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
|
||||
{file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pip"
|
||||
version = "23.2.1"
|
||||
requires_python = ">=3.7"
|
||||
summary = "The PyPA recommended tool for installing Python packages."
|
||||
groups = ["default"]
|
||||
files = [
|
||||
{file = "pip-23.2.1-py3-none-any.whl", hash = "sha256:7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be"},
|
||||
{file = "pip-23.2.1.tar.gz", hash = "sha256:fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "platformdirs"
|
||||
version = "4.2.0"
|
||||
requires_python = ">=3.8"
|
||||
summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
|
||||
{file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "psutil"
|
||||
version = "5.9.7"
|
||||
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
||||
summary = "Cross-platform lib for process and system monitoring in Python."
|
||||
groups = ["default"]
|
||||
files = [
|
||||
{file = "psutil-5.9.7-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ea36cc62e69a13ec52b2f625c27527f6e4479bca2b340b7a452af55b34fcbe2e"},
|
||||
{file = "psutil-5.9.7-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1132704b876e58d277168cd729d64750633d5ff0183acf5b3c986b8466cd0284"},
|
||||
{file = "psutil-5.9.7-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8b7f07948f1304497ce4f4684881250cd859b16d06a1dc4d7941eeb6233bfe"},
|
||||
{file = "psutil-5.9.7-cp37-abi3-win32.whl", hash = "sha256:c727ca5a9b2dd5193b8644b9f0c883d54f1248310023b5ad3e92036c5e2ada68"},
|
||||
{file = "psutil-5.9.7-cp37-abi3-win_amd64.whl", hash = "sha256:f37f87e4d73b79e6c5e749440c3113b81d1ee7d26f21c19c47371ddea834f414"},
|
||||
{file = "psutil-5.9.7-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:032f4f2c909818c86cea4fe2cc407f1c0f0cde8e6c6d702b28b8ce0c0d143340"},
|
||||
{file = "psutil-5.9.7.tar.gz", hash = "sha256:3f02134e82cfb5d089fddf20bb2e03fd5cd52395321d1c8458a9e58500ff417c"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pydoctor"
|
||||
version = "23.9.1"
|
||||
requires_python = ">=3.6"
|
||||
summary = "API doc generator."
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"CacheControl[filecache]",
|
||||
"Twisted",
|
||||
"appdirs",
|
||||
"astor",
|
||||
"attrs",
|
||||
"configargparse",
|
||||
"docutils>=0.17",
|
||||
"lunr==0.6.2",
|
||||
"requests",
|
||||
"toml",
|
||||
"urllib3<2",
|
||||
]
|
||||
files = [
|
||||
{file = "pydoctor-23.9.1-py3-none-any.whl", hash = "sha256:341cafb7847e3ad17237b725f2c4a04b0b824f154910c3b5cce6aa4a881056db"},
|
||||
{file = "pydoctor-23.9.1.tar.gz", hash = "sha256:e5b7758a51889afdfc101996f7871dc7afb5d3dd7bbcaab895bfe54cdf4f2f17"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pygments"
|
||||
version = "2.17.2"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Pygments is a syntax highlighting package written in Python."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"},
|
||||
{file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pylint"
|
||||
version = "3.0.3"
|
||||
requires_python = ">=3.8.0"
|
||||
summary = "python code static checker"
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"astroid<=3.1.0-dev0,>=3.0.1",
|
||||
"colorama>=0.4.5; sys_platform == \"win32\"",
|
||||
"dill>=0.3.6; python_version >= \"3.11\"",
|
||||
"isort!=5.13.0,<6,>=4.2.5",
|
||||
"mccabe<0.8,>=0.6",
|
||||
"platformdirs>=2.2.0",
|
||||
"tomlkit>=0.10.1",
|
||||
]
|
||||
files = [
|
||||
{file = "pylint-3.0.3-py3-none-any.whl", hash = "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810"},
|
||||
{file = "pylint-3.0.3.tar.gz", hash = "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b"},
|
||||
]
|
||||
content_hash = "sha256:608ed15e3b65004a3ba5d84822468940fc0b904375232d46e2220090bdbf163e"
|
||||
|
||||
[[package]]
|
||||
name = "pyvisa"
|
||||
@ -551,176 +21,13 @@ files = [
|
||||
{file = "PyVISA-1.14.1.tar.gz", hash = "sha256:71030041ed4c5dad77687454cf44b8be4d1642e9d1aaa22019248d41d8ed7a79"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyvisa-py"
|
||||
version = "0.7.1"
|
||||
requires_python = ">=3.8"
|
||||
summary = "Pure Python implementation of a VISA library."
|
||||
groups = ["default"]
|
||||
dependencies = [
|
||||
"pyvisa>=1.13.0",
|
||||
"typing-extensions",
|
||||
]
|
||||
files = [
|
||||
{file = "PyVISA-py-0.7.1.tar.gz", hash = "sha256:d0dd824055fd8cab8a2685d10e1277d52ad19604322fa53c17b47e70258d4594"},
|
||||
{file = "PyVISA_py-0.7.1-py3-none-any.whl", hash = "sha256:3675aa9fcabfcee6fbcc1e596f565c2538ecd0f69e7061f479d147b4afbd8c75"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pyxdg"
|
||||
version = "0.28"
|
||||
summary = "PyXDG contains implementations of freedesktop.org standards in python."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "pyxdg-0.28-py2.py3-none-any.whl", hash = "sha256:bdaf595999a0178ecea4052b7f4195569c1ff4d344567bccdc12dfdf02d545ab"},
|
||||
{file = "pyxdg-0.28.tar.gz", hash = "sha256:3267bb3074e934df202af2ee0868575484108581e6f3cb006af1da35395e88b4"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "requests"
|
||||
version = "2.31.0"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Python HTTP for Humans."
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"certifi>=2017.4.17",
|
||||
"charset-normalizer<4,>=2",
|
||||
"idna<4,>=2.5",
|
||||
"urllib3<3,>=1.21.1",
|
||||
]
|
||||
files = [
|
||||
{file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
|
||||
{file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "setuptools"
|
||||
version = "65.5.0"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Easily download, build, install, upgrade, and uninstall Python packages"
|
||||
groups = ["default", "dev"]
|
||||
files = [
|
||||
{file = "setuptools-65.5.0-py3-none-any.whl", hash = "sha256:f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356"},
|
||||
{file = "setuptools-65.5.0.tar.gz", hash = "sha256:512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "six"
|
||||
version = "1.16.0"
|
||||
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||
summary = "Python 2 and 3 compatibility utilities"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
||||
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.10.2"
|
||||
requires_python = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||
summary = "Python Library for Tom's Obvious, Minimal Language"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
|
||||
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tomlkit"
|
||||
version = "0.12.3"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Style preserving TOML library"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"},
|
||||
{file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "twisted"
|
||||
version = "23.10.0"
|
||||
requires_python = ">=3.8.0"
|
||||
summary = "An asynchronous networking framework written in Python"
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"attrs>=21.3.0",
|
||||
"automat>=0.8.0",
|
||||
"constantly>=15.1",
|
||||
"hyperlink>=17.1.1",
|
||||
"incremental>=22.10.0",
|
||||
"twisted-iocpsupport<2,>=1.0.2; platform_system == \"Windows\"",
|
||||
"typing-extensions>=4.2.0",
|
||||
"zope-interface>=5",
|
||||
]
|
||||
files = [
|
||||
{file = "twisted-23.10.0-py3-none-any.whl", hash = "sha256:4ae8bce12999a35f7fe6443e7f1893e6fe09588c8d2bed9c35cdce8ff2d5b444"},
|
||||
{file = "twisted-23.10.0.tar.gz", hash = "sha256:987847a0790a2c597197613686e2784fd54167df3a55d0fb17c8412305d76ce5"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "twisted-iocpsupport"
|
||||
version = "1.0.4"
|
||||
summary = "An extension for use in the twisted I/O Completion Ports reactor."
|
||||
groups = ["dev"]
|
||||
marker = "platform_system == \"Windows\""
|
||||
files = [
|
||||
{file = "twisted-iocpsupport-1.0.4.tar.gz", hash = "sha256:858096c0d15e33f15ac157f455d8f86f2f2cdd223963e58c0f682a3af8362d89"},
|
||||
{file = "twisted_iocpsupport-1.0.4-cp311-cp311-win32.whl", hash = "sha256:196f7c7ccad4ba4d1783b1c4e1d1b22d93c04275cd780bf7498d16c77319ad6e"},
|
||||
{file = "twisted_iocpsupport-1.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:4e5f97bcbabdd79cbaa969b63439b89801ea560f11d42b0a387634275c633623"},
|
||||
{file = "twisted_iocpsupport-1.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:872747a3b64e2909aee59c803ccd0bceb9b75bf27915520ebd32d69687040fa2"},
|
||||
{file = "twisted_iocpsupport-1.0.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:c2712b778bacf1db434e3e065adfed3db300754186a29aecac1efae9ef4bcaff"},
|
||||
{file = "twisted_iocpsupport-1.0.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7c66fa0aa4236b27b3c61cb488662d85dae746a6d1c7b0d91cf7aae118445adf"},
|
||||
{file = "twisted_iocpsupport-1.0.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:300437af17396a945a58dcfffd77863303a8b6d9e65c6e81f1d2eed55b50d444"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.9.0"
|
||||
version = "4.10.0"
|
||||
requires_python = ">=3.8"
|
||||
summary = "Backported and Experimental Type Hints for Python 3.8+"
|
||||
groups = ["default", "dev"]
|
||||
groups = ["default"]
|
||||
files = [
|
||||
{file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"},
|
||||
{file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "urllib3"
|
||||
version = "1.26.18"
|
||||
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
||||
summary = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"},
|
||||
{file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wcwidth"
|
||||
version = "0.2.13"
|
||||
summary = "Measures the displayed width of unicode strings in a terminal"
|
||||
groups = ["dev"]
|
||||
files = [
|
||||
{file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"},
|
||||
{file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zope-interface"
|
||||
version = "6.1"
|
||||
requires_python = ">=3.7"
|
||||
summary = "Interfaces for Python"
|
||||
groups = ["dev"]
|
||||
dependencies = [
|
||||
"setuptools",
|
||||
]
|
||||
files = [
|
||||
{file = "zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1"},
|
||||
{file = "zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736"},
|
||||
{file = "zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605"},
|
||||
{file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8"},
|
||||
{file = "zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de"},
|
||||
{file = "zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1"},
|
||||
{file = "zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309"},
|
||||
{file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"},
|
||||
{file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"},
|
||||
]
|
||||
|
@ -2,26 +2,16 @@
|
||||
name = "fn_gen"
|
||||
readme = "README.md"
|
||||
description = "A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)"
|
||||
requires-python = "==3.11.*"
|
||||
requires-python = ">=3.9"
|
||||
version = "0.0.2"
|
||||
dependencies = [
|
||||
"easy-scpi==0.1.4",
|
||||
"ifaddr==0.2.0",
|
||||
"pip==23.2.1",
|
||||
"psutil==5.9.7",
|
||||
"PyVISA==1.14.1",
|
||||
"PyVISA-py==0.7.1",
|
||||
"setuptools==65.5.0",
|
||||
"numpy>=1.26.3",
|
||||
"fn-gen @ file:///${PROJECT_ROOT}/dist/fn_gen-0.0.2-py3-none-any.whl",
|
||||
]
|
||||
authors = [
|
||||
{name = "Ali Nwegy", email = "ali.el-nwegy@tuhh.de"},
|
||||
]
|
||||
license = {text = "MIT"}
|
||||
|
||||
[tool.setuptools_scm]
|
||||
|
||||
[tool.pdm]
|
||||
distribution = true
|
||||
|
||||
@ -29,10 +19,13 @@ distribution = true
|
||||
edit = {shell = "$VISUAL src/fn_gen"}
|
||||
uml = {shell = "pyreverse -o html -S --colorized -d uml src/fn_gen"}
|
||||
doc = {shell = "pydoctor"}
|
||||
examples = {shell = "$VISUAL examples"}
|
||||
sine = "examples/sine_signal.py"
|
||||
square = "examples/square_signal.py"
|
||||
ramp = "examples/ramp_signal.py"
|
||||
discrete_sweep = "examples/discrete_sweep.py"
|
||||
sweep = "examples/sweep.py"
|
||||
nsweep = "examples/sweep_2.py"
|
||||
dc_signal = "examples/dc_signal.py"
|
||||
stop_channel = "examples/stop_channels.py"
|
||||
whoami = "examples/whoami.py"
|
||||
|
@ -1,3 +1,8 @@
|
||||
"""
|
||||
A library for usage with SCPI compliant function generators (for now the DG2000 series from rigol)
|
||||
|
||||
"""
|
||||
|
||||
from .dg2052 import DG2052
|
||||
from .enums import *
|
||||
from .errors import *
|
||||
|
@ -1,5 +1,19 @@
|
||||
"""
|
||||
Common functions that are used all over the package
|
||||
"""
|
||||
|
||||
from .errors import ValueOutOfBoundsError
|
||||
|
||||
def check_bounds(bounds: tuple[float, float] | tuple[int, int], value: float | int):
|
||||
"""
|
||||
Checks the whether the given value is within bounds
|
||||
|
||||
Parameters
|
||||
---
|
||||
bounds: tuple[float, float]
|
||||
The bounds to check within
|
||||
value: float
|
||||
The value to check
|
||||
"""
|
||||
if value < bounds[0] or value > bounds[1]:
|
||||
raise ValueOutOfBoundsError(bounds, value)
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
The main funciton generator module
|
||||
"""
|
||||
|
||||
### PLEASE DO NOT MIND THE FORMATTING, IT IS DONE AUTOMATICALLY BY 'BLACK' THE PYTHON FORMATTER
|
||||
import logging
|
||||
from typing import Literal
|
||||
@ -12,26 +16,25 @@ from .errors import UndefinedValueError, UndefinedCommunicationMethodError, Valu
|
||||
class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
"""
|
||||
This is an object representing the Rigol DG2052 function generator. This object uses the SCPI protocol for communicating with the Rigol DG2052 function generator.
|
||||
|
||||
Attributes
|
||||
----------
|
||||
port : str
|
||||
The SCPI port describing the device, consists of a communication method and device port followed by the "::INSTR" keyword.
|
||||
communication method: can be either USB or TCPIP (other communication methods are not supported for this device)
|
||||
device port: either COMM4 or /dev/USB0 for USB in windows and posix systems respectively or the IP Address for TCPIP
|
||||
|
||||
format: "<communication method>::<device port>::INSTR"
|
||||
|
||||
example: "TCPI::192.168.1.11::INSTR" or "USB::COMM4::INSTR"
|
||||
rm : ResourceManager
|
||||
The resource manager object for pyvisa (for future use)
|
||||
comm : CommMethod
|
||||
The communication method used (either TCPIP or USB)
|
||||
"""
|
||||
# Attributes
|
||||
# ----------
|
||||
# port : str
|
||||
# The SCPI port describing the device, consists of a communication method and device port followed by the "::INSTR" keyword.
|
||||
# communication method: can be either USB or TCPIP (other communication methods are not supported for this device)
|
||||
# device port: either COMM4 or /dev/USB0 for USB in windows and posix systems respectively or the IP Address for TCPIP
|
||||
|
||||
comm: CommMethod # The communication method used (either TCPIP or USB)
|
||||
rm: ResourceManager # The resource manager object for pyvisa (for future use)
|
||||
port: str # The str used for the port
|
||||
# format: "<communication method>::<device port>::INSTR"
|
||||
|
||||
# example: "TCPI::192.168.1.11::INSTR" or "USB::COMM4::INSTR"
|
||||
# rm : ResourceManager
|
||||
# The resource manager object for pyvisa (for future use)
|
||||
# comm : CommMethod
|
||||
# The communication method used (either TCPIP or USB)
|
||||
|
||||
__comm: CommMethod # The communication method used (either TCPIP or USB)
|
||||
__rm: ResourceManager # The resource manager object for pyvisa (for future use)
|
||||
__port: str # The str used for the port
|
||||
|
||||
def __init__(self, port: str): # Class initialization method
|
||||
"""
|
||||
@ -51,15 +54,15 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
"""
|
||||
if "TCPIP" in port: # Check if port starts with TCPIP
|
||||
logging.debug("(PROG) detected TCPIP port")
|
||||
self.comm = CommMethod.LAN # Set comm to LAN
|
||||
self.__comm = CommMethod.LAN # Set comm to LAN
|
||||
elif "USB" in port: # Check if port starts with USB
|
||||
logging.debug("(PROG) detected USB port")
|
||||
self.comm = CommMethod.USB # Set comm to USB
|
||||
self.__comm = CommMethod.USB # Set comm to USB
|
||||
else: # Rause Undefined Communication Method Error
|
||||
raise UndefinedCommunicationMethodError(port)
|
||||
rm = ResourceManager() # Create a pyvisa.ResourceManager object
|
||||
self.rm = rm # Save that object as rm
|
||||
self.port = port # Save the port string as port
|
||||
self.__rm = rm # Save that object as rm
|
||||
self.__port = port # Save the port string as port
|
||||
super().__init__(rm, port) # create tne instrument object
|
||||
logging.debug("(PROG) created dg2052 instance")
|
||||
self.open() # connect to the instrument object (for ease of use)
|
||||
@ -67,7 +70,7 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
|
||||
def whoami(self) -> str:
|
||||
"""
|
||||
shows the identification of the connected instrument
|
||||
Shows the identification of the connected instrument
|
||||
|
||||
Returns
|
||||
-------
|
||||
@ -75,7 +78,7 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
The identification of the connected instrument
|
||||
"""
|
||||
match (
|
||||
self.comm
|
||||
self.__comm
|
||||
): # Return an Identification string depending on the communication method
|
||||
# Here a match case is used to make it easy to extend the communication methods to other methods
|
||||
case CommMethod.LAN: # if the communication method is LAN
|
||||
@ -98,7 +101,7 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
f"{manufacturer} {model}:\n\tSerial Nr.:"
|
||||
+ f" {serial}\n\tSoftware Ver.:"
|
||||
+ f" {software_ver}\n\tPort:"
|
||||
+ f" {self.port}\n\tIPADDRESS: {ipaddr}\n\tMAC: {mac}"
|
||||
+ f" {self.__port}\n\tIPADDRESS: {ipaddr}\n\tMAC: {mac}"
|
||||
)
|
||||
return out # return the formatted string
|
||||
case CommMethod.USB: # if the communication method is USB
|
||||
@ -119,7 +122,7 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
f"{manufacturer} {model}:\n\tSerial Nr.:"
|
||||
+ f" {serial}\n\tSoftware Ver.:"
|
||||
+ f" {software_ver}\n\tPort:"
|
||||
+ f" {self.port}\n\tINFORMATION: {info}"
|
||||
+ f" {self.__port}\n\tINFORMATION: {info}"
|
||||
)
|
||||
return out # return the formatted string
|
||||
case _: # default case raise Undefined Communication Method Error
|
||||
@ -145,6 +148,15 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
self.write(f":OUTP{channel} OFF")
|
||||
|
||||
def toggle_output(self, channel: Literal[1, 2]):
|
||||
"""
|
||||
Toggles the corresponding output channel
|
||||
|
||||
Parameters
|
||||
-------
|
||||
channel: Literal[1, 2]
|
||||
The output channel of the device (either 1 or 2)
|
||||
|
||||
"""
|
||||
state = self.query(f":OUT{channel}?").strip()
|
||||
logging.debug(f"(PROG) output {channel} state: {state}")
|
||||
match (state):
|
||||
@ -176,26 +188,96 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
return low, high
|
||||
|
||||
def get_output_impedance(self, channel: Literal[1, 2]) -> float:
|
||||
"""
|
||||
Returns the output impedance.
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel to get the impedance of
|
||||
|
||||
Returns
|
||||
---
|
||||
impedance: float
|
||||
The impedance of the specified output channel
|
||||
|
||||
"""
|
||||
impedance = float(self.query(f":OUTP{channel}:IMP?"))
|
||||
logging.debug(f"(PROG) output {channel} impedance: {impedance}")
|
||||
return impedance
|
||||
|
||||
def get_output_load(self, channel: Literal[1, 2]) -> float:
|
||||
"""
|
||||
Returns the output load.
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel to get the load of
|
||||
|
||||
Returns
|
||||
---
|
||||
load: float
|
||||
The load of the specified output channel
|
||||
|
||||
"""
|
||||
load = float(self.query(f":OUTP{channel}:LOAD?"))
|
||||
logging.debug(f"(PROG) output {channel} load: {load}")
|
||||
return load
|
||||
|
||||
def get_output_signal(self, channel: Literal[1, 2]) -> str:
|
||||
"""
|
||||
Returns the signal type and parameters.
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
|
||||
Returns
|
||||
---
|
||||
signal: str
|
||||
The indentifier string of the signal.
|
||||
|
||||
"""
|
||||
signal = self.query(f":SOUR{channel}:APPL?").strip()
|
||||
logging.debug(f"(PROG) output {channel} signal: {signal}")
|
||||
return signal
|
||||
|
||||
def get_output_state(self, channel: Literal[1, 2]) -> str:
|
||||
"""
|
||||
Returns the output state of the signal
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
|
||||
Returns
|
||||
---
|
||||
state: str
|
||||
The state of the output (is either `"ON"` or `"OFF"`)
|
||||
|
||||
"""
|
||||
state = self.query(f":OUTP{channel}?").strip()
|
||||
logging.debug(f"(PROG) output {channel} state: {state}")
|
||||
return state
|
||||
|
||||
def is_output_on(self, channel: Literal[1, 2]) -> bool:
|
||||
"""
|
||||
Returns a boolean representing the state of the output
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
|
||||
Returns
|
||||
---
|
||||
state: bool
|
||||
The state of the output (is either `True` or `False`)
|
||||
|
||||
"""
|
||||
channel_state = self.get_output_state(channel)
|
||||
match channel_state:
|
||||
case "ON":
|
||||
@ -206,6 +288,17 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
raise UndefinedValueError(channel_state, "ON or OFF")
|
||||
|
||||
def set_dc(self, channel: Literal[1, 2], offset: float):
|
||||
"""
|
||||
Sets the output channel to DC voltage mode
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
offset: float
|
||||
The offset voltage
|
||||
|
||||
"""
|
||||
logging.debug(f"(PROG) set dc signal with offset: {offset}")
|
||||
self.write(f":SOUR{channel}:APPL:DC 1,1,{offset}")
|
||||
|
||||
@ -217,6 +310,23 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
offset: float = 0.0,
|
||||
phase: int = 0,
|
||||
):
|
||||
"""
|
||||
Sets the output channel to A Sine Wave
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
freq: float, default:1e3
|
||||
The frequency
|
||||
amp: float, default:5.0
|
||||
The Vpp amplitude
|
||||
offset: float, default:0.0
|
||||
The V offset
|
||||
phase: int, default:0
|
||||
The phase shift
|
||||
|
||||
"""
|
||||
if freq < SIN_RANGE[0] and freq > SIN_RANGE[1]:
|
||||
raise ValueOutOfBoundsError(SIN_RANGE, freq)
|
||||
if phase < 0 and phase > 360:
|
||||
@ -227,6 +337,17 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
self.write(f":SOUR{channel}:APPL:SIN {freq},{amp},{offset},{phase}")
|
||||
|
||||
def set_frequency(self, channel: Literal[1, 2], freq):
|
||||
"""
|
||||
Sets the frequency of the set signal
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
freq: float
|
||||
The frequency
|
||||
|
||||
"""
|
||||
logging.debug(
|
||||
f"(PROG) set wave frequency to {freq} Hz."
|
||||
)
|
||||
@ -241,6 +362,23 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
offset: float = 0.0, # Sets the amplitude offset
|
||||
phase: int = 0, # Sets the phase shift
|
||||
):
|
||||
"""
|
||||
Sets the output channel to A Square Wave
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
freq: float, default:1e3
|
||||
The frequency
|
||||
amp: float, default:5.0
|
||||
The Vpp amplitude
|
||||
offset: float, default:0.0
|
||||
The V offset
|
||||
phase: int, default:0
|
||||
The phase shift
|
||||
|
||||
"""
|
||||
check_bounds(SQU_RANGE, freq)
|
||||
check_bounds((0, 360), phase)
|
||||
logging.debug(
|
||||
@ -256,6 +394,23 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
offset: float = 0, # Sets the amplitude offset
|
||||
phase: int = 0, # Sets the phase shift
|
||||
):
|
||||
"""
|
||||
Sets the output channel to A Ramp (Triangular) Wave
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
The output channel
|
||||
freq: float, default:1e3
|
||||
The frequency
|
||||
amp: float, default:5.0
|
||||
The Vpp amplitude
|
||||
offset: float, default:0.0
|
||||
The V offset
|
||||
phase: int, default:0
|
||||
The phase shift
|
||||
|
||||
"""
|
||||
check_bounds(RAMP_RANGE, freq)
|
||||
check_bounds((0, 360), phase)
|
||||
logging.debug(
|
||||
@ -283,6 +438,47 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
trigger_slope: SweepTriggerSlope = SweepTriggerSlope.POSITIVE, # Sets the edge type of the trigger input signal (for external trigger only)
|
||||
trigger_source: SweepTriggerSource = SweepTriggerSource.INTERNAL, # Sets the sweep trigger source
|
||||
):
|
||||
"""
|
||||
Sets the parameters of a signal sweep
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
Sets the output channel of the sweep function
|
||||
amp: float, default:5
|
||||
Sets the amplitude of the sweeped signal
|
||||
offset: float, default:0
|
||||
Sets the offset voltage of the sweeped signal
|
||||
phase: int, default:0
|
||||
Sets the phase shift of the sweeped signal
|
||||
signal_type: SweepSignalType, default:SweepSignalType.SINE
|
||||
Sets the type of signal being sweeped
|
||||
htime_start: float, default:0
|
||||
Sets the start hold time of the sweep function
|
||||
htime_stop: float, default:0
|
||||
Sets the stop hold time of the sweep function
|
||||
freq_start: float, default:100
|
||||
Sets the sweep starting frequency
|
||||
freq_stop: float, default:1e3
|
||||
Sets the sweep stopping frequency
|
||||
marker: bool, default:False
|
||||
Enables/Disables setting the marker frequency manually
|
||||
freq_marker: float, default:550
|
||||
Sets the marker frequency at whic the Sync signal changes from high to low
|
||||
rtime: float, default:0
|
||||
Sets the return time of the sweep function
|
||||
time: float, default:1
|
||||
Sets the sweep time
|
||||
spacing: SweepSpacing, default:SweepSpacing.LIN
|
||||
Sets the sweep type
|
||||
step: int, default:2
|
||||
Sets the number of steps of the sweep function
|
||||
trigger_slope: SweepTriggerSlope, default:SweepTriggerSlope.POSITIVE
|
||||
Sets the edge type of the trigger input signal (for external trigger only)
|
||||
trigger_source: SweepTriggerSource, default:SweepTriggerSource.INTERNAL
|
||||
Sets the sweep trigger source
|
||||
|
||||
"""
|
||||
time_bounds: tuple[float, float] = (0, 500)
|
||||
command_header = f":SOUR{channel}:SWE"
|
||||
check_bounds(time_bounds, htime_start)
|
||||
@ -333,4 +529,13 @@ class DG2052(pyvisa.resources.MessageBasedResource):
|
||||
self.write(f"{command_header}:STAT ON")
|
||||
|
||||
def trigger_sweep(self, channel: Literal[1, 2]):
|
||||
"""
|
||||
Triggers a sweep manually (Only works if the sweep was setup with `trigger_source` as `SweepTriggerSource.MANUAL`)
|
||||
|
||||
Parameters
|
||||
---
|
||||
channel: Literal[1, 2]
|
||||
Sets the output channel of the sweep function
|
||||
|
||||
"""
|
||||
self.write(f":SOUR{channel}:SWE:TRIG:IMM")
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
Some enums that are used within this package
|
||||
"""
|
||||
|
||||
from .comm_method import CommMethod
|
||||
from .sweep_spacing import SweepSpacing
|
||||
from .sweep_trigger_slope import SweepTriggerSlope
|
||||
|
@ -1,3 +1,6 @@
|
||||
"""
|
||||
Communication Method Enumeration
|
||||
"""
|
||||
from enum import Enum
|
||||
|
||||
class CommMethod(Enum):
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
Enumeration representing the different signal types used in a sweep
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
|
||||
class SweepSignalType(Enum):
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
The spacings used for the sweep
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
|
||||
class SweepSpacing(Enum):
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
The different slopes used when the `sweep_trigger_source` is set to `SweepTriggerSource.EXTERNAL`
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
|
||||
class SweepTriggerSlope(Enum):
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
The different sources available to trigger a sweep
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
|
||||
class SweepTriggerSource(Enum):
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
A combination of errors used within the package
|
||||
"""
|
||||
|
||||
from .undefined_communication_method_error import UndefinedCommunicationMethodError
|
||||
from .value_out_of_bounds_error import ValueOutOfBoundsError
|
||||
from .undefined_value_error import UndefinedValueError
|
||||
|
@ -1,3 +1,6 @@
|
||||
"""
|
||||
An error type used when the communication method is not in the `CommMethod` enum
|
||||
"""
|
||||
class UndefinedCommunicationMethodError(Exception):
|
||||
def __init__(self, port: str):
|
||||
method = port.split( "::" )[0]
|
||||
|
@ -1,3 +1,6 @@
|
||||
"""
|
||||
An error used when the value used is not defined
|
||||
"""
|
||||
class UndefinedValueError(Exception):
|
||||
def __init__(self, value: str, expected: str):
|
||||
super().__init__( f"ERROR: Undefined Value, expected: {expected}, value: {value}." )
|
||||
|
@ -1,3 +1,7 @@
|
||||
"""
|
||||
An error used when the value used is out of bounds for the function
|
||||
"""
|
||||
|
||||
class ValueOutOfBoundsError(Exception):
|
||||
def __init__(self, bounds: tuple[float, float] | tuple[int, int], value: float | int):
|
||||
super().__init__( f"ERROR: Value out of expected bounds, Min: {bounds[0]}, Max: {bounds[1]}, Value: {value}." )
|
||||
|
186
uml/classes.html
186
uml/classes.html
@ -1,186 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||
<div class="mermaid">
|
||||
|
||||
classDiagram
|
||||
class CommMethod {
|
||||
name
|
||||
}
|
||||
class DG2052 {
|
||||
comm
|
||||
port : str
|
||||
rm
|
||||
get_output_impedance(channel: Literal[1, 2]) float
|
||||
get_output_load(channel: Literal[1, 2]) float
|
||||
get_output_signal(channel: Literal[1, 2]) str
|
||||
get_output_state(channel: Literal[1, 2]) str
|
||||
get_output_volt_limits(channel: Literal[1, 2]) tuple[float, float]
|
||||
is_output_on(channel: Literal[1, 2]) bool
|
||||
set_dc(channel: Literal[1, 2], offset: float)
|
||||
set_frequency(channel: Literal[1, 2], freq)
|
||||
set_output(channel: Literal[1, 2], state: bool)
|
||||
set_ramp(channel: Literal[1, 2], freq: float, amp: float, offset: float, phase: int)
|
||||
set_sine_wave(channel: Literal[1, 2], freq: float, amp: float, offset: float, phase: int)
|
||||
set_square_wave(channel: Literal[1, 2], freq: float, amp: float, offset: float, phase: int)
|
||||
set_sweep(channel: Literal[1, 2], amp: float, offset: float, phase: int, signal_type: SweepSignalType, htime_start: float, htime_stop: float, freq_start: float, freq_stop: float, marker: bool, freq_marker: float, rtime: float, time: float, spacing: SweepSpacing, step: int, trigger_slope: SweepTriggerSlope, trigger_source: SweepTriggerSource)
|
||||
toggle_output(channel: Literal[1, 2])
|
||||
trigger_sweep(channel: Literal[1, 2])
|
||||
whoami() str
|
||||
}
|
||||
class LAN {
|
||||
name
|
||||
value
|
||||
}
|
||||
class LibraryPath {
|
||||
arch
|
||||
found_by : str
|
||||
path : str
|
||||
}
|
||||
class OutputChannel {
|
||||
name
|
||||
}
|
||||
class ResourceManager {
|
||||
last_status
|
||||
session
|
||||
visalib
|
||||
close() None
|
||||
ignore_warning() ContextManager
|
||||
list_opened_resources() List['Resource']
|
||||
list_resources(query: str) Tuple[str, ...]
|
||||
list_resources_info(query: str) Dict[str, ResourceInfo]
|
||||
open_bare_resource(resource_name: str, access_mode: constants.AccessModes, open_timeout: int) Tuple[VISASession, StatusCode]
|
||||
open_resource(resource_name: str, access_mode: constants.AccessModes, open_timeout: int, resource_pyclass: Optional[Type['Resource']]) 'Resource'
|
||||
register_resource_class(interface_type: constants.InterfaceType, resource_class: str, python_class: Type['Resource']) None
|
||||
resource_info(resource_name: str, extended: bool) ResourceInfo
|
||||
}
|
||||
class StatusCode {
|
||||
name
|
||||
}
|
||||
class SweepSignalType {
|
||||
name
|
||||
}
|
||||
class SweepSpacing {
|
||||
name
|
||||
}
|
||||
class SweepTriggerSlope {
|
||||
name
|
||||
}
|
||||
class SweepTriggerSource {
|
||||
name
|
||||
}
|
||||
class USB {
|
||||
name
|
||||
value
|
||||
}
|
||||
class UndefinedCommunicationMethodError {
|
||||
}
|
||||
class UndefinedValueError {
|
||||
}
|
||||
class ValueOutOfBoundsError {
|
||||
}
|
||||
class VisaLibraryBase {
|
||||
handlers : DefaultDict[VISASession, List[Tuple[VISAHandler, Any, Any, Any]]]
|
||||
issue_warning_on : Set[StatusCode]
|
||||
last_status
|
||||
library_path
|
||||
resource_manager : Optional['ResourceManager']
|
||||
assert_interrupt_signal(session: VISASession, mode: constants.AssertSignalInterrupt, status_id: int)* StatusCode
|
||||
assert_trigger(session: VISASession, protocol: constants.TriggerProtocol)* StatusCode
|
||||
assert_utility_signal(session: VISASession, line: constants.UtilityBusSignal)* StatusCode
|
||||
buffer_read(session: VISASession, count: int)* Tuple[bytes, StatusCode]
|
||||
buffer_write(session: VISASession, data: bytes)* Tuple[int, StatusCode]
|
||||
clear(session: VISASession)* StatusCode
|
||||
close(session: Union[VISASession, VISAEventContext, VISARMSession])* StatusCode
|
||||
disable_event(session: VISASession, event_type: constants.EventType, mechanism: constants.EventMechanism)* StatusCode
|
||||
discard_events(session: VISASession, event_type: constants.EventType, mechanism: constants.EventMechanism)* StatusCode
|
||||
enable_event(session: VISASession, event_type: constants.EventType, mechanism: constants.EventMechanism, context: None)* StatusCode
|
||||
flush(session: VISASession, mask: constants.BufferOperation)* StatusCode
|
||||
get_attribute(session: Union[VISASession, VISAEventContext, VISARMSession], attribute: Union[constants.ResourceAttribute, constants.EventAttribute])* Tuple[Any, StatusCode]
|
||||
get_buffer_from_id(job_id: VISAJobID)* Optional[SupportsBytes]
|
||||
get_debug_info() DebugInfo
|
||||
get_last_status_in_session(session: Union[VISASession, VISARMSession]) StatusCode
|
||||
get_library_paths() Iterable[LibraryPath]
|
||||
gpib_command(session: VISASession, data: bytes)* Tuple[int, StatusCode]
|
||||
gpib_control_atn(session: VISASession, mode: constants.ATNLineOperation)* StatusCode
|
||||
gpib_control_ren(session: VISASession, mode: constants.RENLineOperation)* StatusCode
|
||||
gpib_pass_control(session: VISASession, primary_address: int, secondary_address: int)* StatusCode
|
||||
gpib_send_ifc(session: VISASession)* StatusCode
|
||||
handle_return_value(session: Optional[Union[VISAEventContext, VISARMSession, VISASession]], status_code: int) StatusCode
|
||||
ignore_warning(session: Union[VISASession, VISARMSession]) Iterator
|
||||
in_16(session: VISASession, space: constants.AddressSpace, offset: int, extended: bool)* Tuple[int, StatusCode]
|
||||
in_32(session: VISASession, space: constants.AddressSpace, offset: int, extended: bool)* Tuple[int, StatusCode]
|
||||
in_64(session: VISASession, space: constants.AddressSpace, offset: int, extended: bool)* Tuple[int, StatusCode]
|
||||
in_8(session: VISASession, space: constants.AddressSpace, offset: int, extended: bool)* Tuple[int, StatusCode]
|
||||
install_handler(session: VISASession, event_type: constants.EventType, handler: VISAHandler, user_handle: Any)* Tuple[VISAHandler, Any, Any, StatusCode]
|
||||
install_visa_handler(session: VISASession, event_type: constants.EventType, handler: VISAHandler, user_handle: Any) Any
|
||||
list_resources(session: VISARMSession, query: str)* Tuple[str, ...]
|
||||
lock(session: VISASession, lock_type: constants.Lock, timeout: int, requested_key: Optional[str])* Tuple[str, StatusCode]
|
||||
map_address(session: VISASession, map_space: constants.AddressSpace, map_base: int, map_size: int, access: Literal[False], suggested: Optional[int])* Tuple[int, StatusCode]
|
||||
map_trigger(session: VISASession, trigger_source: constants.InputTriggerLine, trigger_destination: constants.OutputTriggerLine, mode: None)* StatusCode
|
||||
memory_allocation(session: VISASession, size: int, extended: bool)* Tuple[int, StatusCode]
|
||||
memory_free(session: VISASession, offset: int, extended: bool)* StatusCode
|
||||
move(session: VISASession, source_space: constants.AddressSpace, source_offset: int, source_width: constants.DataWidth, destination_space: constants.AddressSpace, destination_offset: int, destination_width: constants.DataWidth, length: int)* StatusCode
|
||||
move_asynchronously(session: VISASession, source_space: constants.AddressSpace, source_offset: int, source_width: constants.DataWidth, destination_space: constants.AddressSpace, destination_offset: int, destination_width: constants.DataWidth, length: int)* Tuple[VISAJobID, StatusCode]
|
||||
move_in(session: VISASession, space: constants.AddressSpace, offset: int, length: int, width: Union[Literal[8, 16, 32, 64], constants.DataWidth], extended: bool) Tuple[List[int], StatusCode]
|
||||
move_in_16(session: VISASession, space: constants.AddressSpace, offset: int, length: int, extended: bool)* Tuple[List[int], StatusCode]
|
||||
move_in_32(session: VISASession, space: constants.AddressSpace, offset: int, length: int, extended: bool)* Tuple[List]
|
||||
move_in_64(session: VISASession, space: constants.AddressSpace, offset: int, length: int, extended: bool)* Tuple[List[int], StatusCode]
|
||||
move_in_8(session: VISASession, space: constants.AddressSpace, offset: int, length: int, extended: bool)* Tuple[List[int], StatusCode]
|
||||
move_out(session: VISASession, space: constants.AddressSpace, offset: int, length: int, data: Iterable[int], width: Union[Literal[8, 16, 32, 64], constants.DataWidth], extended: bool) StatusCode
|
||||
move_out_16(session: VISASession, space: constants.AddressSpace, offset: int, length: int, data: Iterable[int], extended: bool)* StatusCode
|
||||
move_out_32(session: VISASession, space: constants.AddressSpace, offset: int, length: int, data: Iterable[int], extended: bool)* StatusCode
|
||||
move_out_64(session: VISASession, space: constants.AddressSpace, offset: int, length: int, data: Iterable[int], extended: bool)* StatusCode
|
||||
move_out_8(session: VISASession, space: constants.AddressSpace, offset: int, length: int, data: Iterable[int], extended: bool)* StatusCode
|
||||
open(session: VISARMSession, resource_name: str, access_mode: constants.AccessModes, open_timeout: int)* Tuple[VISASession, StatusCode]
|
||||
open_default_resource_manager()* Tuple[VISARMSession, StatusCode]
|
||||
out_16(session: VISASession, space: constants.AddressSpace, offset: int, data: int, extended: bool)* StatusCode
|
||||
out_32(session: VISASession, space: constants.AddressSpace, offset: int, data: Iterable[int], extended: bool)* StatusCode
|
||||
out_64(session: VISASession, space: constants.AddressSpace, offset: int, data: Iterable[int], extended: bool)* StatusCode
|
||||
out_8(session: VISASession, space: constants.AddressSpace, offset: int, data: int, extended: bool)* StatusCode
|
||||
parse_resource(session: VISARMSession, resource_name: str) Tuple[ResourceInfo, StatusCode]
|
||||
parse_resource_extended(session: VISARMSession, resource_name: str) Tuple[ResourceInfo, StatusCode]
|
||||
peek(session: VISASession, address: VISAMemoryAddress, width: Union[Literal[8, 16, 32, 64], constants.DataWidth]) Tuple[int, StatusCode]
|
||||
peek_16(session: VISASession, address: VISAMemoryAddress)* Tuple[int, StatusCode]
|
||||
peek_32(session: VISASession, address: VISAMemoryAddress)* Tuple[int, StatusCode]
|
||||
peek_64(session: VISASession, address: VISAMemoryAddress)* Tuple[int, StatusCode]
|
||||
peek_8(session: VISASession, address: VISAMemoryAddress)* Tuple[int, StatusCode]
|
||||
poke(session: VISASession, address: VISAMemoryAddress, width: Union[Literal[8, 16, 32, 64], constants.DataWidth], data: int) StatusCode
|
||||
poke_16(session: VISASession, address: VISAMemoryAddress, data: int)* StatusCode
|
||||
poke_32(session: VISASession, address: VISAMemoryAddress, data: int)* StatusCode
|
||||
poke_64(session: VISASession, address: VISAMemoryAddress, data: int)* StatusCode
|
||||
poke_8(session: VISASession, address: VISAMemoryAddress, data: int)* StatusCode
|
||||
read(session: VISASession, count: int)* Tuple[bytes, StatusCode]
|
||||
read_asynchronously(session: VISASession, count: int)* Tuple[SupportsBytes, VISAJobID, StatusCode]
|
||||
read_memory(session: VISASession, space: constants.AddressSpace, offset: int, width: Union[Literal[8, 16, 32, 64], constants.DataWidth], extended: bool) Tuple[int, StatusCode]
|
||||
read_stb(session: VISASession)* Tuple[int, StatusCode]
|
||||
read_to_file(session: VISASession, filename: str, count: int)* Tuple[int, StatusCode]
|
||||
set_attribute(session: VISASession, attribute: constants.ResourceAttribute, attribute_state: Any)* StatusCode
|
||||
set_buffer(session: VISASession, mask: constants.BufferType, size: int)* StatusCode
|
||||
status_description(session: VISASession, status: StatusCode)* Tuple[str, StatusCode]
|
||||
terminate(session: VISASession, degree: None, job_id: VISAJobID)* StatusCode
|
||||
uninstall_all_visa_handlers(session: Optional[VISASession]) None
|
||||
uninstall_handler(session: VISASession, event_type: constants.EventType, handler: VISAHandler, user_handle: Any)* StatusCode
|
||||
uninstall_visa_handler(session: VISASession, event_type: constants.EventType, handler: VISAHandler, user_handle: Any) None
|
||||
unlock(session: VISASession)* StatusCode
|
||||
unmap_address(session: VISASession)* StatusCode
|
||||
unmap_trigger(session: VISASession, trigger_source: constants.InputTriggerLine, trigger_destination: constants.OutputTriggerLine)* StatusCode
|
||||
usb_control_in(session: VISASession, request_type_bitmap_field: int, request_id: int, request_value: int, index: int, length: int)* Tuple[bytes, StatusCode]
|
||||
usb_control_out(session: VISASession, request_type_bitmap_field: int, request_id: int, request_value: int, index: int, data: bytes)* StatusCode
|
||||
vxi_command_query(session: VISASession, mode: constants.VXICommands, command: int)* Tuple[int, StatusCode]
|
||||
wait_on_event(session: VISASession, in_event_type: constants.EventType, timeout: int)* Tuple[constants.EventType, VISAEventContext, StatusCode]
|
||||
write(session: VISASession, data: bytes)* Tuple[int, StatusCode]
|
||||
write_asynchronously(session: VISASession, data: bytes)* Tuple[VISAJobID, StatusCode]
|
||||
write_from_file(session: VISASession, filename: str, count: int)* Tuple[int, StatusCode]
|
||||
write_memory(session: VISASession, space: constants.AddressSpace, offset: int, data: int, width: Union[Literal[8, 16, 32, 64], constants.DataWidth], extended: bool) StatusCode
|
||||
}
|
||||
LAN --* DG2052 : comm
|
||||
USB --* DG2052 : comm
|
||||
StatusCode --* VisaLibraryBase : _last_status
|
||||
ResourceManager --* DG2052 : rm
|
||||
VisaLibraryBase --* ResourceManager : visalib
|
||||
LibraryPath --* VisaLibraryBase : library_path
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
117
uml/classes.svg
Normal file
117
uml/classes.svg
Normal file
@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 10.0.1 (0)
|
||||
-->
|
||||
<!-- Title: classes Pages: 1 -->
|
||||
<svg width="3058pt" height="348pt"
|
||||
viewBox="0.00 0.00 3057.50 348.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 344)">
|
||||
<title>classes</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-344 3053.5,-344 3053.5,4 -4,4"/>
|
||||
<!-- fn_gen.enums.comm_method.CommMethod -->
|
||||
<g id="node1" class="node">
|
||||
<title>fn_gen.enums.comm_method.CommMethod</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="0,-134.38 0,-205.62 97,-205.62 97,-134.38 0,-134.38"/>
|
||||
<text text-anchor="start" x="8" y="-188.32" font-family="Times,serif" font-size="14.00">CommMethod</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="0,-181.88 97,-181.88"/>
|
||||
<text text-anchor="start" x="33.88" y="-164.57" font-family="Times,serif" font-size="14.00">name</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="0,-158.12 97,-158.12"/>
|
||||
<text text-anchor="start" x="46.62" y="-140.82" font-family="Times,serif" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.dg2052.DG2052 -->
|
||||
<g id="node2" class="node">
|
||||
<title>fn_gen.dg2052.DG2052</title>
|
||||
<polygon fill="#77aadd" stroke="#77aadd" points="115,-0.5 115,-339.5 1946,-339.5 1946,-0.5 115,-0.5"/>
|
||||
<text text-anchor="start" x="1007.25" y="-322.2" font-family="Times,serif" font-size="14.00">DG2052</text>
|
||||
<polyline fill="none" stroke="#77aadd" points="115,-315.75 1946,-315.75"/>
|
||||
<text text-anchor="start" x="967.88" y="-298.45" font-family="Times,serif" font-size="14.00">comm</text>
|
||||
<text text-anchor="start" x="967.88" y="-282.7" font-family="Times,serif" font-size="14.00">port : str</text>
|
||||
<text text-anchor="start" x="967.88" y="-266.95" font-family="Times,serif" font-size="14.00">rm : ResourceManager</text>
|
||||
<polyline fill="none" stroke="#77aadd" points="115,-260.5 1946,-260.5"/>
|
||||
<text text-anchor="start" x="123" y="-243.2" font-family="Times,serif" font-size="14.00">get_output_impedance(channel: Literal[1, 2]): float</text>
|
||||
<text text-anchor="start" x="123" y="-227.45" font-family="Times,serif" font-size="14.00">get_output_load(channel: Literal[1, 2]): float</text>
|
||||
<text text-anchor="start" x="123" y="-211.7" font-family="Times,serif" font-size="14.00">get_output_signal(channel: Literal[1, 2]): str</text>
|
||||
<text text-anchor="start" x="123" y="-195.95" font-family="Times,serif" font-size="14.00">get_output_state(channel: Literal[1, 2]): str</text>
|
||||
<text text-anchor="start" x="123" y="-180.2" font-family="Times,serif" font-size="14.00">get_output_volt_limits(channel: Literal[1, 2]): tuple[float, float]</text>
|
||||
<text text-anchor="start" x="123" y="-164.45" font-family="Times,serif" font-size="14.00">is_output_on(channel: Literal[1, 2]): bool</text>
|
||||
<text text-anchor="start" x="123" y="-148.7" font-family="Times,serif" font-size="14.00">set_dc(channel: Literal[1, 2], offset: float)</text>
|
||||
<text text-anchor="start" x="123" y="-132.95" font-family="Times,serif" font-size="14.00">set_frequency(channel: Literal[1, 2], freq)</text>
|
||||
<text text-anchor="start" x="123" y="-117.2" font-family="Times,serif" font-size="14.00">set_output(channel: Literal[1, 2], state: bool)</text>
|
||||
<text text-anchor="start" x="123" y="-101.45" font-family="Times,serif" font-size="14.00">set_ramp(channel: Literal[1, 2], freq: float, amp: float, offset: float, phase: int)</text>
|
||||
<text text-anchor="start" x="123" y="-85.7" font-family="Times,serif" font-size="14.00">set_sine_wave(channel: Literal[1, 2], freq: float, amp: float, offset: float, phase: int)</text>
|
||||
<text text-anchor="start" x="123" y="-69.95" font-family="Times,serif" font-size="14.00">set_square_wave(channel: Literal[1, 2], freq: float, amp: float, offset: float, phase: int)</text>
|
||||
<text text-anchor="start" x="123" y="-54.2" font-family="Times,serif" font-size="14.00">set_sweep(channel: Literal[1, 2], amp: float, offset: float, phase: int, signal_type: SweepSignalType, htime_start: float, htime_stop: float, freq_start: float, freq_stop: float, marker: bool, freq_marker: float, rtime: float, time: float, spacing: SweepSpacing, step: int, trigger_slope: SweepTriggerSlope, trigger_source: SweepTriggerSource)</text>
|
||||
<text text-anchor="start" x="123" y="-38.45" font-family="Times,serif" font-size="14.00">toggle_output(channel: Literal[1, 2])</text>
|
||||
<text text-anchor="start" x="123" y="-22.7" font-family="Times,serif" font-size="14.00">trigger_sweep(channel: Literal[1, 2])</text>
|
||||
<text text-anchor="start" x="123" y="-6.95" font-family="Times,serif" font-size="14.00">whoami(): str</text>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_signal_type.SweepSignalType -->
|
||||
<g id="node3" class="node">
|
||||
<title>fn_gen.enums.sweep_signal_type.SweepSignalType</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="1963.75,-134.38 1963.75,-205.62 2077.25,-205.62 2077.25,-134.38 1963.75,-134.38"/>
|
||||
<text text-anchor="start" x="1971.75" y="-188.32" font-family="Times,serif" font-size="14.00">SweepSignalType</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="1963.75,-181.88 2077.25,-181.88"/>
|
||||
<text text-anchor="start" x="2005.88" y="-164.57" font-family="Times,serif" font-size="14.00">name</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="1963.75,-158.12 2077.25,-158.12"/>
|
||||
<text text-anchor="start" x="2018.62" y="-140.82" font-family="Times,serif" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_spacing.SweepSpacing -->
|
||||
<g id="node4" class="node">
|
||||
<title>fn_gen.enums.sweep_spacing.SweepSpacing</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="2095.12,-134.38 2095.12,-205.62 2189.88,-205.62 2189.88,-134.38 2095.12,-134.38"/>
|
||||
<text text-anchor="start" x="2103.12" y="-188.32" font-family="Times,serif" font-size="14.00">SweepSpacing</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="2095.12,-181.88 2189.88,-181.88"/>
|
||||
<text text-anchor="start" x="2127.88" y="-164.57" font-family="Times,serif" font-size="14.00">name</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="2095.12,-158.12 2189.88,-158.12"/>
|
||||
<text text-anchor="start" x="2140.62" y="-140.82" font-family="Times,serif" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_trigger_slope.SweepTriggerSlope -->
|
||||
<g id="node5" class="node">
|
||||
<title>fn_gen.enums.sweep_trigger_slope.SweepTriggerSlope</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="2208.25,-134.38 2208.25,-205.62 2330.75,-205.62 2330.75,-134.38 2208.25,-134.38"/>
|
||||
<text text-anchor="start" x="2216.25" y="-188.32" font-family="Times,serif" font-size="14.00">SweepTriggerSlope</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="2208.25,-181.88 2330.75,-181.88"/>
|
||||
<text text-anchor="start" x="2254.88" y="-164.57" font-family="Times,serif" font-size="14.00">name</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="2208.25,-158.12 2330.75,-158.12"/>
|
||||
<text text-anchor="start" x="2267.62" y="-140.82" font-family="Times,serif" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_trigger_source.SweepTriggerSource -->
|
||||
<g id="node6" class="node">
|
||||
<title>fn_gen.enums.sweep_trigger_source.SweepTriggerSource</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="2348.88,-134.38 2348.88,-205.62 2478.12,-205.62 2478.12,-134.38 2348.88,-134.38"/>
|
||||
<text text-anchor="start" x="2356.88" y="-188.32" font-family="Times,serif" font-size="14.00">SweepTriggerSource</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="2348.88,-181.88 2478.12,-181.88"/>
|
||||
<text text-anchor="start" x="2398.88" y="-164.57" font-family="Times,serif" font-size="14.00">name</text>
|
||||
<polyline fill="none" stroke="#99ddff" points="2348.88,-158.12 2478.12,-158.12"/>
|
||||
<text text-anchor="start" x="2411.62" y="-140.82" font-family="Times,serif" font-size="14.00"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError -->
|
||||
<g id="node7" class="node">
|
||||
<title>fn_gen.errors.undefined_communication_method_error.UndefinedCommunicationMethodError</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="2495.88,-146.25 2495.88,-193.75 2727.12,-193.75 2727.12,-146.25 2495.88,-146.25"/>
|
||||
<text text-anchor="start" x="2503.88" y="-176.45" font-family="Times,serif" font-size="14.00" fill="red">UndefinedCommunicationMethodError</text>
|
||||
<polyline fill="none" stroke="#44bb99" points="2495.88,-170 2727.12,-170"/>
|
||||
<polyline fill="none" stroke="#44bb99" points="2495.88,-170 2727.12,-170"/>
|
||||
<text text-anchor="start" x="2609.62" y="-152.7" font-family="Times,serif" font-size="14.00" fill="red"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.errors.undefined_value_error.UndefinedValueError -->
|
||||
<g id="node8" class="node">
|
||||
<title>fn_gen.errors.undefined_value_error.UndefinedValueError</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="2745.38,-146.25 2745.38,-193.75 2877.62,-193.75 2877.62,-146.25 2745.38,-146.25"/>
|
||||
<text text-anchor="start" x="2753.38" y="-176.45" font-family="Times,serif" font-size="14.00" fill="red">UndefinedValueError</text>
|
||||
<polyline fill="none" stroke="#44bb99" points="2745.38,-170 2877.62,-170"/>
|
||||
<polyline fill="none" stroke="#44bb99" points="2745.38,-170 2877.62,-170"/>
|
||||
<text text-anchor="start" x="2809.62" y="-152.7" font-family="Times,serif" font-size="14.00" fill="red"> </text>
|
||||
</g>
|
||||
<!-- fn_gen.errors.value_out_of_bounds_error.ValueOutOfBoundsError -->
|
||||
<g id="node9" class="node">
|
||||
<title>fn_gen.errors.value_out_of_bounds_error.ValueOutOfBoundsError</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="2895.5,-146.25 2895.5,-193.75 3049.5,-193.75 3049.5,-146.25 2895.5,-146.25"/>
|
||||
<text text-anchor="start" x="2903.5" y="-176.45" font-family="Times,serif" font-size="14.00" fill="red">ValueOutOfBoundsError</text>
|
||||
<polyline fill="none" stroke="#44bb99" points="2895.5,-170 3049.5,-170"/>
|
||||
<polyline fill="none" stroke="#44bb99" points="2895.5,-170 3049.5,-170"/>
|
||||
<text text-anchor="start" x="2970.62" y="-152.7" font-family="Times,serif" font-size="14.00" fill="red"> </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.8 KiB |
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
|
||||
<div class="mermaid">
|
||||
|
||||
classDiagram
|
||||
class fn_gen {
|
||||
}
|
||||
class common {
|
||||
}
|
||||
class dg2052 {
|
||||
}
|
||||
class enums {
|
||||
}
|
||||
class comm_method {
|
||||
}
|
||||
class output_channel {
|
||||
}
|
||||
class sweep_signal_type {
|
||||
}
|
||||
class sweep_spacing {
|
||||
}
|
||||
class sweep_trigger_slope {
|
||||
}
|
||||
class sweep_trigger_source {
|
||||
}
|
||||
class errors {
|
||||
}
|
||||
class undefined_communication_method_error {
|
||||
}
|
||||
class undefined_value_error {
|
||||
}
|
||||
class value_out_of_bounds_error {
|
||||
}
|
||||
fn_gen --> dg2052
|
||||
fn_gen --> enums
|
||||
fn_gen --> errors
|
||||
common --> errors
|
||||
dg2052 --> common
|
||||
dg2052 --> enums
|
||||
dg2052 --> errors
|
||||
enums --> comm_method
|
||||
enums --> output_channel
|
||||
enums --> sweep_signal_type
|
||||
enums --> sweep_spacing
|
||||
enums --> sweep_trigger_slope
|
||||
enums --> sweep_trigger_source
|
||||
errors --> undefined_communication_method_error
|
||||
errors --> undefined_value_error
|
||||
errors --> value_out_of_bounds_error
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
181
uml/packages.svg
Normal file
181
uml/packages.svg
Normal file
@ -0,0 +1,181 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 10.0.1 (0)
|
||||
-->
|
||||
<!-- Title: packages Pages: 1 -->
|
||||
<svg width="1557pt" height="332pt"
|
||||
viewBox="0.00 0.00 1557.12 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
|
||||
<title>packages</title>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-328 1553.12,-328 1553.12,4 -4,4"/>
|
||||
<!-- fn_gen -->
|
||||
<g id="node1" class="node">
|
||||
<title>fn_gen</title>
|
||||
<polygon fill="#77aadd" stroke="#77aadd" points="588.75,-36 534.75,-36 534.75,0 588.75,0 588.75,-36"/>
|
||||
<text text-anchor="middle" x="561.75" y="-12.57" font-family="Times,serif" font-size="14.00">fn_gen</text>
|
||||
</g>
|
||||
<!-- fn_gen.dg2052 -->
|
||||
<g id="node3" class="node">
|
||||
<title>fn_gen.dg2052</title>
|
||||
<polygon fill="#77aadd" stroke="#77aadd" points="610.62,-108 512.88,-108 512.88,-72 610.62,-72 610.62,-108"/>
|
||||
<text text-anchor="middle" x="561.75" y="-84.58" font-family="Times,serif" font-size="14.00">fn_gen.dg2052</text>
|
||||
</g>
|
||||
<!-- fn_gen->fn_gen.dg2052 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>fn_gen->fn_gen.dg2052</title>
|
||||
<path fill="none" stroke="black" d="M561.75,-36.3C561.75,-43.68 561.75,-52.48 561.75,-60.75"/>
|
||||
<polygon fill="black" stroke="black" points="561.75,-70.68 557.25,-60.68 561.75,-66.9 561.75,-60.68 561.75,-60.68 561.75,-60.68 561.75,-66.9 566.25,-60.68 561.75,-70.68"/>
|
||||
</g>
|
||||
<!-- fn_gen.enums -->
|
||||
<g id="node4" class="node">
|
||||
<title>fn_gen.enums</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="855,-180 762.5,-180 762.5,-144 855,-144 855,-180"/>
|
||||
<text text-anchor="middle" x="808.75" y="-156.57" font-family="Times,serif" font-size="14.00">fn_gen.enums</text>
|
||||
</g>
|
||||
<!-- fn_gen->fn_gen.enums -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>fn_gen->fn_gen.enums</title>
|
||||
<path fill="none" stroke="black" d="M589.13,-34.74C632.81,-59.85 718.5,-109.11 768.96,-138.12"/>
|
||||
<polygon fill="black" stroke="black" points="777.5,-143.04 766.59,-141.95 774.22,-141.15 768.83,-138.05 768.83,-138.05 768.83,-138.05 774.22,-141.15 771.07,-134.15 777.5,-143.04"/>
|
||||
</g>
|
||||
<!-- fn_gen.errors -->
|
||||
<g id="node10" class="node">
|
||||
<title>fn_gen.errors</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="487.12,-252 398.38,-252 398.38,-216 487.12,-216 487.12,-252"/>
|
||||
<text text-anchor="middle" x="442.75" y="-228.57" font-family="Times,serif" font-size="14.00">fn_gen.errors</text>
|
||||
</g>
|
||||
<!-- fn_gen->fn_gen.errors -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>fn_gen->fn_gen.errors</title>
|
||||
<path fill="none" stroke="black" d="M538.77,-36.31C527.19,-45.89 513.56,-58.55 503.75,-72 473.69,-113.23 456.59,-171.06 448.54,-205.02"/>
|
||||
<polygon fill="black" stroke="black" points="446.42,-214.38 444.24,-203.63 447.26,-210.69 448.63,-204.62 448.63,-204.62 448.63,-204.62 447.26,-210.69 453.02,-205.62 446.42,-214.38"/>
|
||||
</g>
|
||||
<!-- fn_gen.common -->
|
||||
<g id="node2" class="node">
|
||||
<title>fn_gen.common</title>
|
||||
<polygon fill="#77aadd" stroke="#77aadd" points="614.38,-180 509.12,-180 509.12,-144 614.38,-144 614.38,-180"/>
|
||||
<text text-anchor="middle" x="561.75" y="-156.57" font-family="Times,serif" font-size="14.00">fn_gen.common</text>
|
||||
</g>
|
||||
<!-- fn_gen.common->fn_gen.errors -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>fn_gen.common->fn_gen.errors</title>
|
||||
<path fill="none" stroke="black" d="M532.03,-180.48C516.72,-189.49 497.87,-200.58 481.44,-210.24"/>
|
||||
<polygon fill="black" stroke="black" points="473.14,-215.12 479.48,-206.17 476.4,-213.2 481.76,-210.05 481.76,-210.05 481.76,-210.05 476.4,-213.2 484.04,-213.93 473.14,-215.12"/>
|
||||
</g>
|
||||
<!-- fn_gen.dg2052->fn_gen.common -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>fn_gen.dg2052->fn_gen.common</title>
|
||||
<path fill="none" stroke="black" d="M561.75,-108.3C561.75,-115.68 561.75,-124.48 561.75,-132.75"/>
|
||||
<polygon fill="black" stroke="black" points="561.75,-142.68 557.25,-132.68 561.75,-138.9 561.75,-132.68 561.75,-132.68 561.75,-132.68 561.75,-138.9 566.25,-132.68 561.75,-142.68"/>
|
||||
</g>
|
||||
<!-- fn_gen.dg2052->fn_gen.enums -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>fn_gen.dg2052->fn_gen.enums</title>
|
||||
<path fill="none" stroke="black" d="M610.84,-104.91C651.35,-116.39 708.89,-132.7 751.49,-144.77"/>
|
||||
<polygon fill="black" stroke="black" points="761.08,-147.49 750.24,-149.09 757.45,-146.46 751.46,-144.76 751.46,-144.76 751.46,-144.76 757.45,-146.46 752.69,-140.44 761.08,-147.49"/>
|
||||
</g>
|
||||
<!-- fn_gen.dg2052->fn_gen.errors -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>fn_gen.dg2052->fn_gen.errors</title>
|
||||
<path fill="none" stroke="black" d="M538.2,-108.42C525.95,-118.12 511.19,-130.87 499.75,-144 483.07,-163.15 467.77,-187.6 457.23,-206.02"/>
|
||||
<polygon fill="black" stroke="black" points="452.48,-214.51 453.44,-203.58 454.33,-211.21 457.37,-205.78 457.37,-205.78 457.37,-205.78 454.33,-211.21 461.29,-207.98 452.48,-214.51"/>
|
||||
</g>
|
||||
<!-- fn_gen.enums.comm_method -->
|
||||
<g id="node5" class="node">
|
||||
<title>fn_gen.enums.comm_method</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="1549.12,-252 1370.38,-252 1370.38,-216 1549.12,-216 1549.12,-252"/>
|
||||
<text text-anchor="middle" x="1459.75" y="-228.57" font-family="Times,serif" font-size="14.00">fn_gen.enums.comm_method</text>
|
||||
</g>
|
||||
<!-- fn_gen.enums->fn_gen.enums.comm_method -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>fn_gen.enums->fn_gen.enums.comm_method</title>
|
||||
<path fill="none" stroke="black" d="M855.5,-166.27C949.15,-173.09 1166.61,-190.22 1359.18,-215.71"/>
|
||||
<polygon fill="black" stroke="black" points="1368.86,-217 1358.36,-220.14 1365.11,-216.5 1358.95,-215.68 1358.95,-215.68 1358.95,-215.68 1365.11,-216.5 1359.55,-211.22 1368.86,-217"/>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_signal_type -->
|
||||
<g id="node6" class="node">
|
||||
<title>fn_gen.enums.sweep_signal_type</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="702.5,-252 505,-252 505,-216 702.5,-216 702.5,-252"/>
|
||||
<text text-anchor="middle" x="603.75" y="-228.57" font-family="Times,serif" font-size="14.00">fn_gen.enums.sweep_signal_type</text>
|
||||
</g>
|
||||
<!-- fn_gen.enums->fn_gen.enums.sweep_signal_type -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>fn_gen.enums->fn_gen.enums.sweep_signal_type</title>
|
||||
<path fill="none" stroke="black" d="M762.23,-178.88C733.47,-188.71 696.22,-201.42 665.07,-212.06"/>
|
||||
<polygon fill="black" stroke="black" points="655.91,-215.19 663.92,-207.7 659.49,-213.97 665.37,-211.96 665.37,-211.96 665.37,-211.96 659.49,-213.97 666.83,-216.22 655.91,-215.19"/>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_spacing -->
|
||||
<g id="node7" class="node">
|
||||
<title>fn_gen.enums.sweep_spacing</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="896.62,-252 720.88,-252 720.88,-216 896.62,-216 896.62,-252"/>
|
||||
<text text-anchor="middle" x="808.75" y="-228.57" font-family="Times,serif" font-size="14.00">fn_gen.enums.sweep_spacing</text>
|
||||
</g>
|
||||
<!-- fn_gen.enums->fn_gen.enums.sweep_spacing -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>fn_gen.enums->fn_gen.enums.sweep_spacing</title>
|
||||
<path fill="none" stroke="black" d="M808.75,-180.3C808.75,-187.68 808.75,-196.48 808.75,-204.75"/>
|
||||
<polygon fill="black" stroke="black" points="808.75,-214.68 804.25,-204.68 808.75,-210.9 808.75,-204.68 808.75,-204.68 808.75,-204.68 808.75,-210.9 813.25,-204.68 808.75,-214.68"/>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_trigger_slope -->
|
||||
<g id="node8" class="node">
|
||||
<title>fn_gen.enums.sweep_trigger_slope</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="1120.62,-252 914.88,-252 914.88,-216 1120.62,-216 1120.62,-252"/>
|
||||
<text text-anchor="middle" x="1017.75" y="-228.57" font-family="Times,serif" font-size="14.00">fn_gen.enums.sweep_trigger_slope</text>
|
||||
</g>
|
||||
<!-- fn_gen.enums->fn_gen.enums.sweep_trigger_slope -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>fn_gen.enums->fn_gen.enums.sweep_trigger_slope</title>
|
||||
<path fill="none" stroke="black" d="M855.39,-178.62C884.79,-188.47 923.12,-201.3 955.14,-212.03"/>
|
||||
<polygon fill="black" stroke="black" points="964.59,-215.19 953.68,-216.29 961,-213.99 955.11,-212.02 955.11,-212.02 955.11,-212.02 961,-213.99 956.53,-207.75 964.59,-215.19"/>
|
||||
</g>
|
||||
<!-- fn_gen.enums.sweep_trigger_source -->
|
||||
<g id="node9" class="node">
|
||||
<title>fn_gen.enums.sweep_trigger_source</title>
|
||||
<polygon fill="#99ddff" stroke="#99ddff" points="1352.38,-252 1139.12,-252 1139.12,-216 1352.38,-216 1352.38,-252"/>
|
||||
<text text-anchor="middle" x="1245.75" y="-228.57" font-family="Times,serif" font-size="14.00">fn_gen.enums.sweep_trigger_source</text>
|
||||
</g>
|
||||
<!-- fn_gen.enums->fn_gen.enums.sweep_trigger_source -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>fn_gen.enums->fn_gen.enums.sweep_trigger_source</title>
|
||||
<path fill="none" stroke="black" d="M855.1,-170.42C919.42,-180.73 1037.92,-199.71 1127.61,-214.08"/>
|
||||
<polygon fill="black" stroke="black" points="1137.47,-215.66 1126.89,-218.52 1133.74,-215.06 1127.6,-214.07 1127.6,-214.07 1127.6,-214.07 1133.74,-215.06 1128.31,-209.63 1137.47,-215.66"/>
|
||||
</g>
|
||||
<!-- fn_gen.errors.undefined_communication_method_error -->
|
||||
<g id="node11" class="node">
|
||||
<title>fn_gen.errors.undefined_communication_method_error</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="317.5,-324 0,-324 0,-288 317.5,-288 317.5,-324"/>
|
||||
<text text-anchor="middle" x="158.75" y="-300.57" font-family="Times,serif" font-size="14.00">fn_gen.errors.undefined_communication_method_error</text>
|
||||
</g>
|
||||
<!-- fn_gen.errors->fn_gen.errors.undefined_communication_method_error -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>fn_gen.errors->fn_gen.errors.undefined_communication_method_error</title>
|
||||
<path fill="none" stroke="black" d="M398.06,-246.01C355.92,-256.4 291.73,-272.22 240.44,-284.86"/>
|
||||
<polygon fill="black" stroke="black" points="230.89,-287.22 239.52,-280.46 234.56,-286.31 240.6,-284.83 240.6,-284.83 240.6,-284.83 234.56,-286.31 241.68,-289.2 230.89,-287.22"/>
|
||||
</g>
|
||||
<!-- fn_gen.errors.undefined_value_error -->
|
||||
<g id="node12" class="node">
|
||||
<title>fn_gen.errors.undefined_value_error</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="549.75,-324 335.75,-324 335.75,-288 549.75,-288 549.75,-324"/>
|
||||
<text text-anchor="middle" x="442.75" y="-300.57" font-family="Times,serif" font-size="14.00">fn_gen.errors.undefined_value_error</text>
|
||||
</g>
|
||||
<!-- fn_gen.errors->fn_gen.errors.undefined_value_error -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>fn_gen.errors->fn_gen.errors.undefined_value_error</title>
|
||||
<path fill="none" stroke="black" d="M442.75,-252.3C442.75,-259.68 442.75,-268.48 442.75,-276.75"/>
|
||||
<polygon fill="black" stroke="black" points="442.75,-286.68 438.25,-276.68 442.75,-282.9 442.75,-276.68 442.75,-276.68 442.75,-276.68 442.75,-282.9 447.25,-276.68 442.75,-286.68"/>
|
||||
</g>
|
||||
<!-- fn_gen.errors.value_out_of_bounds_error -->
|
||||
<g id="node13" class="node">
|
||||
<title>fn_gen.errors.value_out_of_bounds_error</title>
|
||||
<polygon fill="#44bb99" stroke="#44bb99" points="810,-324 567.5,-324 567.5,-288 810,-288 810,-324"/>
|
||||
<text text-anchor="middle" x="688.75" y="-300.57" font-family="Times,serif" font-size="14.00">fn_gen.errors.value_out_of_bounds_error</text>
|
||||
</g>
|
||||
<!-- fn_gen.errors->fn_gen.errors.value_out_of_bounds_error -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>fn_gen.errors->fn_gen.errors.value_out_of_bounds_error</title>
|
||||
<path fill="none" stroke="black" d="M487.53,-249.51C490.31,-250.36 493.06,-251.2 495.75,-252 533.78,-263.32 576.28,-275.08 611.7,-284.64"/>
|
||||
<polygon fill="black" stroke="black" points="621.28,-287.22 610.45,-288.97 617.62,-286.24 611.62,-284.62 611.62,-284.62 611.62,-284.62 617.62,-286.24 612.79,-280.28 621.28,-287.22"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
Loading…
Reference in New Issue
Block a user