示例#1
0
 async def device(self, record, Responder, final_future, iokls, got_event):
     device = Device(
         "d073d5001337",
         Products.LCM2_A19,
         hp.Firmware(2, 80),
         lambda d: iokls(d),
         lambda d: Listener(d),
         lambda d: Responder(d),
         lambda d: RecordEvents(
             d, {"record_events_store": record, "got_event_fut": got_event}
         ),
         search_for_operators=False,
     )
     async with device.session(final_future):
         record.clear()
         yield device
示例#2
0
def device():
    return Device(
        "d073d5001337",
        Products.LCM2_A19,
        hp.Firmware(2, 80),
        value_store={"only_io_and_viewer_operators": True},
    )
示例#3
0
 async def switch(self, record, Responder, final_future, iokls, got_event):
     device = Device(
         "d073d5001338",
         Products.LCM3_16_SWITCH,
         hp.Firmware(3, 70),
         lambda d: iokls(d),
         lambda d: Listener(d),
         lambda d: Responder(d),
         lambda d: RecordEvents(
             d, {"record_events_store": record, "got_event_fut": got_event}
         ),
         search_for_operators=False,
     )
     async with device.session(final_future):
         if record and record[-1] | Events.RESET:
             record.pop()
         yield device
示例#4
0
 def make_device(has_memory=True, has_udp=False, value_store=None):
     return Device(
         "d073d5001337",
         Products.LCM2_A19,
         hp.Firmware(2, 80),
         lambda d: Responder(d),
         value_store={
             "no_memory_io": not has_memory,
             "no_udp_io": not has_udp,
             "only_io_and_viewer_operators": True,
             **(value_store or {}),
         },
     )
示例#5
0
        def adder(serial, *args, **kwargs):
            if "value_store" not in kwargs:
                kwargs["value_store"] = {}
            store = Store()
            self.stores[serial] = store
            kwargs["value_store"] = {
                **kwargs["value_store"],
                "record_events_store": store,
                "make_packet_waiter": True,
            }

            kwargs["value_store"] = {
                "no_memory_io": not self.has_memory,
                "no_udp_io": not self.has_udp,
                **kwargs["value_store"],
            }

            device = Device(serial, *args, **kwargs)
            store.device = device
            self.devices[label] = device
            return device
示例#6
0
def device2():
    return Device("d073d5001338", Products.LCM3_TILE, hp.Firmware(3, 50))
示例#7
0
def device():
    return Device("d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80))
示例#8
0
def device():
    return Device("d073d5001337", Products.LCM2_A19, hp.Firmware(2, 80), search_for_operators=False)
示例#9
0
        assert SendUnhandled(incoming_event).event is incoming_event

    async it "does not send a StateUnhandled if firmware doesn't support it", device, incoming_event:
        assert not device.cap.has_unhandled

        su = SendUnhandled(incoming_event)

        replies = []
        async for msg in su.process():
            replies.append(msg)
        assert replies == []

    async it "sends a StateUnhandled if firmware does support it", incoming_event:
        device = Device(
            "d073d5001338",
            Products.LCM3_16_SWITCH,
            hp.Firmware(3, 80),
        )
        incoming_event.device = device

        assert device.cap.has_unhandled

        su = SendUnhandled(incoming_event)

        replies = []
        async for msg in su.process():
            replies.append(msg)
        assert len(replies) == 1
        reply = replies[0]
        assert reply | CoreMessages.StateUnhandled
        assert reply.unhandled_type == DeviceMessages.GetPower.Payload.message_type