ScriptWriteTxMessage 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 alter a transmit message defined within a script on a neoVI device.
int
_stdcall icsneoScriptWriteTxMessage(int hObject, unsigned int iIndex, icsSpyMessage *pTxMessage);Public
Declare Function icsneoScriptWriteTxMessage Lib "icsneo40.dll" (ByVal hObject As Long, ByVal iIndex As Long, ByRef pTxMessage As icsSpyMessage) As LongVisual Basic .NET Declare
Public
Declare
Function
icsneoScriptWriteTxMessage 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
icsneoScriptWriteTxMessage(Int32 hObject, UInt32 iIndex,
ref
icsSpyMessage pTxMessage);
hObject
[in] Specifies the driver object created by OpenNeoDevice.
iIndex
[in] The index value of the transmit
message to read
pTxMessage
[in]
This is the address of an instance of an
allocated icsSpyMessage
structure.
The structure will be used to change the specified transmit message.
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
The script containing the specified transmit message must have been successfully downloaded to the neoVI using ScriptLoad. 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 the Vehicle Spy documentation.
Examples
Visual Basic Example
Dim
iResult As
Long
Dim sMessage As
icsSpyMessage
sMessage.ArbIDOrHeader =
CLng(Val("&H"
+ txtArbID.Text))
sMessage.Data(0) = CByte(Val("&H"
+ txtByte(0).Text))
sMessage.Data(1) = CByte(Val("&H"
+ txtByte(1).Text))
sMessage.Data(2) = CByte(Val("&H"
+ txtByte(2).Text))
sMessage.Data(3) = CByte(Val("&H"
+ txtByte(3).Text))
sMessage.Data(4) = CByte(Val("&H"
+ txtByte(4).Text))
sMessage.Data(5) = CByte(Val("&H"
+ txtByte(5).Text))
sMessage.Data(6) = CByte(Val("&H"
+ txtByte(6).Text))
sMessage.Data(7) = CByte(Val("&H"
+ txtByte(7).Text))
sMessage.NumberBytesData = CByte(cboNumberOfBytes.ListIndex)
sMessage.NetworkID = CByte(NetworkIDConvert(cboNetwork.ListIndex))
'//set the message
iResult = icsneoScriptWriteTxMessage(m_hObject,
CLng(cboMsgToSet.ListIndex),
sMessage)
'//Check the Results
If iResult = 0
Then
lstMessages.AddItem("Problem!")
Else
lstMessages.AddItem("Set!")
End
If
C/C++ Example:
C# Example:
Int32 iResult;
icsSpyMessage sMessage= new
icsSpyMessage();
sMessage.ArbIDOrHeader = ConvertFromHex(txtArbID.Text);
sMessage.Data1 = Convert.ToByte(ConvertFromHex(txtDataByte1.Text));
sMessage.Data2 = Convert.ToByte(ConvertFromHex(txtDataByte2.Text));
sMessage.Data3 = Convert.ToByte(ConvertFromHex(txtDataByte3.Text));
sMessage.Data4 = Convert.ToByte(ConvertFromHex(txtDataByte4.Text));
sMessage.Data5 = Convert.ToByte(ConvertFromHex(txtDataByte5.Text));
sMessage.Data6 = Convert.ToByte(ConvertFromHex(txtDataByte6.Text));
sMessage.Data7 = Convert.ToByte(ConvertFromHex(txtDataByte7.Text));
sMessage.Data8 = Convert.ToByte(ConvertFromHex(txtDataByte8.Text));
sMessage.NumberBytesData = Convert.ToByte(lstNumberOfBytes.SelectedIndex);
sMessage.NetworkID = Convert.ToByte(NetworkIDConvert[lstNetwork.SelectedIndex]);
//set the message
iResult = icsNeoDll.icsneoScriptWriteTxMessage(m_hObject,
Convert.ToUInt32(cboMsgToSet.SelectedIndex),ref
sMessage);
//Check the Results
if (iResult==0)
{
lstMessages.Items.Add("Problem!");
}
else
{
lstMessages.Items.Add("Set!");
}
Dim
iResult As Int32| intrepidcs API Documentation - (C) Copyright 2000-2012 Intrepid Control Systems, Inc. (www.intrepidcs.com) |
Last Updated : Tuesday, December 30, 2008