Ejemplo n.º 1
0
def cli():
    def doit(dev):
        kbd = passive(dev, 20)
        sys.stdout.write('temp: %d' % kbd.get_temperature())

    picross.enumerate(0xbeca, 0x0101, picross.make_string_functor(doit))
    picross.enumerate(0x2139, 0x0101, picross.make_string_functor(doit))
Ejemplo n.º 2
0
def main():
    def doit(dev):
        kbd = pico_native.passive(dev, 500)
        kbd.start()
        kbd.wait()

        for k in range(0, 22):
            kbd.set_ledcolour(k, 0)

        if len(sys.argv) == 3:
            kbd.set_ledcolour(int(sys.argv[1]) - 1, colours[sys.argv[2]])
            print['%x' % ord(x) for x in kbd.debug()]
            picross.exit(0)

        cyc = [0x20, 0x08, 0x28, 0]

        for k in range(0, 1000):
            kbd.set_ledcolour((k - 0) % 22, cyc[0])
            kbd.set_ledcolour((k - 1) % 22, cyc[1])
            kbd.set_ledcolour((k - 2) % 22, cyc[2])
            kbd.set_ledcolour((k - 3) % 22, cyc[3])
            time.sleep(0.5)

    picross.enumerate(0xbeca, 0x0101, picross.make_string_functor(doit))
    picross.enumerate(0x2139, 0x0101, picross.make_string_functor(doit))
Ejemplo n.º 3
0
    def __init__(self,address, ordinal):
        agent.Agent.__init__(self,signature=version,names='pico manager',protocols='has_subsys',ordinal=ordinal)
        self.domain = piw.clockdomain_ctl()
        self.domain.set_source(piw.makestring('*', 0L))

        self.load_enumerator = picross.enumerator(ezload.vendor,ezload.product,picross.make_string_functor(self.download_keyboard))
        self.load_enumerator2 = picross.enumerator(ezload.new_vendor,ezload.new_product,picross.make_string_functor(self.download_keyboard))
        self.add_enumerator = picross.enumerator(0x2139,0x0101,picross.make_string_functor(utils.make_locked_callable(self.add_keyboard)))
Ejemplo n.º 4
0
def main():
    def bs_doit(s):
        print 'downloading base station MM firmware to',s
        download(s, bs_firmware())

    def psu_doit(s):
        print 'downloading PSU MM firmware to',s
        download(s, psu_firmware())

    picross.enumerate(vendor,bs_product,picross.make_string_functor(bs_doit))
    picross.enumerate(vendor,psu_product,picross.make_string_functor(psu_doit))
Ejemplo n.º 5
0
def cli():
    if len(sys.argv) != 2:
        print >> sys.stderr, 'usage: writecal filename'
        sys.exit(1)

    filename = sys.argv[1]

    def doit(dev):
        k = passive(dev, 20)
        file = open(filename).readlines()
        download(file, k)

    picross.enumerate(0xbeca, 0x0101, picross.make_string_functor(doit))
    picross.enumerate(0x2139, 0x0101, picross.make_string_functor(doit))
Ejemplo n.º 6
0
    def __init__(self, address, ordinal):
        agent.Agent.__init__(self,
                             signature=version,
                             names='alpha manager',
                             protocols='has_subsys',
                             ordinal=ordinal)
        self.domain = piw.clockdomain_ctl()
        self.domain.set_source(piw.makestring('*', 0L))

        self.__thing = piw.thing()
        piw.tsd_thing(self.__thing)
        self.__thing.set_slow_dequeue_handler(utils.changify(self.__dequeue))

        self.__base = dict()

        self.__enum = []

        lsf = lambda c: picross.make_string_functor(
            utils.make_locked_callable(c))
        self.__enum.append(
            picross.enumerator(0xbeca, 0x0102, lsf(self.add_alpha2keyboard)))
        self.__enum.append(
            picross.enumerator(0xbeca, 0x0103, lsf(self.add_taukeyboard)))
        self.__enum.append(
            picross.enumerator(0x2139, 0x0002,
                               lsf(self.download_base_station)))
        self.__enum.append(
            picross.enumerator(0x2139, 0x0003, lsf(self.download_psu)))
        self.__enum.append(
            picross.enumerator(0x2139, 0x0104, lsf(self.add_base_station),
                               lsf(self.del_base_station)))
        self.__enum.append(
            picross.enumerator(0x2139, 0x0105, lsf(self.add_base_station),
                               lsf(self.del_base_station)))
Ejemplo n.º 7
0
    def detect(self):
        self.__init__()

        f = picross.make_string_functor(self.__detect_instrument)

        self.__mm_bases = picross.enumerate(0x2139, 0x0104, f)
        self.__em_bases = picross.enumerate(0x2139, 0x0002, f)
        self.__psus = picross.enumerate(0x2139, 0x0003, f)
        self.__legacy_alphas = picross.enumerate(0xbeca, 0x0102,
                                                 picross.f_string())
Ejemplo n.º 8
0
def cli():
    def doit(dev):
        kbd = passive(dev, 20)

        for k in range(0, 18):
            for c in range(0, 4):
                sys.stdout.write('%d %d ' % (k, c))
                sys.stdout.flush()
                kbd.start_calibration_row(k, c)
                kbd.read_calibration_row()
                mn = kbd.get_calibration_min()
                mx = kbd.get_calibration_max()
                pts = [kbd.get_calibration_point(p) for p in range(0, 30)]
                sys.stdout.write('%d %d %s\n' %
                                 (mn, mx, ' '.join(map(str, pts))))
                sys.stdout.flush()

    picross.enumerate(0xbeca, 0x0101, picross.make_string_functor(doit))
    picross.enumerate(0x2139, 0x0101, picross.make_string_functor(doit))
Ejemplo n.º 9
0
def main():
    parser = optparse.OptionParser(usage=sys.argv[0] + ' [options]')
    parser.add_option('--req',
                      action='store',
                      type='int',
                      dest='req',
                      default=0xc0,
                      help='request')
    parser.add_option('--val',
                      action='store',
                      type='int',
                      dest='val',
                      default=0,
                      help='value')
    parser.add_option('--idx',
                      action='store',
                      type='int',
                      dest='idx',
                      default=0,
                      help='index')
    parser.add_option('--len',
                      action='store',
                      type='int',
                      dest='len',
                      default=0,
                      help='number of bytes to return')

    (opts, args) = parser.parse_args(sys.argv)

    def query(s):
        print 'querying', s
        ez = picross.usbdevice(s, 0)

        if opts.len > 0:
            r = ez.control_in(0x40 | 0x80, opts.req, opts.val, opts.idx,
                              opts.len)
            print ' '.join(['%x' % ord(x) for x in r])

        else:
            ez.control(0x40, opts.req, opts.val, opts.idx)

    picross.enumerate(0xbeca, 0x0101, picross.make_string_functor(query))
    picross.enumerate(0x2139, 0x0101, picross.make_string_functor(query))
Ejemplo n.º 10
0
def main():
    if len(sys.argv) < 2:
        code = firmware(vendor, product)
    else:
        code = sys.argv[1]

    def doit(s):
        print 'downloading to', s
        download(s, code)

    picross.enumerate(vendor, product, picross.make_string_functor(doit))
Ejemplo n.º 11
0
def stringify(c):
    if c is None:
        return picross.f_string()
    if not isinstance(c,picross.f_string):
        c = picross.make_string_functor(c)
    return c