From 37f919fd3d0bd171c7481b1acf17d6af4665e1ba Mon Sep 17 00:00:00 2001 From: Charles Khoury Date: Fri, 5 Jun 2026 11:26:21 -0400 Subject: [PATCH 1/2] Add missing balun detection. --- qick_lib/qick/rfboard.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/qick_lib/qick/rfboard.py b/qick_lib/qick/rfboard.py index 09216a47..00f888cb 100644 --- a/qick_lib/qick/rfboard.py +++ b/qick_lib/qick/rfboard.py @@ -1542,6 +1542,12 @@ def enable_dc(self, gain): def get_gain(self): pass +class AbsDacBalunChain(ABC): + pass + +class AbsAdcBalunChain(ABC): + pass + class AdcRfChain111(AbsAdcRfChain): def __init__(self, ch, switches, attn_spi): # Channel number. @@ -1796,6 +1802,14 @@ def get_gain(self): with self.soc.board_sel.enable_context(self.card_num): return self.gain.get_gain() +class DacBalunChain216(AbsDacBalunChain, Chain216): + def __init__(self, soc, card, global_ch, card_num, card_ch): + super().__init__(soc, card, global_ch, card_num, card_ch) + +class AdcBalunChain216(AbsAdcBalunChain, Chain216): + def __init__(self, soc, card, global_ch, card_num, card_ch): + super().__init__(soc, card, global_ch, card_num, card_ch) + class DaughterCard216(ABC): NCH = None # channels per daughter card CARDNUM_OFFSET = None # DAC cards are 0-3, ADC cards are 4-7 @@ -1839,6 +1853,13 @@ class DacDcCard216(DaughterCard216): GPIO_OUTPUTS = [("PD%d"%(i), 0) for i in range(4)] NAME = 'DC Out' +class DacBalunCard216(DaughterCard216): + NCH = 4 + CARDNUM_OFFSET = 0 + CHAIN_CLASS = DacBalunChain216 + GPIO_OUTPUTS = [None]*4 + NAME = 'Balun Out' + class AdcRfCard216(DaughterCard216): NCH = 2 CARDNUM_OFFSET = 4 @@ -1855,6 +1876,13 @@ class AdcDcCard216(DaughterCard216): GPIO_OUTPUTS = [("PD%d"%(i), 1) for i in range(2)] + [None]*2 NAME = 'DC In' +class AdcBalunCard216(DaughterCard216): + NCH = 2 + CARDNUM_OFFSET = 4 + CHAIN_CLASS = AdcBalunChain216 + GPIO_OUTPUTS = [None]*4 + NAME = 'Balun In' + class BoardSelection: """ This class is used to enable one daughter card on the RF Board for the ZCU216, V1. @@ -2309,6 +2337,8 @@ def rfb_config(self, no_tproc): card = DacDcCard216(card_num, self, gpio) elif card_id == 3: card = DacRfCard216(card_num, self, gpio) + elif card_id == 6: + card = DacBalunCard216(card_num, self, gpio) else: card = None if card is None: @@ -2331,6 +2361,8 @@ def rfb_config(self, no_tproc): card = AdcDcCard216(card_num, self, gpio) elif card_id == 2: card = AdcRfCard216(card_num, self, gpio) + elif card_id == 5: + card = AdcBalunCard216(card_num, self, gpio) else: card = None if card is None: From 6300885ee51145eeee6b6cd74838a08fdb545795 Mon Sep 17 00:00:00 2001 From: "QICK actions [bot]" <129547417+qickbot@users.noreply.github.com> Date: Fri, 5 Jun 2026 15:32:59 +0000 Subject: [PATCH 2/2] update version --- qick_lib/qick/VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qick_lib/qick/VERSION b/qick_lib/qick/VERSION index a78d2d6b..07267c51 100644 --- a/qick_lib/qick/VERSION +++ b/qick_lib/qick/VERSION @@ -1 +1 @@ -0.2.406 +0.2.413