Ejemplo n.º 1
0
static void i2c_bitbang_stop_1(struct I2c *i2c)
{
	if (old_api)
	{
		SDA_LO;
		SCL_HI;
		I2C_HALFBIT_DELAY();
		SDA_HI;
	}
	else
	{
		i2c_sdaLo(I2C_DEV(i2c));
		i2c_sclHi(I2C_DEV(i2c));
		i2c_halfbitDelay(I2C_DEV(i2c));
		i2c_sdaHi(I2C_DEV(i2c));
	}
}
Ejemplo n.º 2
0
INLINE bool i2c_bitbang_start_1(struct I2c *i2c)
{
	bool ret;
	/* Clear all error, we restart */
	i2c->errors &= ~(I2C_NO_ACK | I2C_ARB_LOST);

	if (old_api)
	{
		SDA_HI;
		SCL_HI;
		I2C_HALFBIT_DELAY();
		SDA_LO;
		I2C_HALFBIT_DELAY();

		ret = !SDA_IN;
	}
	else
	{
		i2c_sdaHi(I2C_DEV(i2c));
		i2c_sclHi(I2C_DEV(i2c));
		i2c_halfbitDelay(I2C_DEV(i2c));
		i2c_sdaLo(I2C_DEV(i2c));
		i2c_halfbitDelay(I2C_DEV(i2c));

		ret = !i2c_sdaIn(I2C_DEV(i2c));
	}

	return ret;
}
Ejemplo n.º 3
0
Archivo: i2c_1.c Proyecto: A-Paul/RIOT
void I2C_1_ISR(void)
{
    irq_handler(I2C_DEV(1));
}
Ejemplo n.º 4
0
Archivo: i2c_1.c Proyecto: A-Paul/RIOT
void I2C_0_ISR(void)
{
    irq_handler(I2C_DEV(0));
}