11 from sys
import version_info
12 if version_info >= (2, 6, 0):
13 def swig_import_helper():
14 from os.path
import dirname
18 fp, pathname, description = imp.find_module(
'_bsI2C', [dirname(__file__)])
24 _mod = imp.load_module(
'_bsI2C', fp, pathname, description)
28 _bsI2C = swig_import_helper()
29 del swig_import_helper
34 _swig_property = property
39 def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
40 if (name ==
"thisown"):
41 return self.this.own(value)
43 if type(value).__name__ ==
'SwigPyObject':
44 self.__dict__[name] = value
46 method = class_type.__swig_setmethods__.get(name,
None)
48 return method(self, value)
51 object.__setattr__(self, name, value)
53 self.__dict__[name] = value
55 raise AttributeError(
"You cannot add attributes to %s" % self)
58 def _swig_setattr(self, class_type, name, value):
59 return _swig_setattr_nondynamic(self, class_type, name, value, 0)
62 def _swig_getattr_nondynamic(self, class_type, name, static=1):
63 if (name ==
"thisown"):
64 return self.this.own()
65 method = class_type.__swig_getmethods__.get(name,
None)
69 return object.__getattr__(self, name)
71 raise AttributeError(name)
73 def _swig_getattr(self, class_type, name):
74 return _swig_getattr_nondynamic(self, class_type, name, 0)
79 strthis =
"proxy of " + self.this.__repr__()
82 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
87 except AttributeError:
94 _bsI2C.BS_I2C_DEV_NAME_DFT_swigconstant(_bsI2C)
95 BS_I2C_DEV_NAME_DFT = _bsI2C.BS_I2C_DEV_NAME_DFT
97 _bsI2C.BS_I2C_SERVER_MOD_swigconstant(_bsI2C)
98 BS_I2C_SERVER_MOD = _bsI2C.BS_I2C_SERVER_MOD
100 _bsI2C.BS_I2C_CLIENT_LIB_swigconstant(_bsI2C)
101 BS_I2C_CLIENT_LIB = _bsI2C.BS_I2C_CLIENT_LIB
103 def bsI2CGetMsgName(pClient, hndVConn, uMsgId):
104 return _bsI2C.bsI2CGetMsgName(pClient, hndVConn, uMsgId)
105 bsI2CGetMsgName = _bsI2C.bsI2CGetMsgName
107 def bsI2CReqOpen(pClient, sDevName, bInitTrace):
108 return _bsI2C.bsI2CReqOpen(pClient, sDevName, bInitTrace)
109 bsI2CReqOpen = _bsI2C.bsI2CReqOpen
111 def bsI2CReqClose(pClient, hndVConn):
112 return _bsI2C.bsI2CReqClose(pClient, hndVConn)
113 bsI2CReqClose = _bsI2C.bsI2CReqClose
115 def bsI2CReqRead(pClient, hndVConn, i2cAddr, uReadLen, rbuf):
116 return _bsI2C.bsI2CReqRead(pClient, hndVConn, i2cAddr, uReadLen, rbuf)
117 bsI2CReqRead = _bsI2C.bsI2CReqRead
119 def bsI2CReqWrite(pClient, hndVConn, i2cAddr, wbuf, uWriteLen):
120 return _bsI2C.bsI2CReqWrite(pClient, hndVConn, i2cAddr, wbuf, uWriteLen)
121 bsI2CReqWrite = _bsI2C.bsI2CReqWrite
123 def bsI2CReqTrans(pClient, hndVConn, i2cAddr, wbuf, uWriteLen, uReadLen, rbuf):
124 return _bsI2C.bsI2CReqTrans(pClient, hndVConn, i2cAddr, wbuf, uWriteLen, uReadLen, rbuf)
125 bsI2CReqTrans = _bsI2C.bsI2CReqTrans
127 def bsI2CReqScan(pClient, hndVConn, bufScan, sizeScanBuf):
128 return _bsI2C.bsI2CReqScan(pClient, hndVConn, bufScan, sizeScanBuf)
129 bsI2CReqScan = _bsI2C.bsI2CReqScan
131 def new_i2cAddrArray(nelements):
132 return _bsI2C.new_i2cAddrArray(nelements)
133 new_i2cAddrArray = _bsI2C.new_i2cAddrArray
135 def delete_i2cAddrArray(ary):
136 return _bsI2C.delete_i2cAddrArray(ary)
137 delete_i2cAddrArray = _bsI2C.delete_i2cAddrArray
139 def i2cAddrArray_getitem(ary, index):
140 return _bsI2C.i2cAddrArray_getitem(ary, index)
141 i2cAddrArray_getitem = _bsI2C.i2cAddrArray_getitem
143 def i2cAddrArray_setitem(ary, index, value):
144 return _bsI2C.i2cAddrArray_setitem(ary, index, value)
145 i2cAddrArray_setitem = _bsI2C.i2cAddrArray_setitem
153 BotSense I2C Python Inline Extensions and Wrappers. 169 import BotSenseCore
as bsCore
170 import BotSenseError
as bsError
171 import BotSenseTypes
as bsTypes
174 I2CMaxNumOfScannedAddrs = 256
177 """ Get the I2C message name. 179 For each (virtual connection, message id) 2-tuple, there can be a known 180 name string (provided the id is valid and an application provides the 184 client - BotSenseTypes.BsClient instance. 185 hndVConn - Virtual connection handle (ignored). 186 msgId - I2C message id. 189 Returns message name string if it can be determined. 190 Otherwise returns 'unknown'. 192 bsTypes.BsClient.ChkClient(client)
193 return bsI2CGetMsgName(client.pClient, hndVConn, msgId)
196 """ Proxy server request to establish a virtual connection to an 199 Raises a BotSenseError exception on failure. 202 client - BotSenseTypes.BsClient instance. 203 devName - Proxied I2C device name (e.g. /dev/i2c-0). 204 trace - Initial message tracing enable(true)/disable(false) state. 207 New virtual connection handle. 209 bsTypes.BsClient.ChkClient(client)
210 hndVConn = bsI2CReqOpen(client.pClient, devName, trace)
211 bsError.ChkReturnIsNonNeg(hndVConn,
212 "Client %s: I2C Open request failed." % (client.AttrGetName()))
216 """ Proxy server request to close client's proxied I2C bus device virtual 219 Raises a BotSenseError exception on failure. 222 client - BotSenseTypes.BsClient instance. 223 hndVConn - Virtual connection handle. 225 bsTypes.BsClient.ChkClient(client)
226 rc = bsI2CReqClose(client.pClient, hndVConn)
227 bsError.ChkReturnIsOk(rc,
228 "Client %s: I2C Close request failed." % (client.AttrGetName()))
231 """ I2C request to read from a device attached to a proxied I2C bus. 233 Raises a BotSenseError exception on failure. 236 client - BotSenseTypes.BsClient instance. 237 hndVConn - Virtual connection handle. 238 i2cAddr - Address of attached device on the I2C bus. 239 readLen - Number of bytes to read. 242 Buffer list of read bytes. 244 bsTypes.BsClient.ChkClient(client)
245 rbytebuf = bsTypes.ByteBuf(readLen)
246 n = bsI2CReqRead(client.pClient, hndVConn, i2cAddr, readLen,
247 rbytebuf.getSwigObj())
248 bsError.ChkReturnIsNonNeg(n,
249 "Client %s: I2C Read request failed." % (client.AttrGetName()))
250 rbytebuf.copyFromSwigObj(n)
254 """ I2C request to write to a device attached to a proxied I2C bus. 256 Raises a BotSenseError exception on failure. 259 client - BotSenseTypes.BsClient instance. 260 hndVConn - Virtual connection handle. 261 i2cAddr - Address of attached device on the I2C bus. 265 Number of bytes written. 267 bsTypes.BsClient.ChkClient(client)
268 wbytebuf = bsTypes.ByteBuf.Clone(wbuf)
269 wbytebuf.copyToSwigObj(len(wbytebuf))
270 n = bsI2CReqWrite(client.pClient, hndVConn, i2cAddr, wbytebuf.getSwigObj(),
272 bsError.ChkReturnIsNonNeg(n,
273 "Client %s: I2C Write request failed." % (client.AttrGetName()))
277 """ I2C request to execute a write-read transaction to a device 278 attached to a proxied I2C bus. 280 Raises a BotSenseError exception on failure. 283 client - BotSenseTypes.BsClient instance. 284 hndVConn - Virtual connection handle. 285 i2cAddr - Address of attached device on the I2C bus. 287 readLen - Number of bytes to read. 290 Buffer list of read bytes. 292 bsTypes.BsClient.ChkClient(client)
293 wbytebuf = bsTypes.ByteBuf.Clone(wbuf)
294 wbytebuf.copyToSwigObj(len(wbytebuf))
295 rbytebuf = bsTypes.ByteBuf(readLen)
296 n = bsI2CReqTrans(client.pClient, hndVConn, i2cAddr,
297 wbytebuf.getSwigObj(), len(wbytebuf),
298 readLen, rbytebuf.getSwigObj())
299 bsError.ChkReturnIsNonNeg(n,
300 "Client %s: I2C Transaction request failed." % (client.AttrGetName()))
301 rbytebuf.copyFromSwigObj(n)
305 """ I2C request to scan a proxied I2C bus for attached devices. 307 Raises a BotSenseError exception on failure. 310 client - BotSenseTypes.BsClient instance. 311 hndVConn - Virtual connection handle. 314 List of I2C address of discovered attached devices. 316 bsTypes.BsClient.ChkClient(client)
317 swigObj = new_i2cAddrArray(I2CMaxNumOfScannedAddrs)
318 n = bsI2CReqScan(client.pClient, hndVConn, swigObj, I2CMaxNumOfScannedAddrs)
319 bsError.ChkReturnIsNonNeg(n,
320 "Client %s: I2C Read request failed." % (client.AttrGetName()))
323 addrs += [ i2cAddrArray_getitem(swigObj, i) ]
def I2CReqOpen(client, devName, trace=False)
def I2CReqClose(client, hndVConn)
def I2CReqScan(client, hndVConn)
def I2CReqTrans(client, hndVConn, i2cAddr, wbuf, readLen)
def I2CGetMsgName(client, hndVConn, msgId)
def I2CReqWrite(client, hndVConn, i2cAddr, wbuf)
def I2CReqRead(client, hndVConn, i2cAddr, readLen)