Example #1
0
    def __init__(self, avr):
        #        firmware = avr.firmware
        cycle_measure_time = 1
        self.speed = 0
        self.start = pygame.time.get_ticks()
        self.firmware_time = '??:??:??'
        self.avr = avr

        self.reload()

        def avr_state():
            try:
                return avr.states[avr.state]
            except:
                return str(avr.state)

        CompositeGame.__init__(self, [
            TextGame((lambda: "mcu=%s" % avr.mcu)),
            TextGame((lambda: "f_cpu=%s" % format_freq(avr.f_cpu))),
            TextGame((lambda: "%s (%s)" %
                      (avr.firmware.filename.name, self.firmware_time))),
            TextGame(
                (lambda: 'prog: %s bytes %s%% ' %
                 (avr.avrsize.program_bytes, avr.avrsize.program_percentage))),
            TextGame((lambda: 'mem: %s bytes %s%%' %
                      (avr.avrsize.data_bytes, avr.avrsize.data_percentage))),
            TextGame((lambda: "vcc=%sV avcc=%sV" % (avr.vcc, avr.avcc))),
            TextGame((lambda: "pc=%8d" % avr.pc)),
            TextGame((lambda: "state=%s" % avr_state())),
            TextGame((lambda: "cycle= %9d" % (avr.cycle))),
            TextGame((lambda: "mcu time=%s us" % str(1000000 * avr.cycle / avr.
                                                     f_cpu).rjust(10))),
            TextGame((lambda: "real time=%s s" % str(
                (pygame.time.get_ticks() - self.start) / 1000).rjust(3))),
            TextGame((lambda: "real speed= %fx" % (self.speed))),
        ],
                               align=1),

        def target():
            c_old = 0
            t_old = 0
            while not self._stop_thread:
                c = avr.cycle
                t = pygame.time.get_ticks()

                c_diff = c - c_old
                t_diff = t - t_old
                c_old = c
                t_old = t

                if t_diff:
                    self.speed = 1000.0 * c_diff / t_diff / avr.f_cpu

                time.sleep(cycle_measure_time)

        self._thread = threading.Thread(target=target)
        #        self._thread.daemon = 1
        self._stop_thread = False
        self._thread.start()
Example #2
0
    def __init__(self, state_func, disp_size=None, labels=None, align=0, size='auto'):
        if disp_size is None and labels is None:
            raise ValueError('disp_size is None and labels is None')

        if disp_size is None:
            disp_size = len(labels)

        self.disp_size = disp_size
        self.leds = []
        self.state_func = state_func
        for i in xrange(self.disp_size):
            s = None
            if labels:
                if i < len(labels):
                    s = labels[i]
            led = LedGame(state_func=self._get_single_state_func(i), label=s)
            self.leds += [led]

        CompositeGame.__init__(self, self.leds, align=align, size=size)
Example #3
0
    def __init__(self,
                 state_func,
                 disp_size=None,
                 labels=None,
                 align=0,
                 size='auto'):
        if disp_size is None and labels is None:
            raise ValueError('disp_size is None and labels is None')

        if disp_size is None:
            disp_size = len(labels)

        self.disp_size = disp_size
        self.leds = []
        self.state_func = state_func
        for i in xrange(self.disp_size):
            s = None
            if labels:
                if i < len(labels):
                    s = labels[i]
            led = LedGame(state_func=self._get_single_state_func(i), label=s)
            self.leds += [led]

        CompositeGame.__init__(self, self.leds, align=align, size=size)
Example #4
0
    def __init__(self, avr):
#        firmware = avr.firmware
        cycle_measure_time = 1
        self.speed = 0
        self.start = pygame.time.get_ticks()
        self.firmware_time = '??:??:??'
        self.avr = avr

        self.reload()

        def avr_state():
            try:
                return avr.states[avr.state]
            except:
                return str(avr.state)

        CompositeGame.__init__(self,
                               [
                               TextGame((lambda: "mcu=%s" % avr.mcu)),

                               TextGame((lambda:
                                         "f_cpu=%s" % format_freq(avr.f_cpu))),
                               TextGame((lambda: "%s (%s)" % (
                                         avr.firmware.filename.name, self.firmware_time))),
                               TextGame((lambda: 'prog: %s bytes %s%% ' % (avr.avrsize.program_bytes, avr.avrsize.program_percentage))),
                               TextGame((lambda: 'mem: %s bytes %s%%' % (
                                         avr.avrsize.data_bytes, avr.avrsize.data_percentage))),
                               TextGame((lambda: "vcc=%sV avcc=%sV" %
                                       (avr.vcc, avr.avcc))),
                               TextGame((lambda: "pc=%8d" % avr.pc)),
                               TextGame((lambda: "state=%s" % avr_state())),
                               TextGame((lambda: "cycle= %9d" % (avr.cycle))),
                               TextGame((lambda: "mcu time=%s us" %
                                         str(
                                             1000000 * avr.cycle / avr.f_cpu).rjust(10))),
                               TextGame((lambda: "real time=%s s" % str((
                                                                        pygame.time.get_ticks() - self.start) / 1000).rjust(3))),
                               TextGame(
                               (lambda: "real speed= %fx" % (self.speed))),
                               ], align=1),

        def target():
            c_old = 0
            t_old = 0
            while not self._stop_thread:
                c = avr.cycle
                t = pygame.time.get_ticks()

                c_diff = c - c_old
                t_diff = t - t_old
                c_old = c
                t_old = t

                if t_diff:
                    self.speed = 1000.0 * c_diff / t_diff / avr.f_cpu

                time.sleep(cycle_measure_time)

        self._thread = threading.Thread(target=target)
#        self._thread.daemon = 1
        self._stop_thread = False
        self._thread.start()