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)
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)
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)
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)