Exemplo n.º 1
0
        def create():
            def mapper(xy):
                x, y = xy
                return "{}{}".format(x.value, y.value)

            return xs.pipe(
                ops.join(
                    ys,
                    lambda x: rx.timer(x.interval),
                    lambda y: rx.timer(y.interval).pipe(ops.flat_map(rx.throw(ex) if y.value == "tin" else rx.empty())),
                    ),
                ops.map(mapper),
                )
Exemplo n.º 2
0
        def create():
            def mapper(xy):
                x, y = xy
                return "{}{}".format(x.value, y.value)

            return xs.pipe(
                ops.join(
                    ys,
                    lambda x: rx.timer(x.interval),
                    lambda y: rx.timer(y.interval),
                ),
                ops.map(mapper),
            )
Exemplo n.º 3
0
        def create():
            def mapper(xy):
                x, y = xy
                return "{}{}".format(x.value, y.value)

            return xs.pipe(
                ops.join(
                    ys,
                    lambda x: rx.timer(x.interval),
                    lambda y: rx.timer(y.interval),
                    ),
                ops.map(mapper),
                )
Exemplo n.º 4
0
        def create():
            def mapper(xy):
                x, y = xy
                return "{}{}".format(x.value, y.value)

            return xs.pipe(
                ops.join(
                    ys,
                    lambda x: rx.timer(x.interval),
                    lambda y: rx.timer(y.interval).pipe(
                        ops.flat_map(
                            rx.throw(ex) if y.value == "tin" else rx.empty())),
                ),
                ops.map(mapper),
            )
Exemplo n.º 5
0
Arquivo: device.py Projeto: smwhr/s63
    def init_buttons(self):
        self.buttons = {}
        colStream = rx.create(self.observeColPins(COL_PINS))
        rowStream = rx.create(self.observeRowPins(ROW_PINS))

        keyStream = rowStream.pipe(
                      ops.join(
                        colStream,
                        lambda l: rx.timer(.01),
                        lambda r: rx.timer(.01)
                      ),
                      ops.map(self.findKey),
                  )

        keyStream.subscribe(on_next=lambda i: self.on_compose(i))
Exemplo n.º 6
0
        def create():
            def right_duration_mapper(y):
                if len(y.value) >= 0:
                    raise Exception(ex)
                else:
                    return rx.empty()

            def mapper(xy):
                x, y = xy
                return "{}{}".format(x.value, y.value)

            return xs.pipe(
                ops.join(
                    ys,
                    lambda x: rx.timer(x.interval),
                    right_duration_mapper,
                ),
                ops.map(mapper),
            )
Exemplo n.º 7
0
        def create():
            def right_duration_mapper(y):
                if len(y.value) >= 0:
                    raise Exception(ex)
                else:
                    return rx.empty()

            def mapper(xy):
                x, y = xy
                return "{}{}".format(x.value, y.value)

            return xs.pipe(
                ops.join(
                    ys,
                    lambda x: rx.timer(x.interval),
                    right_duration_mapper,
                    ),
                ops.map(mapper),
                )
Exemplo n.º 8
0

colStream = rx.create(observeColPins(COL_PINS))
rowStream = rx.create(observeRowPins(ROW_PINS))

#colStream.subscribe(on_next=lambda i: print(i))
#rowStream.subscribe(on_next=lambda i: print(i))

def findKey(xy):
  row, col = xy
  return KEYPAD[row.n][col.n]

keyStream = rowStream.pipe(
                ops.join(
                  colStream,
                  lambda l: rx.timer(.01),
                  lambda r: rx.timer(.01)
                ),
                ops.map(findKey),
            )

def makeColor(i):
  print(i)
  if i == 1:
    led.red = 1
  if i == 2:
    led.green = 1
  if i == 3:
    led.blue = 1
  if i == 4:
    led.red = 0.66
Exemplo n.º 9
0
import rx
import rx.operators as ops
from rx.subject import Subject
import time

numbers1 = Subject()
numbers2 = Subject()

numbers1.pipe(
    ops.join(
        numbers2,
        lambda i: rx.just(True).pipe(ops.delay(200)),
        lambda i: rx.just(True).pipe(ops.delay(300)),
    ),
    ops.starmap(lambda i, j: i + j),
).subscribe(on_next=lambda i: print("on_next {}".format(i)),
            on_error=lambda e: print("on_error: {}".format(e)),
            on_completed=lambda: print("on_completed"))

numbers1.on_next(0)
numbers2.on_next(2)
numbers1.on_next(1)
time.sleep(0.4)
numbers1.on_next(2)
numbers2.on_next(5)
time.sleep(0.25)
numbers1.on_next(3)
numbers2.on_next(3)