bool_t ht_nxt_color_sensor_measure_rgb()

in ev3-api/src/ev3api_sensor.c [483:502]


bool_t ht_nxt_color_sensor_measure_rgb(sensor_port_t port, rgb_raw_t *val) {
	ER ercd;

	CHECK_PORT(port);
	CHECK_COND(ev3_sensor_get_type(port) == HT_NXT_COLOR_SENSOR, E_OBJ);
	CHECK_COND(*pI2CSensorData[port].status == I2C_TRANS_IDLE, E_OBJ);

    val->r = pI2CSensorData[port].raw[0];
    val->g = pI2CSensorData[port].raw[1];
    val->b = pI2CSensorData[port].raw[2];

	ercd = start_i2c_transaction(port, 0x1, "\x43", 1, 3);
	assert(ercd == E_OK);

	return true;

error_exit:
	syslog(LOG_WARNING, "%s(): ercd %d", __FUNCTION__, ercd);
	return false;
}