def publish_signals(stub):
    source = common_pb2.ClientId(id="app_identifier")
    namespace = common_pb2.NameSpace(name="VirtualCanInterface")

    signal = common_pb2.SignalId(name="BenchC_c_5", namespace=namespace)
    signal_with_payload = network_api_pb2.Signal(id=signal)
    signal_with_payload.integer = 4

    signal2 = common_pb2.SignalId(name="BenchC_c_2", namespace=namespace)
    signal_with_payload_2 = network_api_pb2.Signal(id=signal2)
    signal_with_payload_2.double = 3.4

    signal3 = common_pb2.SignalId(name="BenchC_d_2", namespace=namespace)
    signal_with_payload_3 = network_api_pb2.Signal(id=signal3)
    signal_with_payload_3.arbitration = True

    publisher_info = network_api_pb2.PublisherConfig(
        clientId=source,
        signals=network_api_pb2.Signals(
            signal=[signal_with_payload, signal_with_payload_2]),
        frequency=0)
    try:
        stub.PublishSignals(publisher_info)
        time.sleep(1)
    except grpc._channel._Rendezvous as err:
        print(err)
示例#2
0
def publish_signals(stub, client_id, signals_with_payload, freq):
    publisher_info = network_api_pb2.PublisherConfig(
        clientId=client_id,
        signals=network_api_pb2.Signals(signal=signals_with_payload),
        frequency=freq)
    try:
        stub.PublishSignals(publisher_info)
    except grpc._channel._Rendezvous as err:
        print(err)
示例#3
0
def publish_signals(client_id, stub, diag_frame_resp):

    signal_with_payload = network_api_pb2.Signal(id=diag_frame_resp)
    signal_with_payload.raw = b'\x01\x02\x03\x04\x05\x06\x07\x08'
    # signal_with_payload.raw = binascii.unhexlify("0102030405060708")
    publisher_info = network_api_pb2.PublisherConfig(
        clientId=client_id,
        signals=network_api_pb2.Signals(signal=[signal_with_payload]),
        frequency=0)
    try:
        stub.PublishSignals(publisher_info)
    except grpc._channel._Rendezvous as err:
        print(err)
def publish_signals(client_id, stub, signals_with_payload):
    """Publish signals

    Parameters
    ----------
    client_id : ClientId
        Object instance of class
    stub : NetworkServiceStub
        Object instance of class
    signals_with_payload : Signal
        Object instance of class

    """
    publisher_info = network_api_pb2.PublisherConfig(
        clientId=client_id,
        signals=network_api_pb2.Signals(signal=signals_with_payload),
        frequency=0,
    )
    try:
        stub.PublishSignals(publisher_info)
    except grpc._channel._Rendezvous as err:
        print(err)
示例#5
0
    reload_configuration(system_stub)
    # create the identifier of *this* client
    client_id = common_pb2.ClientId(id="virtual_example_pub")
    # For 10 messages
    for _ in range(10):
        input_value = input("Enter a number: ")
        try:
            signal_value = int(input_value)
        except ValueError:
            print(f"{input_value} is not a number. Only numbers are allowed")
        else:
            # Create a signal
            namespace = common_pb2.NameSpace(name="VirtualInterface")
            signal = common_pb2.SignalId(name="my_madeup_virtual_signal",
                                         namespace=namespace)
            # Add payload to the signal
            signal_with_payload = network_api_pb2.Signal(id=signal)
            # 20 bytes chosen as an arbitrary number
            signal_with_payload.raw = signal_value.to_bytes(20, 'big')
            # long vectors are valid on virtual networks!
            # signal_with_payload.integer = signal_value
            # Create a publisher config
            signals = network_api_pb2.Signals(signal=(signal_with_payload, ))
            publisher_info = network_api_pb2.PublisherConfig(
                clientId=client_id, signals=signals, frequency=0)
            # Publish
            try:
                network_stub.PublishSignals(publisher_info)
            except grpc._channel._Rendezvous as err:
                print(err)