code: def ReadFD(
          self,
          Channel):
  
          
          try:
              if platform.system() == 'Darwin':
                  msg = TPCANMsgFDMac()
              else:
                  msg = TPCANMsgFD()
              timestamp = TPCANTimestampFD()
              res = self.__m_dllBasic.CAN_ReadFD(Channel,byref(msg),byref(timestamp))
              return TPCANStatus(res),msg,timestamp
          except:
              logger.error("Exception on PCANBasic.ReadFD")
              raise
docs: Reads a CAN message from the receive queue of a FD capable PCAN Channel
  
          Remarks:
            The return value of this method is a 3-touple, where
            the first value is the result (TPCANStatus) of the method.
            The order of the values are:
            [0]: A TPCANStatus error code
            [1]: A TPCANMsgFD structure with the CAN message read
            [2]: A TPCANTimestampFD that is the time when a message was read
  
          Parameters:
            Channel  : The handle of a FD capable PCAN Channel
  
          Returns:
            A touple with three values