def METHOD_NAME():
    global ACK_ERR
    global ACK_RECEIVED
    global nAckCount
    """
    Wait for Acknowledgement
    """
    data_In = bytearray([0x11,0x12])
    while True:
        msg = i2c_msg.read(address, 4)
        bus.i2c_rdwr(msg)
        data_In = list(msg)
        for Acknowledgement in I2C_Slave_ACK:
            if data_In[0] == int(Acknowledgement.value):
                if Acknowledgement.value == 0x0B:
                    ACK_ERR = 0
                    ACK_RECEIVED = 1
                    print("-------ACK Received--------")
                    break
                else:
                    ACK_ERR = 1
                    ACK_RECEIVED = 1
                    print("********ACK ERROR Received********", end = " ")
                    print(hexlify(bytes(data_In)))
                    break
            """
            TODO: Rarely, the ACK gets shifted by one nibble and
                  this is also considered as a valid ACK(To be debugged)
            """
            if data_In[2] == 0xB0:
                ACK_ERR = 0
                ACK_RECEIVED = 1
                print("--^^^^---ACK Received-----^^^^--")
                break
        if ACK_RECEIVED == 1:
            ACK_RECEIVED = 0
            break
    nAckCount += 1
    return ACK_ERR, data_In[0]