#!/usr/bin/python # libcsp must be build with at least these options to run this example client: # ./waf distclean configure build --enable-bindings --enable-crc32 --enable-rdp --enable-if-zmq --with-driver-usart=linux --enable-if-kiss --enable-xtea --enable-if-can --enable-can-socketcan --enable-hmac --enable-examples # Can be run from root of libcsp like this: # LD_LIBRARY_PATH=build PYTHONPATH=bindings/python:build python examples/python_bindings_example_client.py # import os import time import libcsp as csp if __name__ == "__main__": csp.buffer_init(10, 300) csp.init(28) csp.zmqhub_init(28, "localhost") csp.rtable_set(27, 5, "ZMQHUB") csp.route_start_task() ## allow router task startup time.sleep(1) ## cmp_ident (rc, host, model, rev, date, time) = csp.cmp_ident(27) if rc == csp.CSP_ERR_NONE: print (host, model, rev, date, time) else: print ("error in cmp_ident, rc=%i" % (rc)) ## transaction outbuf = bytearray().fromhex('01') inbuf = bytearray(1) print ("using csp_transaction to send a single byte") if csp.transaction(0, 27, 10, 1000, outbuf, inbuf) < 1: print ("csp_transaction failed") else: print ("got reply, data=" + ''.join('{:02x}'.format(x) for x in inbuf))