Пример #1
0
 def test_single_seg(self):
     num_pixels = 10
     time = 0
     strip = Strip(length=num_pixels)
     s = Segment(num_pixels=num_pixels,
                 module_startpixel=0,
                 strip_startpixel=0,
                 forwards=True)
     strip.segments = [s]
     for rgb in s.render(time):
         self.assertTrue(rgb == (0,0,0))
Пример #2
0
    def test_empty_seg(self):
        num_pixels = 10
        time = 0
        s = Segment(num_pixels=10)
        for rgb in s.render(time):
            self.assertTrue(rgb == (0,0,0))

        m = LightModule(hostname='h', location='l')
        m.segments = [s]
        for rgb in s.render(time):
            self.assertTrue(rgb == (0,0,0))

        s.module_startpixel = 10
        pixels = m.render(time)
        self.assertTrue(len(pixels) == 20)
        for rgb in pixels:
            self.assertTrue(rgb == (0,0,0))
Пример #3
0
    def test_two_modules(self):
        n = 10
        time = 0
        strip = Strip(n * 3)
        s1 = Segment(n, strip_startpixel=0)
        s2 = Segment(n, strip_startpixel=2*n, forwards=False)
        strip.segments = [s1, s2]

        m1 = LightModule(hostname='test1', location='l')
        m1.segments = [s1]

        m2 = LightModule(hostname='test2', location='l')
        m2.segments = [s2]

        rgbs = [(i, 0, 0) for i in range(n*3)]
        strip.set_rgbs(rgbs)
        for idx, rgb in enumerate(m1.render(time)):
            self.assertTrue(rgb == (idx, 0, 0))

        for idx, rgb in enumerate(m2.render(time)):
            self.assertTrue(rgb == (3*n - idx - 1, 0, 0))
Пример #4
0
    def test_two_seg(self):
        n1 = 10
        n2 = 5
        time = 0
        strip = Strip(n1 + n2)
        s1 = Segment(n1, strip_startpixel=0)
        s2 = Segment(n2, strip_startpixel=n1)

        strip.segments = [s1, s2]

        self.assertTrue(len(s1.render(time)) == n1)
        for rgb in s1.render(time):
            self.assertTrue(rgb == (0,0,0))
        self.assertTrue(len(s2.render(time)) == n2)
        for rgb in s2.render(time):
            self.assertTrue(rgb == (0,0,0))
Пример #5
0
    def test_module_w_gap(self):
        n = 10
        time = 0
        strip = Strip(n * 3)
        s1 = Segment(n, strip_startpixel=0)
        s2 = Segment(n, strip_startpixel=2*n, module_startpixel=2*n, forwards=False)
        strip.segments = [s1, s2]

        m = LightModule(hostname='test', location='l')
        m.segments = [s1, s2]

        rgbs = [(i, 0, 0) for i in range(n*3)]
        strip.set_rgbs(rgbs)

        rgbs = [(i, 0, 0) for i in range(n*3)]
        strip.set_rgbs(rgbs)
        self.assertTrue(len(m.render(time)) == 3*n)
        for idx, rgb in enumerate(m.render(time)):
            if idx < 10:
                self.assertTrue(rgb == (idx, 0, 0))
            elif idx < 20:
                self.assertTrue(rgb == (0,0,0))
            else:
                self.assertTrue(rgb == ((5*n - idx - 1), 0, 0))
Пример #6
0
    def test_seg_w_gap(self):
        n = 10
        time = 0
        strip = Strip(n * 3)
        s1 = Segment(n, strip_startpixel=0)
        s2 = Segment(n, strip_startpixel=2*n, forwards=False)
        strip.segments = [s1, s2]

        rgbs = [(i, 0, 0) for i in range(n*3)]
        strip.set_rgbs(rgbs)
        self.assertTrue(len(s1.render(time)) == n)
        for idx, rgb in enumerate(s1.render(time)):
            self.assertTrue(rgb == (idx, 0, 0))

        self.assertTrue(len(s2.render(time)) == n)
        for idx, rgb in enumerate(s2.render(time)):
            expected = 2*n + (n - idx) - 1
            self.assertTrue(rgb == (expected, 0, 0))
Пример #7
0
def seg_getall():
    seg = Segment()
    seg.id = 1
    seg.description = 'descript'
    return [seg, seg, seg]
Пример #8
0
from models.strip import Strip
from sqlalchemy.orm.exc import NoResultFound

from config import Session

session = Session()

name='main module'

try:
    m = session.query(LightModule).filter(LightModule.name==name).one()
    session.delete(m)
except NoResultFound, e:
    pass
m = LightModule(name="first pi lit", hostname="raspberrypi", location="lab")
s1 = Segment(num_pixels=60, module_startpixel=0, forwards=False)
s1.strip_startpixel=0
s2 = Segment(num_pixels=60, module_startpixel=64, forwards=True)
s2.strip_startpixel=60
m.segments = [s1, s2]
strip = Strip(length=124, name='main1')
strip.segments = [s1, s2]
session.add(m)

m = LightModule(name="second pi lit", hostname="secondpilit", location="lab")
s1 = Segment(num_pixels=64, module_startpixel=0, forwards=False)
s1.strip_startpixel=0
s2 = Segment(num_pixels=64, module_startpixel=64, forwards=True)
s2.strip_startpixel=64
m.segments = [s1, s2]
strip = Strip(length=128, name='main2')