Esempio n. 1
0
        /// <overloads>Requests a message from the device and returns the response</overloads>
        /// <summary>
        /// Request a message from device and returns the response. 
        /// Throws exception on timeout.
        /// </summary>
        /// <param name="channelNum">Channel to send request on</param>
        /// <param name="messageID">Request to send</param>
        /// <param name="responseWaitTime">Time to wait for device success response</param>
        public ANT_Response requestMessageAndResponse(byte channelNum, ANT_ReferenceLibrary.RequestMessageID messageID, UInt32 responseWaitTime)
        {
            if (!initializedUSB)
                throw new ObjectDisposedException("ANTDevice object has been disposed");

            ANTMessageItem response = new ANTMessageItem();
            if (ANT_RequestMessage(unmanagedANTFramerPtr, channelNum, (byte)messageID, ref response, responseWaitTime) == 0)
                throw new ANT_Exception("Timed out waiting for requested message");
            ANT_Response retVal = new ANT_Response(this, channelNum, DateTime.Now, response.antMsgData.msgID, response.antMsgData.ucharBuf.Take(response.dataSize).ToArray());
            return retVal;
        }
Esempio n. 2
0
 private static extern int ANT_RequestMessage(IntPtr FramerPtr, byte ucANTChannel, byte ucMessageID, ref ANTMessageItem ANT_MESSAGE_ITEM_response, UInt32 ulResponseTime_);
Esempio n. 3
0
 /// <overloads>Requests a message from the device</overloads>
 /// <summary>
 /// Request a message from device
 /// </summary>
 /// <param name="channelNum">Channel to send request on</param>
 /// <param name="messageID">Request to send</param>
 public void requestMessage(byte channelNum, ANT_ReferenceLibrary.RequestMessageID messageID)
 {
     if (!initializedUSB)
         throw new ObjectDisposedException("ANTDevice object has been disposed");
     ANTMessageItem dummystruct = new ANTMessageItem();
     ANT_RequestMessage(unmanagedANTFramerPtr, channelNum, (byte)messageID, ref dummystruct, 0);
 }
Esempio n. 4
0
        /// <overloads>Requests a message from the device and returns the response</overloads>
        /// <summary>
        /// Read User Nvm by sending Request Mesg capturing the response.        
        /// Throws exception on timeout.
        /// </summary>                
        /// <param name="address">NVM Address to read from</param>
        /// <param name="size">Number of bytes to read</param>
        /// <param name="responseWaitTime">Time to wait for device success response</param>
        public ANT_Response readUserNvm(UInt16 address, byte size, UInt32 responseWaitTime)
        {
           if (!initializedUSB)
              throw new ObjectDisposedException("ANTDevice object has been disposed");

           ANTMessageItem response = new ANTMessageItem();
           if (ANT_RequestUserNvmMessage(unmanagedANTFramerPtr, 0, (byte)ANT_ReferenceLibrary.RequestMessageID.USER_NVM_0x7C, ref response, address, size, responseWaitTime) == 0)
              throw new ANT_Exception("Timed out waiting for requested message");
           ANT_Response retVal = new ANT_Response(this, 0, DateTime.Now, response.antMsgData.msgID, response.antMsgData.ucharBuf.Take(response.dataSize).ToArray());
           return retVal;
        }