InstroFlowController#
- class InstroFlowController(
- name: str,
- driver: FlowControllerDriverBase,
- publishers: list[Publisher] | None = None,
- **kwargs,
Bases:
InstrumentFlow-controller instrument. Methods return Measurement/Command for publishing.
Initialize an InstroFlowController.
- Parameters:
name – Channel-name prefix for published data.
driver –
Concrete flow-controller driver; owns its own transport:
fc = InstroFlowController( "main", driver=AlicatMC("ASRL7::INSTR", "M"), )
publishers – Publishers that receive emitted Measurement/Command data.
**kwargs – Default tags applied to every emitted Measurement/Command. Pass
dataset_rid="<rid>"to auto-create a NominalCorePublisher.
Note
Direct access to driver-specific methods not in FlowControllerDriverBase (e.g., AlicatMC.set_loop_control_variable, gas-mixture methods) bypasses _resource_lock and is the caller’s responsibility to synchronize if mixed with concurrent InstroFlowController method calls.
Attributes
Seconds between background daemon iterations (0 = no wait). |
|
Return an insertion-ordered snapshot of all published channel names. |
Methods
Append |
|
Register a publisher to receive this instrument's Measurement/Command data. |
|
Close the underlying driver and stop the daemon. |
|
Replace all daemon functions with a single |
|
Return the most recent |
|
Poll the device and publish all live measurements at once. |
|
Read the current mass flow. |
|
Read the current pressure. |
|
Read the current process value (primary feedback measurement for control). |
|
Read the current setpoint. |
|
Return the most recent sample for |
|
Read the current volumetric flow. |
|
Open the underlying driver. |
|
Fan |
|
Select the active working fluid by name. |
|
Command a new flow setpoint in the device's configured engineering units. |
|
Start the background daemon thread. |
|
Signal the background daemon to stop and join it. |
|
Zero the flow reading. |