dir = i2c_slave_get_direction_wait(&i2c_slave_instance);
if(dir == I2C_SLAVE_DIRECTION_READ) {packet.data = read_buffer;i2c_slave_read_packet_wait(&i2c_slave_instance, &packet);}elseif(dir == I2C_SLAVE_DIRECTION_WRITE) {packet.data = write_buffer;i2c_slave_write_packet_wait(&i2c_slave_instance, &packet);}