示例#1
0
 def addReadback(self, window, name, status, y, x):
     info = Readback(name, 71)
     info.updateValues(status["value"], status["setpoint"], status["limit"])
     window.addstr(y, x, str(info))
     window.chgat(y, x, 13, curses.A_BOLD)
     if info.percent > 75:
         window.chgat(y, x + 29, 44, curses.A_BOLD | curses.color_pair(2))
     else:
         window.chgat(y, x + 29, 44, curses.A_BOLD | curses.color_pair(3))
示例#2
0
    def addSupply(self, window, supply, status, startY=1, startX=1):
        window.box()
        window.addstr(startY - 1, startX, " {} Power Supply ".format(supply),
                      curses.A_BOLD | curses.color_pair(4))
        self.addReadback(window, "Voltage (kV):", status["voltage"],
                         startY + 1, startX + 1)
        self.addReadback(window, "Current (μA):", status["current"],
                         startY + 2, startX + 1)

        ramp = Readback("Ramp Rate:", 71, showBar=False, numberFormat="8d")
        ramp.updateValues(status["rate"]["value"],
                          status["rate"]["setpoint"])
        window.addstr(startY + 4, startX + 1, str(ramp))
        window.chgat(startY + 4, startX + 1, 13, curses.A_BOLD)
        window.chgat(startY + 4, startX + 30, 8, curses.A_BOLD)

        window.addstr(startY + 6, startX + 1, "Status:", curses.A_BOLD)
        window.addstr(startY + 6, startX + 18,
                      "{0:>8s}".format(status["status"]), curses.A_BOLD)