Exemplo n.º 1
0
static PyObject * i2c_write_reg_byte(PyObject *self, PyObject *args)
{
    /* parameters */
    struct as_i2c_device *aDev;
    uint8_t aReg;
    uint8_t aVal;

    int ret;

    /* Get arguments */
    if (!PyArg_ParseTuple(args, "lii", (long *)&aDev, &aReg, &aVal)) {
        PyErr_SetString(PyExc_IOError,
                        "Wrong parameters.");
        return NULL;
    }

    ret = as_i2c_write_reg_byte(aDev, aReg, aVal);
    if (ret < 0) {
        PyErr_SetString(PyExc_IOError,
                        "Can't get slave address");
        return NULL;
    }

    return Py_BuildValue("i", ret);
}
Exemplo n.º 2
0
long AsI2c::writeRegByte(unsigned char aReg, unsigned char aVal)
{
	if (mDev != NULL)
	{
		return as_i2c_write_reg_byte(mDev, aReg, aVal);
	}
	else
	{
		std::cerr<<"AsI2c device structure not allocated"<<std::endl;
		return -1;
	}
}	
Exemplo n.º 3
0
int ApfI2cWithMd25::writeRegisterbyte(struct as_i2c_device *aDev, unsigned char reg, unsigned char value)
{
	//logger().error() << "as_i2c_write_reg_byte: adr=" << (int) adr << utils::end;
	lock();
	int result = 0;
	//result = as_i2c_write_reg_byte(fd_, adr, reg, value);
	result = as_i2c_write_reg_byte(aDev, reg, value);

	if (result < 0)
	{
		//errorCount_++;
		std::cout << "as_i2c_write_reg_byte: reg=" << (int) reg << " val=" << (int) value << " !" << std::endl;
		exit(1);
	}
	else
	{
		//errorCount_ = 0;
	}
	//usleep(1000); //fréq i2c à 100kHz : attente de l'application complète de la trame

	unlock();
	return result;
}