43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
#!/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))
|
|
|
|
|