ScriptReadTxMessage Method - intrepidcs API
C/C++ declare - VB declare - VB.NET declare - C# declare - Parameters - Return Values - Remarks - C/C++ example - VB example - VB.NET example - C# example

This method is used to read the parameters for a transmit message defined within a script on a neoVI device.

C/C++ Declare

int
_stdcall icsneoScriptReadTxMessage(int hObject, unsigned int iIndex, icsSpyMessage *pTxMessage);

Visual Basic Declare

Public
Declare Function icsneoScriptReadTxMessage Lib "icsneo40.dll" (ByVal hObject As Long, ByVal iIndex As Long, ByRef pTxMessage As icsSpyMessage) As Long


Visual Basic .NET Declare

Public Declare Function icsneoScriptReadTxMessage Lib "icsneo40.dll" (ByVal hObject As Int32, ByVal iIndex As UInt32, ByRef pTxMessage As icsSpyMessage) As Int32

C# Declare

[DllImport("icsneo40.dll")]
public static extern Int32 icsneoScriptReadTxMessage(Int32 hObject, UInt32 iIndex, ref icsSpyMessage pTxMessage);

Parameters

hObject
   
[in] Specifies the driver object created by OpenNeoDevice.

unsigned int iIndex
   
[in] The index value of the transmit message to read

icsSpyMessage *pTxMessage
   
[in] This is the address of an instance of an allocated icsSpyMessage structure. The structure will be loaded with the requested transmit message.

Return Values

1 if the function succeeded. 0 if it failed for any reason. GetLastAPIError must be called to obtain the specific error. The errors that can be generated by this function are:

NEOVI_ERROR_DLL_NEOVI_NO_RESPONSE = 75
NEOVI_ERROR_DLL_SCRIPT_INVALID_MSG_INDEX = 224
NEOVI_ERROR_DLL_SCRIPT_NO_SCRIPT_RUNNING = 226

Remarks

The script containing the specified transmit message must have been successfully downloaded to the neoVI using LoadScript. The script must also have been started using ScriptStart. This function will fail if ScriptStop has been called. The valid index values for transmit messages within a script can be found in the cmvspy.vs3cmb.h file that is produced by Vehicle Spy. Please see Vehicle Spy documentation.


Examples

Visual Basic Example

Dim iResult As Long
Dim
sMessage As icsSpyMessage

'//Read Tx Message
iResult = icsneoScriptReadTxMessage(m_hObject, CLng(cboMessageToRead.ListIndex), sMessage)

If iResult = 0 Then
    lstMessages.AddItem("Problem!")
Else
   
'//Read the icsSpyMessage Structure
End
If


C/C++ Example:

int iRetVal;
int i;
unsigned long lLastErrNum;
icsSpyMessage Msg;
iRetVal = icsneoScriptReadTxMessage(hObject, TestMessage1, &Msg);

if(iRetVal == 0)
{
    printf(
"\nFailed to read the transmit message.);
}
else
{
    printf(
"\nRead the transmit message from the script:");
    printf(
"ArbID = %X Data bytes: ", Msg.ArbIDOrHeader);
   
for(i = 0; i < 8; i++)
    {
        printf(
"%02X ", Msg.Data[i]);
    }
}


C# Example:

Int32 iResult;
icsSpyMessage sMessage =
new icsSpyMessage();

//Read Tx Message
iResult = icsNeoDll.icsneoScriptReadTxMessage(m_hObject, Convert.ToUInt32(cboMessageToRead.SelectedIndex),ref sMessage);

if(iResult == 0)
{
    lstMessages.Items.Add("Problem!");
}
else
{
    //Read the icsSpyMessage Structure
}


Visual Basic .NET Example:


Dim
iResult As Int32
Dim sMessage As icsSpyMessage

'//Read Tx Message
iResult = icsneoScriptReadTxMessage(m_hObject, Convert.ToUInt32(cboMessageToRead.SelectedIndex), sMessage)

If iResult = 0 Then
    lstMessages.Items.Add("Problem!")
Else
   
'//Read the icsSpyMessage Structure
End
If

intrepidcs API Documentation - (C) Copyright 2000-2012 Intrepid Control Systems, Inc.  (www.intrepidcs.com)

Last Updated : Tuesday, December 30, 2008