neoVI API Docs
All DocsProductsLearning CenterSupport
  • The neoVI API - Create your own software applications
  • Basic Operation - neoVI API
    • Using the neoVI API in Visual Studio: 32 bit DLL and 64 bit OS - neoVI API
    • Using the intrepidcs API in Visual Basic - neoVI API
    • Using the neoVI API in Visual C++ - neoVI API
    • Using the neoVI API in C# - neoVI API
    • Using the neoVI API in Borland C++ Builder - neoVI API
    • Using the neoVI API in Delphi - neoVI API
    • Using the API in LabVIEW - neoVI API
    • Using the neoVI API in LabWindows CVI - neoVI API
    • Unity3D Graphic Display API
    • Using the neoVI API in Excel - neoVI API
  • WIN32 API Overview - neoVI API
    • Basic Functions Overview - neoVI API
      • FindDevices Method
      • OpenNeoDevice Method - neoVI API
      • ClosePort Method - neoVI API
      • FreeObject Method - neoVI API
    • Message Functions Overview - neoVI API
      • GetMessages Method - neoVI API
      • TxMessages Method - neoVI API
      • TxMessagesEx Method - neoVI API
      • WaitForRxMessagesWithTimeOut Method - neoVI API
      • GetTimeStampForMsg Method - neoVI API
      • ISO15765 Message Functions Overview - neoVI API
        • ISO15765_EnableNetworks Method - neoVI API
        • ISO15765_TransmitMessage Method - neoVI API
        • ISO15765_ReceiveMessage Method - neoVI API
      • Transmitting Long Messages - neoVI API
    • Device Settings Functions Overview - neoVI API
      • GetConfiguration Method - neoVI API
      • SendConfiguration Method - neoVI API
      • neoVI Fire - neoVI API
        • GetFireSettings Method - neoVI API
        • SetFireSettings Method - neoVI API
      • neoVI FIRE 2 - neoVI API
        • GetFIRE2Settings Method - neoVI API
        • SetFire2Settings Method - neoVI API
      • ValueCAN3 - neoVI API
        • GetVCAN3Settings Method - neoVI API
        • SetVCAN3Settings Method - neoVI API
      • ValueCAN 4-1 and 4-2 - neoVI API
        • GetVCAN412Settings Method - neoVI API
        • SetVCAN412Settings Method - neoVI API
      • ValueCAN 4-4 - neoVI API
        • GetVCAN4Settings Method - neoVI API
        • SetVCAN4Settings Method - neoVI API
      • ValueCAN RF - neoVI API
        • GetVCANRFSettings Method - neoVI API
        • SetVCANRFSettings Method - neoVI API
      • RAD Galaxy - neoVI API
        • GetRADGalaxySettings Method - neoVI API
        • SetRADGalaxySettings Method - neoVI API
      • General Device Settings - neoVI API
        • SetBitRate Method - neoVI API
        • SetFDBitRate Method - neoVI API
        • GetDeviceSettings Method - neoVI API
        • SetDeviceSettings Method - neoVI API
        • GetHWFirmwareInfo Method - neoVI API
        • GetDLLFirmwareInfo Method - neoVI API
        • ForceFirmwareUpdate Method - neoVI API
        • GetDeviceParameters Method - neoVI API
        • SetDeviceParameters Method - neoVI API
        • SetReflashDisplayCallbacks Method - neoVI API
        • ClearReflashDisplayCallbacks Method - neoVI API
        • GetRTC Method - neoVI API
        • SetRTC Method - neoVI API
    • Error Functions Overview - neoVI API
      • GetLastAPIError Method - neoVI API
      • GetErrorMessages Method - neoVI API
      • GetErrorInfo Method - neoVI API
      • Error Messages - neoVI API
    • General Utility Functions Overview - neoVI API
      • ValidateHObject Method - neoVI API
      • GetDLLVersion Method - neoVI API
      • StartSocketServer Method - neoVI API
      • StopSocketServer Method - neoVI API
      • GetPerformanceParameters Method - neoVI API
      • ReadWritePhySettings Method - neoVI API
      • EnableDOIPLine Method - neoVI API
      • GetGPTPStatus Method - neoVI API
    • Deprecated Functions Overview - neoVI API
      • OpenPortEx Method - neoVI API
        • OpenPortEx Hardware Type Information - neoVI API
      • FindAllCOMDevices Method - neoVI API
      • FindAllUSBDevices Method - neoVI API
      • FindNeoDevices Method - neoVI API
      • EnableNetworkCom Method - neoVI API
      • CoreMini Script interface Overview - neoVI API
        • ScriptStart Method - neoVI API
        • ScriptStop Method - neoVI API
        • ScriptLoad Method - neoVI API
        • ScriptClear Method - neoVI API
        • ScriptStartFBlock Method - neoVI API
        • ScriptGetFBlockStatus Method - neoVI API
        • ScriptStopFBlock Method - neoVI API
        • ScriptGetScriptStatus Method - neoVI API
        • ScriptReadAppSignal Method - neoVI API
        • ScriptWriteAppSignal Method - neoVI API
    • Structures, Types, and Defines Overview - neoVI API
      • Setting Structures Overview - neoVI API
        • SFireSettings Structure
        • SFire2Settings Structure
        • SVCAN3Settings Structure
        • SVCANRFSettings Structure
        • SVCAN412Settings Structure
        • SVCAN4Settings Structure
        • SVCAN4IndSettings Structure
        • SRADGalaxySettings Structure
        • SRADStar2Settings Structure
        • SRADPlutoSettings Structure
        • SRADSuperMoonSettings Structure
        • SRADMoon2Settings Structure
        • SDeviceSettings Structure
        • Sub Setting Structures Overview - neoVI API
          • CAN_SETTINGS Structure
          • SWCAN_SETTINGS Structure
          • CANFD_SETTINGS Structure
          • LIN_SETTINGS Structure
          • ISO9141_KEYWORD2000_SETTINGS Structure
          • ISO9141_KEYWORD2000__INIT_STEP Structure
          • ETHERNET_SETTINGS Structure
          • ETHERNET_SETTINGS2 Structure
          • OP_ETH_GENERAL_SETTINGS Structure
          • OP_ETH_SETTINGS Structure
          • SPluto_CustomParams Structure
          • UART_SETTINGS Structure
          • RAD_GPTP_SETTINGS Structure
          • LOGGER_SETTINGS Structure
          • DISK_SETTINGS Structure
          • TIMESYNC_ICSHARDWARE_SETTINGS Structure
          • RAD_REPORTING_SETTINGS Structure
          • STextAPISettings Structure
          • gPTP Structures
            • GPTPStatus Structure
            • timestamp Structure
            • priority_vector Structure
            • port_identity Structure
            • clock_quality Structure
            • system_identity Structure
        • NeoDevice Structure
        • NeoDeviceEx Structure
        • stAPIFirmwareInfo Structure
        • Message Structures - neoVI API
        • Status Bitfields - neoVI API
        • Using an array instead of a message structure - intrepidcs API
        • icsSpyTime Structure
        • stCM_ISO157652_TxMessage Structure
        • stCM_ISO157652_RxMessage Structure
        • Valid parameter names for the SetDeviceParameter and GetDeviceParameter methods
        • neoVI API Data Types
        • PhyRegPktClauseMess_t Structure
        • neoVI Network ID List
  • Development FAQ's
    • How do I detect and handle disconnects?
    • How do I set parameters on a neoVI device?
    • How do I open more than one channel on a single piece of hardware? - neoVI API
    • How do I communicate on LIN - neoVI API
    • How do I send a Extended Frame or a High Voltage Wakeup or ISO9141/KW2K Init? - neoVI API
  • Unix-like Operating Systems - Support
  • J2534 Support - neoVI API
  • Vehicle Spy Text API
    • ECU Object - Vehicle Spy Text API
    • Labview Text API Interface to Vehicle Spy 3
  • Vehicle Spy VSB file Spec
  • Contact Us
    • Contact Information - Intrepid Control Systems, Inc
Powered by GitBook
LogoLogo

Applications

  • Cybersecurity
  • Data Logging
  • Simulate ECU Functions
  • Diagnostics, Testing and Validation

Products

  • Vehicle Network Adapters
  • Data Loggers
  • Software
  • Automotive Ethernet Tools

Support

  • Support Resources
  • Contact Support
  • Class Schedule & Registration
  • Training Video Library

Company

  • About
  • News
  • Events
  • Contact Us

Copyright © 2025 | All Rights Reserved

On this page
Edit on GitHub
Export as PDF
  1. WIN32 API Overview - neoVI API
  2. Structures, Types, and Defines Overview - neoVI API
  3. Setting Structures Overview - neoVI API

stCM_ISO157652_TxMessage Structure

PreviousicsSpyTime StructureNextstCM_ISO157652_RxMessage Structure

Last updated 5 months ago

This structure is used by

typedef struct __declspec(align(2)) _stCM_ISO157652_TxMessage
{
    unsigned short vs_netid; 
    unsigned char padding; 
    unsigned char reserved2;
    unsigned int id; 
    unsigned int fc_id; 
    unsigned int fc_id_mask; 
    unsigned char stMin;
    unsigned char blockSize;
    unsigned char flowControlExtendedAddress; 
    unsigned char extendedAddress; 

    unsigned short fs_timeout; 
    unsigned short fs_wait; 
   
    unsigned char data[4*1024]; 
    unsigned int num_bytes;
    union
    { 
        struct
        {
            unsigned id_29_bit_enable:1; 
            unsigned fc_id_29_bit_enable:1; 
            unsigned ext_address_enable:1; 
            unsigned fc_ext_address_enable:1; 
            unsigned overrideSTmin:1;
            unsigned overrideBlockSize:1;
            unsigned paddingEnable:1;
            unsigned iscanFD : 1;
            unsigned isBRSEnabled : 1;        };
    unsigned short flags;
};
<StructLayout(LayoutKind.Sequential, Pack:=2)> Public Structure stCM_ISO157652_TxMessage
    Dim vs_netid As UInt16
    Dim padding As Byte
    Dim reserved2 As Byte
    Dim id As UInt32
    Dim fc_id As UInt32
    Dim fc_id_mask As UInt32
    Dim stMin As Byte
    Dim blockSize As Byte
    Dim flowControlExtendedAddress As Byte 
    Dim extendedAddress As Byte
    '//flow control timeouts
    Dim fs_timeout As UInt16
    Dim fs_wait As UInt16
    '//******************************************************************************************************************
    <VBFixedArray(4095), System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=4095)> Public data() As Byte
    '// call: stCM_ISO157652_TxMessage.data = New Byte(4096) {}
    '//******************************************************************************************************************
    Dim num_bytes As UInt32
    Dim flags As UInt16
End Structure
Enum stCM_ISO157652_TxMessage_Flags
    id_29_bit_enable = 1 
    fc_id_29_bit_enable = 2 
    ext_address_enable = 4 
    fc_ext_address_enable = 8 
    overrideSTmin = 16 
    overrideBlockSize = 32 
    paddingEnable = 64 
    iscanFD = 128 
    isBRSEnabled= 256
End Enum
[StructLayout(LayoutKind.Sequential, Pack = 2)]
public struct {
    public UInt16 vs_netid;
    public byte padding;
    public bytete reserved2;
    public id;
    public UInt32 fc_id; 
    public UInt3232
    public bytete
    public byte blockSize;
    public bytete
    public bytete
    public UInt16 fs_timeout;
    public UInt16 fs_wait; 
    //******************************************************************************************************************
    [MarshalAs(>(UnmanagedType.ByValArray,SizeConst=4095)] public byte[] data;
    // call: stCM_ISO157652_TxMessage.data = new byte(4096)
    //******************************************************************************************************************
    public num_bytes;
    public UInt16 flags;
}
public enum stCM_ISO157652_TxMessage_Flags : int
{
    id_29_bit_enable = 1,
    fc_id_29_bit_enable = 2, 
    ext_address_enable = 4, 
    fc_ext_address_enable = 8, 
    overrideSTmin = 16, 
    overrideBlockSize = 32, 
    paddingEnable = 64, 
    iscanFD = 128,
    isBRSEnabled= 256,
}

Remarks

Structure Elements

Item
Description

unsigned short vs_netID

Network ID of the message

unsigned char padding

Character used for padding to fill the rest of the last frame.

unsigned char reserved2

Reserved set to 0

unsigned int id

ArbID of the message being sent

unsigned int fc_id

ArbID of the flow control frame to look for

unsigned int fc_id_mask

Bitwise mask for the flow control arbitration ID. (1 pass 0 block)

unsigned char stMin

Separation time to wait between consecutive frames

unsigned char blockSize

Number of consecutive frames before expecting another flow control

unsigned char flowControlExtendedAddress

Byte used expected for flow control extended address when using extended addressing (different than 29bit IDs)

unsigned char extendedAddress

Byte used for extended address in transmitted message

unsigned short fs_timeout

Timeout to wait for flow control frame

unsigned short fs_wait

Timeout to wait for 7F 78 (Negative response of request received response pending

unsigned char [4096]

Data array of 4096 that contains the data to send

unsigned int num_bytes

Number of data bytes used in the data array

unsigned short flags

Bit field containing flags for transaction

id_29_bit_enable
Enable 29 Bit
address 1

fc_id_29_bit_enable

Flow control 29 bit address

2

ext_address_enable

Use extended address

4

fc_extended_address_enable

Flow Control use extended address

8

overrideSTmin

Ignore ST Min in flow control

16

overrideBlockSize

Ignore block size in flow control

32

paddingenable

Pad outgoing frames

64

iscanFD

Enables CAN FD

128

isBRSEnabled

Enables CAN FD Baud Rate Switch

256

icsneoISO15765_TransmitMessage