devices.sx

SX device implementation.

@dataclass
class SXHistoryStatus(radeye_comms_sdk.devices.base.BaseHistoryStatus):

Data class for parsed History status frame.

Parameters
  • raw_decimal: 32-bit status value
  • net_value: Bit 0 — net value active
  • operation_mode: Bit 1 — Ratemeter or Scaler
  • number_of_used_probe: Bits 2–5 — probe index/count
  • background_measurement: Bit 6 — background measurement active
  • display_of: Bit 7 — αβ or β display
  • number_of_used_nuclide: Bits 8–11 — nuclide index/count
  • display_unit: Bits 12–15 — display unit label
  • display_unit_raw_decimal: Raw 4-bit display unit code
  • probe_style: Bits 16–19 — probe style label
  • probe_style_raw_decimal: Raw 4-bit probe style code
  • accumulated_counts: Bit 20 — accumulated counts active
  • window: Bits 24–26 — rate window / display mode
  • window_raw_decimal: Raw 3-bit window code
SXHistoryStatus( display_unit: str = '', raw_decimal: int = 0, display_unit_raw_decimal: int = 0, net_value: bool = False, operation_mode: str = '', number_of_used_probe: int = 0, background_measurement: bool = False, display_of: str = '', number_of_used_nuclide: int = 0, probe_style: str = '', probe_style_raw_decimal: int = 0, accumulated_counts: bool = False, window: str = '', window_raw_decimal: int = 0)
@classmethod
def parse(cls, value: int | str) -> SXHistoryStatus:

Parse a History status value from an integer or numeric string.

Parameters
  • value: 32-bit value as int or decimal string (manual: decimal converted in HEX)
Returns

Parsed radeye_comms_sdk.radeye.devices.sx.SXHistoryStatus instance

RadEye SX class

def read_raw_count_rate(self) -> Optional[list[int]]:

Parse raw count rate response specific to SX devices.

Returns

None if no data was received, otherwise a list of raw count rates: [ counter_1_in_cps, counter_2_in_cps, counter_3_in_cps, counter_4_in_cps, hv_power_index, probe_current_in_0.1_uA_units, ]

def read_filtered_count_rate(self) -> Optional[list[int]]:

Parse filtered count rate.

Returns

None if no data was received, otherwise a list of filtered count rates: [beta_counts, alpha_counts]

def read_display_value_and_status(self) -> Optional[radeye_comms_sdk.devices.base.DisplayStatusData]:

Read values displayed on the device screen and status information.

Returns

None if no data was received, otherwise a radeye_comms_sdk.radeye.devices._base.DisplayStatusData instance, where DisplayStatusData.status is radeye_comms_sdk.radeye.devices.sx.SXHistoryStatus.

def read_values(self) -> Optional[list[int]]:

Parse raw count rate THRESHOLD response specific to SX devices.

Returns

None if no data was received, otherwise a list of filtered count rates: [beta_counts, alpha_counts]

def read_measurement_units(self) -> Optional[dict[str, str]]:

Units for radiation values (e.g. Sv/h)

Returns

None if no data was received, otherwise a dictionary of the parsed units

def get_publisher_info(self) -> dict[int, dict[str, str]]:

Get ros publisher info for SX device.

Returns

Dict of dictionaries {topic name, radiation type, muliplication factor}