Beispiel #1
0
int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
{
    int i;
    unsigned char sensors[] = CONFIG_DTT_SENSORS;
    int old_bus;

    /* switch to correct I2C bus */
    old_bus = I2C_GET_BUS();
    I2C_SET_BUS(CONFIG_SYS_DTT_BUS_NUM);

    /*
     * Loop through sensors, read
     * temperature, and output it.
     */
    for (i = 0; i < sizeof (sensors); i++)
        printf ("DTT%d: %i C\n", i + 1, dtt_get_temp (sensors[i]));

    /* switch back to original I2C bus */
    I2C_SET_BUS(old_bus);

    return 0;
}	/* do_dtt() */
Beispiel #2
0
int dtt_i2c(void)
{
#if defined CONFIG_DTT_SENSORS
	int i;
	unsigned char sensors[] = CONFIG_DTT_SENSORS;
	int old_bus;

	/* Force a compilation error, if there are more then 32 sensors */
	BUILD_BUG_ON(sizeof(sensors) > 32);
	/* switch to correct I2C bus */
#ifdef CONFIG_SYS_I2C
	old_bus = i2c_get_bus_num();
	i2c_set_bus_num(CONFIG_SYS_DTT_BUS_NUM);
#else
	old_bus = I2C_GET_BUS();
	I2C_SET_BUS(CONFIG_SYS_DTT_BUS_NUM);
#endif

	_initialize_dtt();

	/*
	 * Loop through sensors, read
	 * temperature, and output it.
	 */
	for (i = 0; i < sizeof(sensors); i++)
		printf("DTT%d: %i C\n", i + 1, dtt_get_temp(sensors[i]));

	/* switch back to original I2C bus */
#ifdef CONFIG_SYS_I2C
	i2c_set_bus_num(old_bus);
#else
	I2C_SET_BUS(old_bus);
#endif
#endif

	return 0;
}