ecal.core.core module¶
@package ecal Python wrapper for eCAL the enhanced communication abstraction layer.
You can use the eCAL API in a function style or OO manner.
-
ecal.core.core.client_add_response_callback(client_handle, callback)¶ add response callback to client
- Parameters
client_handle – the client handle
callback – the response callback function (f(service_info, response))
-
ecal.core.core.client_call_method(client_handle, method_name, request, timeout=- 1)¶ call a method of the service
- Parameters
client_handle – the client handle
method_name (string) – the method name to call
request (bytes) – the request argument for the method
timeout (integer) – maximum time before operation returns (in milliseconds, -1 means infinite)
-
ecal.core.core.client_create(service_name)¶ create client
- Parameters
service_name (string) – the unique service name
-
ecal.core.core.client_destroy(client_handle)¶ destroy client
- Parameters
client_handle – the client handle
-
ecal.core.core.client_rem_method_callback(client_handle)¶ remove response callback from client
- Parameters
client_handle – the client handle
-
ecal.core.core.client_set_hostname(client_handle, host_name)¶ set host name of the service
- Parameters
client_handle – the client handle
host_name (string) – the host name the service is running on
-
ecal.core.core.dyn_json_sub_create(topic_name)¶ create subscriber
- Parameters
topic_name (string) – the unique topic name
-
ecal.core.core.dyn_json_sub_destroy(topic_handle)¶ destroy subscriber
- Parameters
topic_handle – the topic handle
-
ecal.core.core.dyn_json_sub_rem_callback(topic_handle, callback)¶ remove callback function for incoming messages
- Parameters
topic_handle – the topic handle
callback – python callback function (f(topic_name, msg, time))
-
ecal.core.core.dyn_json_sub_set_callback(topic_handle, callback)¶ set callback function for incoming messages
- Parameters
topic_handle – the topic handle
callback – python callback function (f(topic_name, msg, time))
-
ecal.core.core.enable_loopback(state)¶ enable ecal message loopback
- Parameters
state (int) – switch on ecal message loop back (default 0)
-
ecal.core.core.finalize()¶ finalize eCAL API
-
ecal.core.core.getdate()¶ get ecal date string
-
ecal.core.core.getmicroseconds()¶ get ecal microsecond timestamp
-
ecal.core.core.getversion()¶ get ecal version string
-
ecal.core.core.initialize(args, unit_name)¶ initialize eCAL API
- Parameters
args – command line argument list (sys.argv)
unit_name (string) – instance unit name
-
ecal.core.core.log_message(message)¶ log message
- Parameters
message (string) – the message to log
-
ecal.core.core.log_setcoretime(time)¶ log core time
- Parameters
time (int) – module core time in ms
-
ecal.core.core.log_setlevel(level)¶ set log level
- Parameters
level (int) – log level (info = 1, warning = 2, error = 3, fatal = 4)
-
ecal.core.core.mon_finalize()¶ finalize eCAL monitoring API
-
ecal.core.core.mon_initialize()¶ initialize eCAL monitoring API
-
ecal.core.core.mon_logging()¶ get list of ecal log messages
-
ecal.core.core.mon_monitoring()¶ get all host, process and topic information as dictionary
-
ecal.core.core.mon_publogging(state_, name_)¶ activate an eCAL internal publisher for logging info
- Parameters
state – publisher state on / off
name (string) – topic name for the publisher
-
ecal.core.core.mon_pubmonitoring(state_, name_)¶ activate an eCAL internal publisher for monitoring info
- Parameters
state – publisher state on / off
name (string) – topic name for the publisher
-
ecal.core.core.mon_setexclfilter(filter_)¶ Set topics filter blacklist regular expression
- Parameters
filter (string) – filter string as regular expression
-
ecal.core.core.mon_setfilterstate(state_)¶ Switch eCAL monitoring filter on/off
- Parameters
state – filter state on / off
-
ecal.core.core.mon_setinclfilter(filter_)¶ Set topics filter whitelist regular expression
- Parameters
filter (string) – filter string as regular expression
-
ecal.core.core.ok()¶ returns ecal process state
-
ecal.core.core.pub_create(topic_name, topic_type, topic_desc)¶ create publisher
- Parameters
topic_name (string) – the unique topic name
topic_type (string) – optional type name
topic_desc (bytes) – optional type description
-
ecal.core.core.pub_destroy(topic_handle)¶ destroy publisher
- Parameters
topic_handle – the topic handle
-
ecal.core.core.pub_send(topic_handle, msg_payload, msg_time=- 1)¶ send publisher content
- Parameters
topic_handle – the topic handle
msg_payload (bytes) – message python string (can contain zeros)
msg_time (int) – optional message time in us (default -1 == eCAL system time)
-
ecal.core.core.pub_set_description(topic_handle, description)¶ set publisher description
- Parameters
topic_handle (string) – the topic handle
description (bytes) – the topic description
-
ecal.core.core.pub_set_layer_mode(topic_handle, layer, mode)¶ set send mode for specific transport layer
- Parameters
topic_handle – the topic handle
layer (int) – 0 = udp, 1 = shm, 42 = inproc
mode (int) – 0 = off, 1 = on, 2 = auto
-
ecal.core.core.pub_set_max_bandwidth_udp(topic_handle, bandwidth)¶ set publisher maximum transmit bandwidth for the udp layer.
- Parameters
topic_handle – the topic handle
bandwidth (int) – maximum bandwidth in bytes/s (-1 == unlimited)
-
ecal.core.core.pub_set_qos_historykind(topic_handle, qpolicy, depth)¶ set publisher quality of service historykind mode and depth
- Parameters
topic_handle – the topic handle
qpolicy (int) – 0 = keep_last_history_qos, 1 = keep_all_history_qos
depth – history kind buffer depth
-
ecal.core.core.pub_set_qos_reliability(topic_handle, qpolicy)¶ set publisher quality of service reliability mode
- Parameters
topic_handle – the topic handle
qpolicy (int) – 0 = best_effort_reliability_qos, 1 = reliable_reliability_qos
depth – history kind buffer depth
-
class
ecal.core.core.publisher(topic_name, topic_type='', topic_desc=b'')¶ Bases:
objecteCAL publisher
-
destroy()¶ destroy publisher
-
send(msg_payload, msg_time=- 1)¶ send publisher content
- Parameters
msg_payload (bytes) – message python string (can contain zeros)
msg_time (int) – optional message time in us (default -1 == eCAL system time)
-
set_layer_mode(layer, mode)¶ set send mode for specific transport layer
- Parameters
layer (int) – 0 = udp, 1 = shm, 42 = inproc
mode – 0 = off, 1 = on, 2 = auto
-
set_max_bandwidth_udp(bandwidth)¶ set publisher maximum transmit bandwidth for the udp layer.
- Parameters
bandwidth (int) – maximum bandwidth in bytes/s (-1 == unlimited)
-
set_qos_historykind(qpolicy, depth)¶ set quality of service historykind mode and depth
- Parameters
qpolicy – 0 = keep_last_history_qos, 1 = keep_all_history_qos
depth – history kind buffer depth
-
set_qos_reliability(qpolicy)¶ set quality of service reliability mode
- Parameters
qpolicy – 0 = best_effort_reliability_qos, 1 = reliable_reliability_qos
-
-
ecal.core.core.server_add_method_callback(server_handle, method_name, req_type, resp_type, callback)¶ add method callback to server
- Parameters
server_handle – the server handle
method_name – the name of method to add
method_name – string
req_type – the type of the method request (optional)
resp_type – the type of the method response (optional)
callback – the method callback function (response = f(method_name, req_type, resp_type, request))
-
ecal.core.core.server_create(service_name)¶ create server
- Parameters
service_name (string) – the unique service name
-
ecal.core.core.server_destroy(server_handle)¶ destroy server
- Parameters
server_handle – the server handle
-
ecal.core.core.server_rem_method_callback(server_handle, method_name)¶ remove method callback from server
- Parameters
server_handle – the server handle
method_name – the name of method to add
method_name – string
-
ecal.core.core.set_process_state(severity, level, info)¶ set the process state
- Parameters
severity (int) – severity (unknown = 0, healthy = 1, warning = 2, critical = 3, failed = 4)
level (int) – severity level (level1 = 1, level2 = 2, level3 = 3, level4 = 4, level5 = 5)
info (string) – info message
-
ecal.core.core.shutdown_core()¶ shutdown ecal core components
-
ecal.core.core.shutdown_process_id(process_id)¶ shutdown ecal user processes with specified process id
- Parameters
process_id – process ID of the process to shut down
-
ecal.core.core.shutdown_process_uname(unit_name)¶ shutdown ecal user processes with specified unit name
- Parameters
unit_name – unit name of the process to shut down
-
ecal.core.core.shutdown_processes()¶ shutdown all ecal user processes
-
ecal.core.core.sub_create(topic_name, topic_type)¶ create subscriber
- Parameters
topic_name (string) – the unique topic name
topic_type (string) – optional topic type
-
ecal.core.core.sub_destroy(topic_handle)¶ destroy subscriber
- Parameters
topic_handle – the topic handle
-
ecal.core.core.sub_receive(topic_handle, timeout=0)¶ receive subscriber content with timeout
- Parameters
topic_handle – the topic handle
timeout (int) – receive timeout in ms
-
ecal.core.core.sub_rem_callback(topic_handle, callback)¶ remove callback function for incoming messages
- Parameters
topic_handle – the topic handle
callback – python callback function (f(topic_name, msg, time))
-
ecal.core.core.sub_set_callback(topic_handle, callback)¶ set callback function for incoming messages
- Parameters
topic_handle – the topic handle
callback – python callback function (f(topic_name, msg, time))
-
ecal.core.core.sub_set_qos_historykind(topic_handle, qpolicy, depth)¶ set subscriber quality of service historykind mode and depth
- Parameters
topic_handle – the topic handle
qpolicy (int) – 0 = keep_last_history_qos, 1 = keep_all_history_qos
depth (int) – history kind buffer depth
-
ecal.core.core.sub_set_qos_reliability(topic_handle, qpolicy)¶ set subscriber quality of service reliability mode
- Parameters
topic_handle – the topic handle
qpolicy (int) – 0 = best_effort_reliability_qos, 1 = reliable_reliability_qos
-
class
ecal.core.core.subscriber(topic_name, topic_type='')¶ Bases:
objecteCAL subscriber
-
destroy()¶ destroy subscriber
-
receive(timeout=0)¶ receive subscriber content with timeout
- Parameters
timeout (int) – receive timeout in ms
-
rem_callback(callback)¶ remove callback function for incoming messages
- Parameters
callback – python callback function (f(topic_name, msg, time))
-
set_callback(callback)¶ set callback function for incoming messages
- Parameters
callback – python callback function (f(topic_name, msg, time))
-
set_qos_historykind(qpolicy, depth)¶ set quality of service historykind mode and depth
- Parameters
qpolicy (int) – 0 = keep_last_history_qos, 1 = keep_all_history_qos
depth (int) – history kind buffer depth
-
set_qos_reliability(qpolicy)¶ set quality of service reliability mode
- Parameters
qpolicy (int) – 0 = best_effort_reliability_qos, 1 = reliable_reliability_qos
-
-
class
ecal.core.core.subscriberDynJSON(topic_name)¶ Bases:
objecteCAL Protobuf dynamic JSON subscriber
-
destroy()¶ destroy subscriber
-
rem_callback(callback)¶ remove callback function for incoming messages
- Parameters
callback – python callback function (f(topic_name, msg, time))
-
set_callback(callback)¶ set callback function for incoming messages
- Parameters
callback – python callback function (f(topic_name, msg, time))
-