Fixed sending part
This commit is contained in:
parent
cb6b8944a3
commit
714fe175ee
|
@ -2,9 +2,11 @@
|
||||||
|
|
||||||
from ctypes import *
|
from ctypes import *
|
||||||
|
|
||||||
LIBSSS7_PATH = "../linux/libsss7.so"
|
LIBSSS7_PATH = "../linux/bin/libsss7.so"
|
||||||
LIBSSS7_PAYLOAD_SIZE = 16
|
LIBSSS7_PAYLOAD_SIZE = 16
|
||||||
|
|
||||||
|
_SSS7_PAYLOAD_TYPE = c_ubyte * LIBSSS7_PAYLOAD_SIZE
|
||||||
|
|
||||||
_LIB_SSS7 = cdll.LoadLibrary(LIBSSS7_PATH)
|
_LIB_SSS7 = cdll.LoadLibrary(LIBSSS7_PATH)
|
||||||
|
|
||||||
# int libsss7_start(char *serialport);
|
# int libsss7_start(char *serialport);
|
||||||
|
@ -16,7 +18,7 @@ _LIB_SSS7.libsss7_can_send.argtypes = None
|
||||||
_LIB_SSS7.libsss7_can_send.restype = c_int
|
_LIB_SSS7.libsss7_can_send.restype = c_int
|
||||||
|
|
||||||
# void libsss7_send(uint8_t msg[LIBSSS7_PAYLOAD_SIZE]);
|
# void libsss7_send(uint8_t msg[LIBSSS7_PAYLOAD_SIZE]);
|
||||||
_LIB_SSS7.libsss7_send.argtypes = [c_ubyte * LIBSSS7_PAYLOAD_SIZE]
|
_LIB_SSS7.libsss7_send.argtypes = [_SSS7_PAYLOAD_TYPE]
|
||||||
_LIB_SSS7.libsss7_send.restype = c_int
|
_LIB_SSS7.libsss7_send.restype = c_int
|
||||||
|
|
||||||
# int libsss7_send_failed(void);
|
# int libsss7_send_failed(void);
|
||||||
|
@ -28,7 +30,7 @@ _LIB_SSS7.libsss7_has_received.argtypes = None
|
||||||
_LIB_SSS7.libsss7_has_received.restype = c_int
|
_LIB_SSS7.libsss7_has_received.restype = c_int
|
||||||
|
|
||||||
# libsss7_get_received(uint8_t *msg);
|
# libsss7_get_received(uint8_t *msg);
|
||||||
_LIB_SSS7.libsss7_get_received = [c_ubyte * LIBSSS7_PAYLOAD_SIZE]
|
_LIB_SSS7.libsss7_get_received.argtypes = [_SSS7_PAYLOAD_TYPE]
|
||||||
_LIB_SSS7.libsss7_get_received.restype = c_int
|
_LIB_SSS7.libsss7_get_received.restype = c_int
|
||||||
|
|
||||||
# void libsss7_stop();
|
# void libsss7_stop();
|
||||||
|
@ -40,22 +42,28 @@ class _SSS7(object):
|
||||||
def start(self, port):
|
def start(self, port):
|
||||||
return _LIB_SSS7.libsss7_start(port) == 0
|
return _LIB_SSS7.libsss7_start(port) == 0
|
||||||
|
|
||||||
def can_send():
|
def can_send(self):
|
||||||
return _LIB_SSS7.libsss7_can_send() == 1
|
return _LIB_SSS7.libsss7_can_send() == 1
|
||||||
|
|
||||||
def send(msg):
|
def send(self,msg):
|
||||||
_LIB_SSS7.libsss7_send(msg)
|
msg += [0] * (LIBSSS7_PAYLOAD_SIZE - len(msg))
|
||||||
|
payload = _SSS7_PAYLOAD_TYPE(*msg)
|
||||||
|
_LIB_SSS7.libsss7_send(payload)
|
||||||
|
|
||||||
def send_failed():
|
def send_failed(self):
|
||||||
return _LIB_SSS7.libsss7_send_failed() == 1
|
tmp = _LIB_SSS7.libsss7_send_failed()
|
||||||
|
print tmp
|
||||||
|
return tmp == 1
|
||||||
|
|
||||||
def has_received():
|
def has_received(self):
|
||||||
return _LIB_SSS7.libsss7_get_received()
|
return _LIB_SSS7.libsss7_get_received()
|
||||||
|
|
||||||
def get_received():
|
def get_received(self):
|
||||||
payload = [0] * LIBSSS7_PAYLOAD_SIZE
|
payload = [0] * LIBSSS7_PAYLOAD_SIZE
|
||||||
_LIB_SSS7.libsss7_get_received(payload)
|
_LIB_SSS7.libsss7_get_received(payload)
|
||||||
return payload
|
return payload
|
||||||
|
|
||||||
def stop():
|
def stop(self):
|
||||||
_LIB_SSS7.libsss7_stop()
|
_LIB_SSS7.libsss7_stop()
|
||||||
|
|
||||||
|
SSS7 = _SSS7()
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/usr/bin/env python2
|
||||||
|
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
from sss7 import SSS7
|
||||||
|
|
||||||
|
def to_byte_list(data):
|
||||||
|
return [ord(c) for c in data]
|
||||||
|
|
||||||
|
def to_string(data):
|
||||||
|
data = [chr(c) for c in data]
|
||||||
|
return "".join(data)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
SSS7.start("/dev/ttyUSB0")
|
||||||
|
|
||||||
|
while not SSS7.can_send() :
|
||||||
|
sleep(0.1)
|
||||||
|
|
||||||
|
SSS7.send(to_byte_list("Hello python"))
|
||||||
|
while not SSS7.can_send():
|
||||||
|
sleep(0.1)
|
||||||
|
|
||||||
|
if SSS7.send_failed():
|
||||||
|
print "Send failed"
|
||||||
|
|
||||||
|
|
||||||
|
#while(!bus.hasReceived());
|
||||||
|
#byte[] data = bus.getReceived();
|
||||||
|
#String str = new String(data);
|
||||||
|
#System.out.println(str);
|
||||||
|
|
||||||
|
|
||||||
|
SSS7.stop()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Loading…
Reference in New Issue