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")
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))}
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
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), }
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"
def is_relay_online(address): # match addresses to make sure the card is there if RELAY.getADDR(address) == address: return "online" else: return "offline"