| optoICC

Loading...
Searching...
No Matches
optoICC.registers.icc_registers.ICCSignalGenerator Class Reference
Inheritance diagram for optoICC.registers.icc_registers.ICCSignalGenerator:

## Public Member Functions
| __init__ (self, int channel=0, board=None)
| SetStairCount (self, value)
| Sets stair count of the generatred signal, only available when shape is set to stair.
| GetStairCount (self)
| Gets stair count of the generatred signal, only available when shape is set to stair.
| SetExtTriggerGPIO (self, value)
| Turns GPIOx pin to trigger input source (GPIOx default is trigger output) and disables global external trigger SYNCx pin.
| GetExtTriggerGPIO (self)
| Gets the state of GPIOx pin to trigger input source (GPIOx default is trigger output) and disables global external trigger SYNCx pin.

## Static Public Member Functions
| help ()

## Public Attributes
dict | stair_count
dict | ext_trigger_gpio

## Static Protected Attributes
bool | _is_a_system = False

## Detailed Description

    Input Channel Systems - Signal Generator Channel
    System ID for channel 0: 0x60

    *
    *  Signal Generator is a system for generating input signals of particular \ref WaveformShape "shapes".
    *  It is an input stage system, meaning that it is a system used as the very first stage of
    *  \ref signalflow.
    *
    *  To set it up, all the appropriate registers (seen in the table below) have to be configured first.
    *  The shape of the signal, its frequency, amplitude, offset and phase can be adjusted.
    *  For the square and pulse waveforms, the signal's duty cycle can be configured.
    *
    *  The unit type of the value being output by the
    *  SignalGenerator, must match to the control mode selected by the \ref SignalFlowManager "Signal Flow Manager".
    *
    *  By default, the Signal Generator will continuously output the waveform corresponding to the configuration.
    *  If only a single period is desired (or N periods for some finite positive integer N),
    *  the number of desired periods to execute has to be set to the "cycles" register before running the system.
    *  A negative value in this register corresponds to infinite looping.
    *
    *  Finally, to get the configured SignalFlow generator to run, the following steps have to take place:
    *   -# The Signal Generator system has to be set as active Input Stage system for the corresponding channel. This is done through the \ref SignalFlowManager "Signal Flow Manager" system.
    *   -# The "Run" register of the corresponding Signal Generator system has to be set to true (any non-zero value).
    *
    *   ### Register Map:
    *
    *  | Address    | Name                     | Default Value | Description                                                                                                               | Type                  | Access
    *  | -----------|--------------------------|---------------|---------------------------------------------------------------------------------------------------------------------------|-----------------------|-------------------
    *  | 0x6[0-7]00 | Unit type                | 0             |                                                                                                                           | \ref ChannelValueType | read write
    *  | 0x6[0-7]01 | Run                      | false         | Turn Signal Generator on/off                                                                                              | boolean               | read write
    *  | 0x6[0-7]02 | Shape                    | 0             |                                                                                                                           | \ref WaveformShape    | read write
    *  | 0x6[0-7]03 | Frequency                | 0.0           | Frequency in Hz of generated signal                                                                                       | float                 | read write
    *  | 0x6[0-7]04 | Amplitude                | 0.0           | Amplitude of generated signal                                                                                             | float                 | read write
    *  | 0x6[0-7]05 | Offset                   | 0.0           | Offset of generated signal                                                                                                | float                 | read write
    *  | 0x6[0-7]06 | Phase                    | 0.0           | Phase in rad of generated signal                                                                                          | float                 | read write
    *  | 0x6[0-7]07 | Cycles                   | -1            | Number of cycles to be generated. Run flag is turned off after completion. Negative value corresponds to infinite looping | int32                 | read write
    *  | 0x6[0-7]08 | Duty cycle               | 0.5           | Duty cycle of square and pulse shapes                                                                                     | 0 to 1 float <BR> Resolution is frequency/10000 | read write
    *  | 0x6[0-7]09 | External trigger         | 0             | Vector Pattern Unit can be synchronised with external signal (0=disabled, 1=rising/falling edge, 2=rising edge trigger)   | uint32                | read write
    *  | 0x6[0-7]0a | Output                   | N/A           | Output of signal generator                                                                                                | float                 | read only
    *  | 0x6[0-7]0b | Stair count              | 5             | Count + direction of stairs for staircase shape<BR> (ignored for other shape types)                                       | -100 to 100 int32     | read write
    *  | 0x6[0-7]0c | External trigger GPIOx   | false         | Turns GPIOx pin to trigger input source (GPIOx default is trigger output) and disables global external trigger SYNCx pin  | boolean               | read write
    *

    registers table 1:

    +---------------+-------+
    | Waveform Unit | Value |
    +===============+=======+
    | Current       | 0     |
    +---------------+-------+

    registers table 2:

    +---------------+-------+
    | Wavform Shape | Value |
    +===============+=======+
    | Sinusoidal    | 0     |
    +---------------+-------+
    | Triangular    | 1     |
    +---------------+-------+
    | Rectangular   | 2     |
    +---------------+-------+
    | Sawtooth      | 3     |
    +---------------+-------+
    | Pulse         | 4     |
    +---------------+-------+

## Constructor & Destructor Documentation

## ◆ __init__()

optoICC.registers.icc_registers.ICCSignalGenerator.__init__ | ( |  | self,
|  | int | channel = 0,
|  |  | board = None )

## Member Function Documentation

## ◆ help()

optoICC.registers.icc_registers.ICCSignalGenerator.help | ( |  | ) |
| static

## ◆ SetStairCount()

optoICC.registers.icc_registers.ICCSignalGenerator.SetStairCount | ( |  | self,
|  |  | value )

Sets stair count of the generatred signal, only available when shape is set to stair.

## ◆ GetStairCount()

optoICC.registers.icc_registers.ICCSignalGenerator.GetStairCount | ( |  | self | ) |

Gets stair count of the generatred signal, only available when shape is set to stair.

## ◆ SetExtTriggerGPIO()

optoICC.registers.icc_registers.ICCSignalGenerator.SetExtTriggerGPIO | ( |  | self,
|  |  | value )

Turns GPIOx pin to trigger input source (GPIOx default is trigger output) and disables global external trigger SYNCx pin.

0 = off, 1 = on

## ◆ GetExtTriggerGPIO()

optoICC.registers.icc_registers.ICCSignalGenerator.GetExtTriggerGPIO | ( |  | self | ) |

Gets the state of GPIOx pin to trigger input source (GPIOx default is trigger output) and disables global external trigger SYNCx pin.

0 = off, 1 = on

## Member Data Documentation

## ◆ _is_a_system

bool optoICC.registers.icc_registers.ICCSignalGenerator._is_a_system = False
| static protected

## ◆ stair_count

dict optoICC.registers.icc_registers.ICCSignalGenerator.stair_count

Initial value:
= {'id': self.sys_id << 8 | 0x0b,
'type': int,
'unit': None,
'range': [-100, 100],
'default': 5,
'value': None}

## ◆ ext_trigger_gpio

dict optoICC.registers.icc_registers.ICCSignalGenerator.ext_trigger_gpio

Initial value:
= {'id': self.sys_id << 8 | 0x0c,
'type': bool,
'unit': None,
'range': None,
'default': 0, #false
'value': None}