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); }
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; } }
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; }