Пример #1
0
def display_register(intf, dmxlid, reg):
    try:
        value = intf.read_register(dmxlid, reg)
        Register.dump(reg, value)
    except RuntimeError as e:
        if dmxlid == DynamixelBusInterface.INTERFACE_ID:
            pass  # all registers are not relevant for interfaces
        else:
            cli.print_err(str(e))
            raise
    except Exception as e:
        cli.print_err(str(e))
        raise
Пример #2
0
 def check(s):
     """ check that the passed value matches the format <regnum>=<integer_value>"""
     match = re.match(WriteStatement.RE, s)
     if match:
         reg, val = (int(x) for x in match.groups())
         try:
             Register.check_id(reg)
             if not Register.is_writeable(reg):
                 raise argparse.ArgumentTypeError('read-only register (%d)' % reg)
             Register.check_value(reg, val)
             return s
         except ValueError as e:
             raise argparse.ArgumentTypeError(e)
     raise argparse.ArgumentTypeError('invalid write statement (%s)' % s)
Пример #3
0
def list_registers():
    print('AX12 registers ids and names :')
    for reg in Register:
        print ('- [%02d] %-30s' % (reg, Register.label(reg)))