<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def i2c_read_data(self, address):
 """ Retrieve result of last data read from i2c device. i2c_read_request should be called before trying to retrieve data. It is intended for use by a polling application. :param address: i2c :returns: last data read or None if no data is present. """

        task = asyncio.ensure_future(self.core.i2c_read_data(address))
        value = self.loop.run_until_complete(task)
        return value