Example #1
0
def task():
    global lastT
    global lastR
    global lastSW
    global swMode
    global GC
    adata = DAQC.getADCall(3)
    val = round(DAQC.getADC(0, 8), 1)
    Power5Text.set(val)

    val = round((adata[1] - 2.73) * 100, 2)
    val = 0.2 * val + 0.8 * lastT
    lastT = val
    TempText.set(str("{:>3.1f}".format(val)) + 'C')

    val = round(adata[2] * 12.21 / 1.636, 1)
    Power12Text.set(val)

    val = round(adata[0] / 4.096 * 100, 1)
    FanText.set(str(val) + '%')
    DAQC.setPWM(0, 0, int(val * 1024 / 100))

    val = DAQC.getRANGE(0, 6, 'c')
    if isinstance(val, float):
        if val > 100:
            val = 99.9
    else:
        val = 0
    val = round(val, 1)
    val = 0.8 * lastR + 0.2 * val
    lastR = val
    RangeText.set(str("{:>2.1f}".format(val)) + 'cm')

    lamp = 0
    if (DAQC.getDINbit(0, 2) == 1):
        lamp = 32

    sw = DAQC.getSWstate(0)
    if (sw == 1) and (lastSW == 0):
        lastSW = 1
        swMode = not swMode
        if swMode:
            GCmode.set('Binary Code :')
        else:
            GCmode.set('Grey Code :')
    if (sw == 0) and (lastSW == 1):
        lastSW = 0

    val = (int(adata[7] * 32 / 4.096))
    if swMode == 0:
        GCText.set(GC[val])
        num = GC[val]
    else:
        GCText.set(val)
        num = val
    DAQC.setDOUTall(0, (num + lamp))

    root.after(100, task)