/* param base Pointer to FLEXIO_I2C_Type structure param handle Pointer to flexio_i2c_master_handle_t structure which stores the transfer state param xfer pointer to flexio_i2c_master_transfer_t structure retval kStatus_Success Successfully start a transfer. retval kStatus_FLEXIO_I2C_Busy FlexIO I2C is not idle, is running another transfer.  */
status_t FLEXIO_I2C_MasterTransferNonBlocking(FLEXIO_I2C_Type *base, flexio_i2c_master_handle_t *handle, flexio_i2c_master_transfer_t *xfer)
/* param base Pointer to FLEXIO_I2C_Type structure param handle Pointer to flexio_i2c_master_handle_t structure which stores the transfer state param xfer pointer to flexio_i2c_master_transfer_t structure retval kStatus_Success Successfully start a transfer. retval kStatus_FLEXIO_I2C_Busy FlexIO I2C is not idle, is running another transfer.  */
status_t FLEXIO_I2C_MasterTransferNonBlocking(FLEXIO_I2C_Type *base, flexio_i2c_master_handle_t *handle, flexio_i2c_master_transfer_t *xfer)
{
    assert(handle);
    assert(xfer);
    if (handle->state != kFLEXIO_I2C_Idle)
    {
        return kStatus_FLEXIO_I2C_Busy;
    }
    else
    {
        FLEXIO_I2C_MasterTransferInitStateMachine(base, handle, xfer);
        FLEXIO_I2C_MasterEnableInterrupts(base, kFLEXIO_I2C_TxEmptyInterruptEnable | kFLEXIO_I2C_RxFullInterruptEnable);
        return kStatus_Success;
    }
}