Exemple #1
0
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);
}
Exemple #2
0
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;
	}
}