-- 先設定 slave 位址，再設定 Bank 選擇暫存器——順序很重要：
-- i2c.addr() 若在 i2c.bank_reg() 之後呼叫，會把剛設好的 Bank 設定清掉。
i2c.addr(0x58)
i2c.bank_reg(0xF0, 0xFF)   -- 0xF0 是頁碼暫存器，遮罩 0xFF 代表整個位元組都是頁碼

-- Bank（頁）切換：i2c.bank(n) 把頁碼寫進 Bank 選擇暫存器。
i2c.bank(2)
check(i2c.read(0xF0) == 2, "bank register reads back 2 after i2c.bank(2)")

i2c.bank(1)
check(i2c.read(0xF0) == 1, "bank register reads back 1 after i2c.bank(1)")

-- 腳本結束不會自動把晶片切回原本那一頁（只有位址／頁碼暫存器設定本身會還原），
-- 換過頁的腳本收尾前自己切回第 0 頁，避免影響接下來的操作。
i2c.bank(0)

log("info", "bank done")
