Skip to content

Switched Integrator Amplifier¤

SIA3 (Serial) ¤

SIA3(equipment: Equipment)

              flowchart LR
              msl.equipment_resources.cmi.sia3.SIA3[SIA3]
              msl.equipment.interfaces.serial.Serial[Serial]
              msl.equipment.interfaces.message_based.MessageBased[MessageBased]
              msl.equipment.schema.Interface[Interface]

                              msl.equipment.interfaces.serial.Serial --> msl.equipment_resources.cmi.sia3.SIA3
                                msl.equipment.interfaces.message_based.MessageBased --> msl.equipment.interfaces.serial.Serial
                                msl.equipment.schema.Interface --> msl.equipment.interfaces.message_based.MessageBased
                




              click msl.equipment_resources.cmi.sia3.SIA3 href "" "msl.equipment_resources.cmi.sia3.SIA3"
              click msl.equipment.interfaces.serial.Serial href "" "msl.equipment.interfaces.serial.Serial"
              click msl.equipment.interfaces.message_based.MessageBased href "" "msl.equipment.interfaces.message_based.MessageBased"
              click msl.equipment.schema.Interface href "" "msl.equipment.schema.Interface"
            

A Switched Integrator Amplifier (SIA) designed by the Czech Metrology Institute.

Regular-expression patterns that are used to select this Resource when connect() is called.

manufacturer=r"C.*M.*I"
model=r"SIA3"

Parameters:

Name Type Description Default
equipment Equipment

An Equipment instance.

required
Source code in packages/resources/src/msl/equipment_resources/cmi/sia3.py
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
def __init__(self, equipment: Equipment) -> None:
    """A Switched Integrator Amplifier (SIA) designed by the Czech Metrology Institute.

    Regular-expression patterns that are used to select this Resource when
    [connect()][msl.equipment.schema.Equipment.connect] is called.
    ```python
    manufacturer=r"C.*M.*I"
    model=r"SIA3"
    ```

    Args:
        equipment: An [Equipment][] instance.
    """
    assert equipment.connection is not None  # noqa: S101
    if not equipment.connection.properties:
        # then use the default connection properties
        equipment.connection.properties = {
            "baud_rate": 14400,
            "termination": None,
            "timeout": 10.0,
        }
    super().__init__(equipment)

set_integration_time ¤

set_integration_time(time: str | int | IntegrationTime) -> None

Set the integration time (i.e., the gain).

Parameters:

Name Type Description Default
time str | int | IntegrationTime

The integration time. The following are equivalent to set the integration time to 10 milliseconds:

  • set_integration_time("10ms")
  • set_integration_time(8)
  • set_integration_time(cmi.IntegrationTime.TIME_10ms)
required
Source code in packages/resources/src/msl/equipment_resources/cmi/sia3.py
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
def set_integration_time(self, time: str | int | IntegrationTime) -> None:
    """Set the integration time (i.e., the gain).

    Args:
        time: The integration time. The following are equivalent to set the
            integration time to 10 milliseconds:

            * `set_integration_time("10ms")`
            * `set_integration_time(8)`
            * `set_integration_time(cmi.IntegrationTime.TIME_10ms)`
    """
    value = to_enum(time, IntegrationTime, prefix="TIME_")
    self._send_byte(7)
    self._send_byte(value)

set_ps ¤

set_ps(ps: int | PreScale) -> None

Set the timer pre-scale value.

The timer pre-scale value divides the microprocessor internal frequency by something similar to \(2^{PS}\). Therefore, to reach a 2-second integration time the ps value must be set to the maximum value of 7.

Parameters:

Name Type Description Default
ps int | PreScale

The timer pre-scale value. The following are equivalent to set the pre-scale value to 7

  • set_ps(7)
  • set_ps(cmi.PreScale.PS_7)
required
Source code in packages/resources/src/msl/equipment_resources/cmi/sia3.py
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
def set_ps(self, ps: int | PreScale) -> None:
    """Set the timer pre-scale value.

    The timer pre-scale value divides the microprocessor internal frequency
    by something similar to $2^{PS}$. Therefore, to reach a 2-second integration time
    the `ps` value must be set to the maximum value of 7.

    Args:
        ps: The timer pre-scale value. The following are equivalent to set the
            pre-scale value to 7

            * `set_ps(7)`
            * `set_ps(cmi.PreScale.PS_7)`
    """
    value = to_enum(ps, PreScale, prefix="PS_")
    self._send_byte(1)
    self._send_byte(4)
    self._send_byte(value)
    self._send_byte(value)

A Switched Integrator Amplifier (SIA) designed by the Czech Metrology Institute.

IntegrationTime (IntEnum) ¤

The amount of time to integrate the photodiode signal.

Attributes:

Name Type Description
TIME_50us int

5

TIME_100us int

6

TIME_1ms int

7

TIME_10ms int

8

TIME_20ms int

9

TIME_100ms int

10

TIME_200ms int

11

TIME_500ms int

12

TIME_1s int

13

TIME_2s int

14

PreScale (IntEnum) ¤

Pre-scale factor for the microprocessor frequency.

Attributes:

Name Type Description
PS_0 int

0

PS_1 int

1

PS_2 int

2

PS_3 int

3

PS_4 int

4

PS_5 int

5

PS_6 int

6

PS_7 int

7