def init_xbee(s,x): global ser, xbee ser = s; xbee = x; something_changed = False if XBEE_TYPE == ROUTER: if verify_at("SM","\x00"): something_changed = True elif XBEE_TYPE == END_DEVICE: if verify_at("SM","\x04"): something_changed = True for cval in AT_COMMANDS: try: cmd,val = cval.split(',') if ( len(val) > 2 and val.startswith('0x') ): sstr = utils.unhexify(val[2:]) elif (len(val) > 2 and val.startswith('0d')): sstr = utils.undecify(int(val[2:])) else: sstr = val except Exception,e: print "Error parsing AT Command",cmd," value ",sstr," : ",e if cmd == 'NK' or cmd == 'KY': xbee.send('at',command=cmd,parameter=sstr) else: if verify_at(cmd,sstr): something_changed = True
def send_to_xbee(dest, data): global children_cache if not SEND_ONLY_TO_CACHE or dest in children_cache or dest == '000000000000FFFF': xbee.send('tx_long_addr',dest_addr=utils.unhexify(dest),data=data) return True else: return False