static PyObject * i2c_write_reg(PyObject *self, PyObject *args) { /* parameters */ struct as_i2c_device *aDev; uint8_t aReg; uint8_t *aData; int aSize; int ret; /* Get arguments */ if (!PyArg_ParseTuple(args, "lis#", (long *)&aDev, &aReg, (unsigned char *)&aData, &aSize)) { PyErr_SetString(PyExc_IOError, "Wrong parameters."); return NULL; } ret = as_i2c_write_reg(aDev, aReg, aData, aSize); if (ret < 0) { PyErr_SetString(PyExc_IOError, "Can't get slave address"); return NULL; } return Py_BuildValue("i", ret); }
long AsI2c::writeReg(unsigned char aReg, unsigned char *aData, size_t aSize) { if (mDev != NULL) { return as_i2c_write_reg(mDev, aReg, aData, aSize); } else { std::cerr<<"AsI2c device structure not allocated"<<std::endl; return -1; } }