示例#1
0
def Poll():
    ppFoundCount=0
    for i in range (0,8):
        rtn = RP.getADDR(i)
        if (rtn==i):
            print ("RELAYplate found at address",rtn)
            ppFoundCount += 1
    if (ppFoundCount == 0):
        print ("No RELAYplates found")
示例#2
0
def get_card_address():
    relays = []
    motors = []
    for address in range(0, 2):
        relays.append(RELAY.getADDR(address))

    for address in range(0, 8):
        motors.append(MOTOR.getADDR(address))

    # remove duplicates with set

    return {'Relays': list(set(relays)), 'Steppers': list(set(motors))}
示例#3
0
def get_state_of_relays_on_plate(plate_num):
    if RELAY.getADDR(plate_num) != plate_num:
        raise Exception("Plate Number is invalid")
    status_num = RELAY.relaySTATE(plate_num)
    relay_status = {}
    relay_num = 0
    while relay_num < 7:
        relay_num += 1
        if status_num & 1 == 1:
            relay_status[relay_num] = 'on'
        else:
            relay_status[relay_num] = 'off'
        status_num = status_num >> 1
    return relay_status
示例#4
0
def get_card_address():
    relays = []
    motors = []
    for address in range(0, 2):
        relays.append({
            "address": RELAY.getADDR(address),
            "status": is_relay_online(address)
        })

    for address in range(0, 8):
        if MOTOR.getADDR(
                address) > -1:  #suppress cards that don't exist , code -16
            motors.append({
                "address": MOTOR.getADDR(address),
                "status": is_stepper_online(address)
            })

    # remove duplicates with set

    return {
        'Relays': list((relays)),
        'Steppers': list(motors),
    }
示例#5
0
 elif (cmd == "clrLED"):
     RP.clrLED(addr)
     resp['LED'] = 0
 elif (cmd == "toggleLED"):
     RP.toggleLED(addr)
     resp['LED'] = "UNKNOWN"
 elif (cmd == "getID"):
     resp['ID'] = RP.getID(addr)
 elif (cmd == "getHWrev"):
     resp['HWrev'] = RP.getHWrev(addr)
 elif (cmd == "getFWrev"):
     resp['FWrev'] = RP.getFWrev(addr)
 elif (cmd == "getPMrev"):
     resp['PMrev'] = RP.getPMrev()
 elif (cmd == "getADDR"):
     resp['ADDR'] = RP.getADDR(addr)
 elif ("relay" in cmd):
     relay = args['relay']
     if (cmd == "relayON"):
         RP.relayON(addr, relay)
     elif (cmd == "relayOFF"):
         RP.relayOFF(addr, relay)
     elif (cmd == "relayTOGGLE"):
         RP.relayTOGGLE(addr, relay)
     state = RP.relaySTATE(addr)
     this_state = (state >> (relay - 1)) & 1
     resp['relay'] = relay
     resp['state'] = this_state
 elif (cmd == "RESET"):
     RP.RESET(addr)
     resp['RESET'] = "OK"
示例#6
0
def is_relay_online(address):
    # match addresses to make sure the card is there
    if RELAY.getADDR(address) == address:
        return "online"
    else:
        return "offline"