Blame view

telemetry/code/monitor/graph_plotter_rewrite.py 1.31 KB
001c428d   Christopher Stone   Beginnings of a c...
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python

import pyglet
#import math
#import time
#import serial

from colours import *

class Plot:
    def __init__(self, title="Unknown", size=(640, 480)):
948da001   Christopher Stone   More progress on ...
12
13
14
15
16
17
18
19
        self.title = title
        self.size = size
        self.font = 'Arkhip'
        self.window = pyglet.window.Window(self.size[0], self.size[1], resizable=True)
        self.window.set_caption(title)
        self.window.on_resize = self.resize
        self.window.on_draw = self.draw
    
4d80e306   Christopher Stone   inadvertently fix...
20
    def resize(self, width, height):
948da001   Christopher Stone   More progress on ...
21
        self.size = (width, height)
44da1d6d   Christopher Stone   Fixed drawing bug...
22
        super(pyglet.window.Window, self.window).on_resize(width, height)
948da001   Christopher Stone   More progress on ...
23
        
001c428d   Christopher Stone   Beginnings of a c...
24
    def draw(self):
948da001   Christopher Stone   More progress on ...
25
26
27
        self.drawBackground()
        self.drawHeading()
        
001c428d   Christopher Stone   Beginnings of a c...
28
29
30
31
32
33
34
35
36
    def drawBackground(self):
        pyglet.image.SolidColorImagePattern(WHITE).create_image(self.size[0], self.size[1]).blit(0, 0)
        
    def drawHeading(self):
        heading = pyglet.text.Label(self.title, color=BLACK,
                            font_name=self.font, font_size=self.size[0]/50, x=self.size[0]/2, y=self.size[1],
                            anchor_x='center', anchor_y='top')
        heading.draw()
        
001c428d   Christopher Stone   Beginnings of a c...
37
38
39
plots = []         
plots.append(Plot("This is a test plot"))

4d80e306   Christopher Stone   inadvertently fix...
40
def pollSerial(foo):
21ddadaa   Christopher Stone   Added a comment a...
41
    # Note, foo seems to be a float
948da001   Christopher Stone   More progress on ...
42
43
    pass

948da001   Christopher Stone   More progress on ...
44
pyglet.clock.schedule_interval(pollSerial, 0.1)
001c428d   Christopher Stone   Beginnings of a c...
45
46

pyglet.app.run()