herosdevices.hardware.sinara.booster

Hardware driver for the Booster RF amplifiers.

Module Contents

class herosdevices.hardware.sinara.booster.Version[source]

Bases: NamedTuple

A named tuple representing the version information of a device.

fw_rev: str
fw_hash: str
fw_build_date: datetime.datetime
device_id: str
hw_rev: str
class herosdevices.hardware.sinara.booster.Status_short[source]

Bases: NamedTuple

A named tuple representing the short version status information of a device.

detected: bool
enabled: bool
interlock: bool
output_power_mu: int
reflected_power_mu: int
I29V: float
I6V: float
V5VMP: float
temp: float
output_power: float
reflected_power: float
class herosdevices.hardware.sinara.booster.Status_long[source]

Bases: NamedTuple

A named tuple representing the long version status information of a device.

detected: bool
enabled: bool
interlock: bool
output_power_mu: int
reflected_power_mu: int
I29V: float
I6V: float
V5VMP: float
temp: float
output_power: float
reflected_power: float
input_power: float
fan_speed: float
error_occurred: bool
hw_id: str
i2c_error_count: int
herosdevices.hardware.sinara.booster.UNIT_MAP
class herosdevices.hardware.sinara.booster.Booster(device: str, port: int = 5000, read_timeout: float = 1, *_args, **_kwargs)[source]

Booster 8-channel RF Amplifier.

dev
get_version() Version[source]

Return the device version information as a named tuple.

ping() bool[source]

Return True if we are connected to a Booster.

set_enabled(channel: int, enabled: bool = True) None[source]

Enable/disable a channel.

get_enabled(channel: int) bool[source]

Return True is the channel is enabled.

get_detected(channel: int) bool[source]

Return True is the channel is detected, otherwise False.

Non-detected channels indicate a serious hardware error!

get_status(channel: int) Status_short | Status_long[source]

Return a named tuple containing information about the status of a given channel.

Channel Status Fields

Field

Description

detected

True if the channel is detected

enabled

True if the channel was enabled

interlock

True if the interlock has tripped for this channel

output_power_mu

Output (forward) power detector raw ADC value

reflected_power_mu

Output reverse power detector raw ADC value

output_power

Output (forward) power (dBm)

reflected_power

Output reverse power (dBm)

input_power

Input power (dBm)

I29V

Current consumption on the main 29V rail (A)

I6V

Current consumption on the 6V (preamp) rail (A)

V5VMP

Voltage on the 5VMP rail

temp

Channel temperature (°C)

fan_speed

Chassis fan speed (%)

error_occurred

True if an error (e.g. over temperature) has occurred, otherwise False. Error conditions can only be cleared by power-cycling Booster.

hw_id

Unique ID number for the channel

i2c_error_count

Number of I2C bus errors that have been detected for this channel

get_current(channel: int) float[source]

Return the FET bias current (A) for a given channel.

get_temperature(channel: int) float[source]

Return the temperature (C) for a given channel.

get_output_power(channel: int) float[source]

Return the output (forwards) power for a channel in dBm.

get_input_power(channel: int) float[source]

Return the input power for a channel in dBm.

get_reflected_power(channel: int) float[source]

Return the reflected power for a channel in dBm.

get_fan_speed() float[source]

Return the fan speed as a number between 0 and 100.

set_interlock(channel: int, threshold: float) str | bool[source]

Set the output forward power interlock threshold (dBm) for a given channel channel.

This setting is stored in non-volatile memory and retained across power cycles.

Parameters:

threshold – must lie between 0dBm and 38dBm

get_interlock(channel: int) float[source]

Return the output forward power interlock threshold (dBm) for a channel.

clear_interlock(channel: int) None[source]

Reset the forward and reverse power interlocks for a given channel.

get_interlock_tripped(channel: int) bool[source]

Return True if the output forwards or reverse power interlock has tripped for a given channel.

get_forward_power_interlock_tripped(channel: int) bool[source]

Return True if the output forwards power interlock has tripped for a given channel.

get_reverse_power_interlock_tripped(channel: int) bool[source]

Return True if the output forwards power interlock has tripped for a given channel.

get_error_occurred(channel: int) bool[source]

Return True if a device error (over temperature etc) has occurred on a given channel.

teardown() None[source]

Close the device connection.