Changeset 1089

Show
Ignore:
Timestamp:
11/04/08 05:16:40 (2 months ago)
Author:
bhimebau
Message:

simple text on grid complete

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • analog/pyeac/branches/pyeac_pygame/eeepc/pyeac.py

    r1086 r1089  
    2424if __name__ == '__main__': 
    2525    from visualizer import Visualizer 
    26 #    from eac_sim import eac 
    2726    from eac_physical import ueac 
    2827    import pygame 
     
    4342    phyeac.write_i(5,5,100)                    # write pin (5,5) as current source 
    4443     
    45 #    simeac = eac() 
    46 #     simeac.set_dim(5,5,30000) 
    47 #     simeac.lla_add('lla1',(3,3,18)) 
    48 #     simeac.isrc_add('I1',(1,1,'-100u')) 
    49 #     simeac.isrc_add('I2',(5,5,'-100u')) 
    50          
    5144    pygame.init() 
    5245    screen = pygame.display.set_mode((790,535)) 
     
    5649 
    5750 
    58     phyeac_vis = Visualizer((0,0,100)
     51    phyeac_vis = Visualizer(absolute=True
    5952    phyeac_vis.update(phyeac.voltage_values) 
    60  
    61 #     simeac_vis = Visualizer() 
    62 #     simeac_vis.update(simeac.evaluate()) 
    6353 
    6454    form = gui.Form() 
     
    8171        if changes != None: 
    8272            phyeac.update(changes,_form) 
    83 #             simeac.update(_form) 
    84 #             simeac_vis.update(simeac.evaluate()) 
    8573 
    8674        for event in pygame.event.get(): 
     
    9482        screen.fill((0,0,0)) 
    9583        screen.blit(phyeac_vis.surface,(0,0)) 
    96 #        screen.blit(simeac_vis.surface,(485,0)) 
    9784        app.paint(screen) 
    9885 
    9986        pygame.display.flip() 
    100 #        print clock.tick() 
    10187 
    10288 
  • analog/pyeac/branches/pyeac_pygame/eeepc/visualizer.py

    r1086 r1089  
    77from pygame.locals import * 
    88 
    9 class Visualizer
     9class Visualizer()
    1010 
    11     def __init__(self, fill_color=(100,0,0)): 
    12         self.fill_color = fill_color 
     11    def __init__(self, absolute=True): 
     12        self.absolute = absolute 
     13        self.fill_color = (100,0,0) 
    1314        self.palette = self.createpalette() 
    1415        self.surface = pygame.Surface((300,300)) 
     
    1617        for y in range(5): 
    1718            for x in range(5): 
    18                 self.surface.fill(fill_color,fill_window) 
     19                self.surface.fill(self.fill_color,fill_window) 
    1920                fill_window = fill_window.move(60,0) 
    2021            fill_window = fill_window.move(-300,60) 
     
    2930 
    3031    def update(self,vdata): 
    31         for y in range(5): 
    32             for x in range(5): 
    33                 if self.fill_color[2]==0: 
    34                     cdata = self.palette[int((vdata[y][x]/5.0)*255)] 
    35                 else: 
    36                     cdata = self.palette[int((vdata[y][x]/5.0)*255)] 
    37                 self.set_block((x,y),cdata) 
    38          
     32        print self.absolute 
     33        if self.absolute == True: 
     34            max = 5.0 
     35            min = 0.0 
     36            for y in range(5): 
     37                for x in range(5): 
     38                    voltage = float(vdata[y][x]) 
     39                    if voltage > max: 
     40                        voltage = max 
     41                    elif voltage < min: 
     42                        voltage = min 
     43                    cdata = self.palette[int((voltage/max)*255)] 
     44                    self.set_block((x,y),cdata) 
     45        else: 
     46            max = 0.0 
     47            min = 5.0 
     48            for y in range(5): 
     49                for x in range(5): 
     50                    voltage = float(vdata[y][x]) 
     51                    if voltage > max: 
     52                        max = voltage 
     53                    if voltage < min: 
     54                        min = voltage 
     55            span = max-min 
     56            print "coming from vis update",min, max, span 
     57            if span > 0: 
     58                for y in range(5): 
     59                    for x in range(5): 
     60                        voltage = float(vdata[y][x]) 
     61                        vnorm = (voltage - min)/span  
     62                        cdata = self.palette[int(vnorm*255)] 
     63                        self.set_block((x,y),cdata) 
     64 
     65        
    3966    def createpalette(self): 
     67        """function to create thermal type palette  
     68 
     69        used from the heat tutorial at http://www.penzilla.net/tutorials/python/pygame/heat/ 
     70 
     71        """ 
    4072        r,g,b = -1,0,256 
    4173        palette = []