OSC_ROS2/osc4py3_test/test.py
Alexander Schaefer 98759f2bab AS: osc4py3
2025-03-14 09:37:10 +01:00

32 lines
1.0 KiB
Python

from osc4py3.as_eventloop import *
#from osc4py3 import oscdispatch
import time
from osc4py3 import oscmethod as osm
# Define the OSC message handler
def joint_states_handler(address):
time.sleep(1) # Simulate processing time
print(f"Received OSC message at {address}")
# Start the OSC system
osc_startup()
# Create an OSC UDP server
osc_udp_server("127.0.0.1", 8000, "osc_server")
# Register handlers for different joint state messages
osc_method("/joint_states", joint_states_handler, argscheme=osm.OSCARG_ADDRESS)
osc_method("/joint_states/*/position", joint_states_handler,argscheme=osm.OSCARG_ADDRESS)
osc_method("/joint_states/*/velocity", joint_states_handler,argscheme=osm.OSCARG_ADDRESS)
osc_method("/joint_states/*/effort", joint_states_handler,argscheme=osm.OSCARG_ADDRESS)
print("OSC Receiver is listening on 127.0.0.1:8000...\nPress Ctrl+C to exit.")
# Keep the server running
try:
while True:
osc_process()
except KeyboardInterrupt:
print("\nShutting down OSC receiver...")
osc_terminate()