VSpy 3 Documentation
All DocsProductsLearning CenterSupport
3.9.14
3.9.14
  • 🚗Welcome to the Vehicle Spy Help Documentation
  • Vehicle Spy Introduction
    • Vehicle Spy Overview
      • Vehicle Spy Tour
        • Vehicle Spy Tour 1: Bus Monitor
        • Vehicle Spy Tour 2: Signal Monitoring and Recording
        • Vehicle Spy Tour 3: Flight Recording
        • Vehicle Spy Tour 4: Node/Vehicle Simulation
        • Vehicle Spy Tour 5: Test Automation
        • Vehicle Spy Tour: Summary
    • Other Vehicle Spy Users
    • Vehicle Spy Specifications
    • Vehicle Spy Required Hardware PC System Requirements
    • Vehicle Spy Website
  • Vehicle Spy Tutorials
    • Vehicle Spy Tutorial Files
    • Getting Comfortable with the User Interface
    • Tabs in the User Interface
    • Tutorial 1: Basics of Vehicle Spy
      • Part 1 - Logon Screen
      • Part 2 - Monitor Message Traffic
      • Part 3 - Examine Messages
      • Part 4 - Your Message Specification in Action
      • Part 5 - Filtering Messages
      • Part 6 - More Ways to Filter in Vehicle Spy
      • Part 7 - Message Timestamps and Pausing
      • Part 8 - Save Your Messages View Buffer
      • Part 9 - Clear the Messages View Buffer
      • Part 10 - Exercises
    • Tutorial: Transmit Messages with Vehicle Spy
      • Part 1 - Load the Setup File
      • Part 2 - Enter a Transmit Message
      • Part 3 - Utilize the Alternate Workspace Panels
      • Part 4 - Manually Transmit a Message
      • Part 5 - Periodically Transmit a Message
      • Part 6 - Automatically Respond to a Message
      • Part 7 - Exercises
    • Tutorial: Decode Signals from Messages
      • Part 1 - Load a Setup File
      • Part 2 - Enter a Message
      • Part 3 - Enter an Equation for an Analog Value
      • Part 4 - View Message Data
      • Part 5 - View Message Data with the Signal List and Signal Plot
      • Part 6 - An Introduction to Signal Plot Features
      • Part 7 - Exercises
    • Tutorial: Database Setup
      • Part 1 - Platform Overview
      • Part 2 - Create a Platform
      • Part 3 - Adding Database Files
      • Part 4 - ECU Setup Wizard
      • Part 5 - Diagnostic Decoding
      • Part 6 - Conclusion
    • Tutorial: Basics of Capture Function Block and Graphical Panels
      • Part 1 - Setup the Simulation
      • Part 2 - Setup the Capture Function Blocks
      • Part 3 - Setup the Graphical Panel
      • Part 4 - Conclusion
    • Tutorial: Basics of Scripting and Playback
      • Part 1 - Setup Application Signals
      • Part 2 - Setup the Graphical Panel
      • Part 3 - Setup The Playback Function Block
      • Part 4 - Setup the Script Function Block
      • Part 5 - Summary
    • Tutorial: Request and Save DTC Data
      • Part 1 - Create a Diagnostic Job
      • Part 2 - Create Function Block to Request and Save Data
      • Part 3 - Make a Graphical Panel
      • Part 4 - Request, Save, and View the DTCs
      • Part 5 - Conclusion
    • Tutorial: DPS Programming Automation
      • Part 1 - Create DPS Programming Job
      • Part 2 - Create Function Block to Launch Programming Services
      • Part 3 - Make a Graphical Panel
      • Part 4 - Use the DPS Programming Graphical Panel
      • Part 5 - DPS Programming Automation Conclusion
    • Tutorial: Getting Fancy with Diagnostics
      • Part 1 - Read Data By Identifier Setup
      • Part 2 - Write Data by Identifier Setup
      • Part 3 - Writing the Read DID
      • Part 4 - Request Identifiers using Dynamically Define Data Identifier
      • Part 5 - Request the Dynamic Identifier
      • Part 6 - Conclusion
    • Tutorial: Sort Messages by ECU
      • Part 1 - Start a New Vehicle Spy Application
      • Part 2 - Enter ECU Source IDs to Sort
      • Part 3 - Setup Capture Type Function Blocks
      • Part 4 - Sort the ECU Messages
      • Part 5 - Setup Application Signals
      • Part 6 - Setup Playback Type Function Blocks
      • Part 7 - Setup Script Type Function Blocks
      • Part 8 - Construct a User Dialog
      • Part 9 - Run the Setup
    • Tutorial: Configuring and Using CoreMini
      • Part 1 - Creating a Tx Message
      • Part 2 - Logging Data
      • Part 3 - Loading the Script to the Hardware
      • Part 4 - How to Run the Script
      • Part 5 - Extracting Data
      • Part 6 - Viewing the Data
      • Part 7 - Conclusion
    • Tutorial: Simple Standalone Logging
      • Part 1 - Getting Started
      • Part 2 - Database/Hardware Setup
      • Part 3 - Channels
      • Part 4 - Checking Channel Selection
      • Part 5 - Standalone Logging
      • Part 6 - CoreMini Console
      • Part 7 - Extract Data
      • Part 8 - Conclusion
    • Tutorial: Standalone Video Logging
      • Tutorial: Standalone Video Logging - Part 1 - Setting up the Axis Camera
      • Tutorial: Standalone Video Logging - Part 2 - Setting Up Vehiclescape DAQ
      • Tutorial: Standalone Video Logging - Part 3 - Extracting the Video
    • Tutorial: C Code Interface
      • Part 1 - Create a Project
      • Part 2 - Adding Events
      • Part 3 - Running the Example
      • Part 4 - Debugging
      • Part 5 - Conclusion
    • Tutorial: How to run multiple devices in one VS3 file
      • Part 1 - Enabling Multiple Devices
      • Part 2 - Adding Devices
      • Part 3 - Assigning Devices
      • Part 4 - Syncing Time Across Multiple Devices
  • Tutorial Summary
  • Basic Operation of Vehicle Spy
    • The Logon Screen
    • Menus & Buttons
    • Running and Stopping
    • Data Directory
    • Create, Open, & Save Vehicle Spy Setups
    • Alternate Workspaces
    • Using Window Docking
  • Vehicle Spy Main Menus
    • Main Menu: File
      • The Logon Screen
      • Create, Open, & Save Vehicle Spy Setups
      • Import Function Blocks and Graphical Panels
      • Data Directory
      • Review Buffer
    • Main Menu: Setup
      • Setup a Network
      • Setup Platforms
      • Network Databases
      • ECUs View
        • Edit ECU Diagnostic Database
        • ECU Diagnostic Services Tab
      • Data Cache Disk Streaming
    • Main Menu: Spy Networks
      • Snapshot
      • Messages View
        • Messages View Filter Bar
          • Messages View Custom Filters
        • Messages View Top Toolbar
          • Message Details Pane
          • Reverse Engineering
          • Messages View Timestamping
          • Pause Messages View
          • Save the Buffer
          • Clear the Buffer
        • Messages View Column Headers
        • Messages View Column Filters
        • Messages View Buffer Display
          • Displaying Signals in Messages View
          • Buffer Progress Display
          • Messages View Task Menus
        • Messages View Bottom Toolbar
          • Color Filters
          • Messages View Data Byte Format
          • Messages View Setup
      • Message Editor
        • Messages Editor: Overview
        • Messages Editor: Receive, Transmit, & Database Tables
        • Add and Delete Messages
        • Messages Editor: Cut, Copy, and Paste
        • Messages Editor: Sort and Arrange
        • Messages Editor: Pick a Network
        • Messages Editor: Right Click Menu
        • Message PT, Trgt, and Src
        • Messages Editor: Message Fields
          • Message Key
          • Message Description
          • Message Type
          • Message Arbitration ID
          • Multiframe Message
            • Receive ISO15765-2 Multiframe Message
            • Transmit ISO15765-2 Multiframe Message
          • Message Length
          • Message Data Bytes
            • Transmit Long Messages
          • Message Source Node
          • Receive Message "Tx Msg" Field
          • Message Color
        • Message Signals
          • Live Edit
          • Message Signal Type
          • Message Signal Type Analog
          • Message Signal Type Digital
          • Message Signal Type State Encoded
          • Message Signal Type Text
          • Message Signal Type DTC
          • Understanding Bit and Byte : Bit Positions
          • Message Signal Format and Units
      • Transmit Panel
        • Ways to Transmit Messages
          • Auto Tx and Transmit Rate
        • Add and Delete Transmit Messages
        • Transmit Panel Filter Bar
        • Dynamic Transmit Message Bytes
      • Networks
        • Setup a Network
        • Network Statistics
        • Moving Messages Between Networks
      • TCP/IP
      • FlexRay Controllers
        • FlexRay Controllers: State/Action Tab
        • FlexRay Controllers: Configuration Tab
        • FlexRay Controllers: Registers Tab
      • FlexRay Cycles
      • Diagnostics
        • Diagnostics View
        • Diagnostics Setup
      • Diagnostics over IP (DoIP)
      • Simulator
      • ECUs View
        • GMLAN ECUs
        • ISO 14229 ECUs
        • Keyword 2000 ECUs
    • Main Menu: Measurement
      • VehicleScape DAQ
        • VehicleScape DAQ: Database/Hardware Setup Tab
        • VehicleScape DAQ: Channels Tab
        • VehicleScape DAQ: PC Logging Tab
        • VehicleScape DAQ: Standalone Logging Tab
          • Standalone Logging: Collections and Methods
            • Collections and Methods: Message Capture Method
              • Message Capture Method: Message Collection Options
              • Message Capture Method: Start Options
            • Message Capture Method: Stop Options
              • Message Capture Method: Stop Options: Finish After Collecting Messages or When Expression is True
              • Message Capture Method: Stop Options: Pre/Post Collection
              • Message Capture Method: Stop Options: One Shot Report
            • Message Capture Method: Restart Options
            • Message Capture Method: Upload to Wireless neoVI
            • Collections and Methods: Bus Query Method
            • Collections and Methods: Histogram Method
            • Collections and Methods: Ethernet DAQ Method
          • Standalone Logging: Status Reporting
          • Standalone Logging: Power Management
          • Standalone Logging: Generation Options
        • VehicleScape DAQ: Gateway
        • VehicleScape DAQ: Online Tab
      • Signal Views
        • Signal Plot
        • Signal List
      • Graphical Panels
        • Graphical Panels: Tools
          • Graphical Panel Controls: Common Control Properties
          • Graphical Panel Controls: LED
          • Graphical Panel Controls: Text Display
          • Graphical Panel Controls: Meter
          • Graphical Panel Controls: Function Block Button
          • Graphical Panel Controls: Tx Button
          • Graphical Panel Controls: On/Off Button
          • Graphical Panel Controls: Action Button
          • Graphical Panel Controls: Diag Job Action Button
          • Graphical Panel Controls: Bargraph
          • Graphical Panel Controls: Knob
          • Graphical Panel Controls: Grid
          • Graphical Panel Controls: Numeric Entry
          • Graphical Panel Controls: Graph
          • Graphical Panel Controls: Text Entry
          • Graphical Panel Controls: Graphical Display
          • Graphical Panel Controls: Drop Down List
          • Graphical Panel Controls: Message History
          • Graphical Panel Controls: Flash Control
          • Graphical Panel Controls: Radio Button
          • Graphical Panel Controls: Bitmap Button
          • Graphical Panel Controls: Panel Button
          • Graphical Panel Controls: Hex Edit
        • Graphical Panels: Add or Delete a Tool
        • Graphical Panels: Tool Properties
        • Graphical Panels: Move a Tool
        • Graphical Panels: Resize a Tool
        • Graphical Panels: Format (Align or Resize) a Tool Group
        • Graphical Panels: Add or Delete Panels
        • Graphical Panels: Select and Work With Panels
        • Graphical Panels: Panel Properties
        • Graphical Panels: Lock Panels
        • Floating Panels
      • Logging
      • MEP (XCP/CCP) - Memory Edit Protocol
        • MEP Setup
          • MEP Setup - Properties
          • MEP Setup - Import / Export
          • MEP Setup - DAQ Tables
          • MEP Setup - Security
          • MEP Setup - Memory / Hex / S19
        • MEP Value Editor
        • MEP Curve Editor
        • MEP Map Editor
        • Data Acquisition with CCP/XCP
      • Data Analysis
        • Data Analysis: Main Menus and Toolbar
        • Data Analysis: Zoom Toolbar
        • Data Analysis: X-Axis Input Toolbar and Dialog
        • Data Analysis: Plotter Setup Toolbar
      • Data Analysis: Tool Dialog
        • Data Analysis: Calculated Channels
      • Data Analysis: Plotter Area
        • Data Analysis: Plotter Options
        • Data Analysis: Advanced Plotting Methods
      • Data Analysis: Channel Value Pane
      • Data Analysis: Output Bar
      • GPS Maps
      • Video
    • Main Menu: Embedded Tools
      • ECU Flashing Documentation
        • 1. Introduction
        • 2. CAL Files and DIDs (Parameters)
        • 3. ISO 14229 Security (example)
        • 4. Requirements
        • 5. ECU Flash Designer View
        • 6. ECU Flash Manager View
        • 7. Remote Vehicle ECU Flashing
        • 8. Additional Features: ECU Flashing - EXE
      • DPS Archive Viewer
      • CAN Terminal
      • Intrepid ECU Flasher: Definitions
      • J1939 Address Manager
      • J1939 DTC Monitor
      • BitSmash
    • Main Menu: GMLAN
      • Virtual Networks
      • GM CGI Bus
    • Main Menu: Scripting and Automation
      • Function Blocks
        • Function Blocks Toolbar
        • Function Block List
        • Function Block Start Tab
        • Function Blocks Types
          • Script Type Function Block
          • Script Type Function Block: Script Toolbar
          • Script Type Function Block: Commands
            • Script Type Function Block Command: Clear History
            • Script Type Function Block Command: Clear Stats
            • Script Type Function Block Command: Comment
            • Script Type Function Block Command: CoreMini Action
            • Script Type Function Block Command: DAQ Action
            • Script Type Function Block Command: Diag Job Action
            • Script Type Function Block Command: Function Block Action
            • Script Type Function Block Commands: If, Else, Else If, End If
            • Script Type Function Block Command: Jump If
            • Script Type Function Block Command: Jump To
            • Script Type Function Block Command: Load Message Data
            • Script Type Function Block Command: Log Data
            • Script Type Function Block Commands: Start Loop and End Loop
            • Script Type Function Block Command: Pause
            • Script Type Function Block Command: Read Data
            • Script Type Function Block Command: Set Value
            • Script Type Function Block Command: Set Value If
            • Script Type Function Block Command: Show Panel
            • Script Type Function Block Command: Sleep
            • Script Type Function Block Command: Stop
            • Script Type Function Block Command: Test DTC
            • Script Type Function Block Command: Text API
            • Script Type Function Block Command: Transmit
            • Script Type Function Block Command: Wait For
            • Script Type Function Block Command: Wait Until
          • Script Type Function Block: Resetting the Present Flag
          • Script Type Function Block: Debugging Tools
          • Capture Type Function Block
            • Capture Type Function Block: Filter Tab
            • Capture Type Function Block: Stop and Trigger Tab
            • Capture Type Function Block: Storage Tab
            • Capture Type Function Block: Data Tab
          • Playback Type Function Block
          • Function Blocks Hotkeys
      • C Code Interface
        • Working with the C Code Interface
        • C Code Interface: Functions and Events
          • Functions and Events: Message Objects
          • Functions and Events: Application Signals
          • Functions and Events: Timers
          • Functions and Events: Common Functions and Events
          • Functions and Events: Graphical Panels
          • Functions and Events: Diagnostic Jobs
          • Functions and Events: Function Blocks
          • Functions and Events: Text API
          • Functions and Events: Network Indexes and Statistics
        • C Code Interface: Object Names, Debugging, and Common Mistakes
        • C Code Interface: Advanced Topics
        • C Code Interface: CAPL Conversion
      • Application Signals
        • Application Signals: Save and Restore
      • Text API Terminal
    • Main Menu: Run
    • Main Menu: Tools
      • Utilities: CoreMini Console
        • Utilities: CoreMini Control
        • Utilities: CoreMini Partitions
        • Utilities: CoreMini Advanced Settings
      • Utilities: Extract / Export
        • Utilities: Extract from SD Card
        • Utilities: Export VSB to Other Formats
        • Utilities: Export VSB Convert VSB (with VSDB) to Other Formats V using Command Prompt in Windows
        • Utilities: Export VSB to CSV format using DataExtract.exe
      • Tools: Problem Log
      • Utilities: File Conversions
        • VSB Editor
      • Tools: Utilities
        • Utilities: VS3EXE Generator
        • Utilities: Hardware Acceleration
        • Tools: Performance
        • Tools: Language
      • PLASMA / ION Setup
      • Tools: Options
        • Options: Spy Networks Tab
          • Spy Networks Tab: J1850 VPW Mode
        • Options: Performance Settings
        • Options: Multimedia
          • Multimedia: Joystick Setup
        • Options: Text API Options
        • Options: License System
          • License Upgrade Eligibility
        • Options: GPS Setup
        • Options: Data Directories
        • Options: Regional Settings
    • Main Menu: Help
      • Contact Information - Intrepid Control Systems, Inc.
      • Vehicle Spy Website
  • Shared Features in Vehicle Spy
    • Shared Features: Calculated Signal Editor
      • Shared Features: Calculated Analog or Digital Signals
      • Shared Features: Calculated Text Signals
    • Shared Features: DTC Database
    • Shared Features: Expression Builder
    • Shared Features: Predefined Function Keys
    • Shared Features: Starting with a Selected View
    • Shared Features: Widgets
  • Vehicle Network Interface Hardware
    • Vehicle Network Interface Hardware: neoVI FIRE
      • General Purpose IO
    • Vehicle Network Interface Hardware: neoVI RED
    • Vehicle Network Interface Hardware: neoVI Blue
      • General Purpose IO
    • Vehicle Network Interface Hardware: ValueCAN
      • Vehicle Network Interface Hardware: ValueCAN 4-2
      • Vehicle Network Interface Hardware: ValueCAN 4-4
      • Vehicle Network Interface Hardware: ValueCAN 4-2EL
      • Vehicle Network Interface Hardware: ValueCAN 4 Industrial
    • Vehicle Network Interface Hardware: RAD-wBMS
    • Vehicle Network Interface Hardware: RAD-A2B
    • Vehicle Network Interface Hardware: RAD-Gigastar
    • Vehicle Network Interface Hardware: RAD-Galaxy
    • Vehicle Network Interface Hardware: ValueLOG
    • Getting Started with neoECU
      • neoECU Requirements
      • neoECU 10
        • neoECU 10: IO Map
        • neoECU 10: Loading Scripts Over CAN
        • neoECU 10: Power Up and Buttons
        • neoECU 10: Examples
      • neoECU 12
      • neoECU 20
        • neoECU 20: Configuration
        • neoECU 20: IO Map
        • neoECU 20: Loading Scripts Over USB
        • neoECU 20: Examples
      • neoECU 22
      • neoECU Firmware Updates
      • neoECU Sleep Mode
    • Vehicle Spy Text API
      • Vehicle Spy Text API: ECU Object
      • Vehicle Spy Text API: Labview Interface
    • Vehicle Spy VSB file Spec
  • Application Notes
    • Application Note: CoreMini Partition Logging
      • Logging - Part 1: General Setup
      • Logging - Part 2: Function Block Setup
      • Logging - Part 3: Sending the Script to the Hardware
      • Logging - Part 4: Conclusion
    • Application Note: VehicleScape Standalone Logging
      • Application Note: VehicleScape Standalone Logging - Part 1: Message Collection Options
      • Application Note: VehicleScape Standalone Logging - Part 2: Collection and Restart Options
      • Application Note: VehicleScape Standalone Logging - Part 3: Reporting Options, Power Management and
      • Application Note: VehicleScape Standalone Logging - Part 4: neoVI MOTE Setup
    • Application Note: XCP Driver Example
      • Application Note: XCP Driver Example - Part 1: Process Overview
      • Application Note: XCP Driver Example - Part 2: Example XCP Driver
      • Application Note: XCP Driver Example - Part 3: ECU Simulation and Porting XCP Driver
    • Application Note: neoVI Logging neoECU DAQ
      • Application Note: neoVI Logging neoECU DAQ - Part 1: neoECU Setup
      • Application Note: neoVI Logging neoECU DAQ - Part 2: VehicleScape DAQ
      • Application Note: neoVI Logging neoECU DAQ - Part 3: Review Data
    • Application Note: Using the neoVI MOTE
      • Application Note: Using the neoVI MOTE - Part 1: Messages
      • Application Note: Using the neoVI MOTE - Part 2: Display on Screen
      • Application Note: Using the neoVI MOTE - Part 3: Using the Speaker
      • Application Note: Using the neoVI MOTE - Part 4: Home Screen and Conclusion
    • Application Note: Gateway Builder Tutorial
      • Tutorial - Gateway Builder - Part 1 - Intro
      • Tutorial - Gateway Builder - Part 2 - Gateway Builder Overview
      • Tutorial - Gateway Builder - Part 3 - Add Messages to Gateway Builder
      • Tutorial - Gateway Builder - Part 4 - Gateway Input Actions
      • Tutorial - Gateway Builder - Part 5 - Output Messages, Signals, and Triggers
    • Application Note: Dynamically Manipulating Application Signal Arrays
      • Application Note: Dynamically Manipulating Application Signal Arrays
      • Application Note: Dynamically Manipulating Application Signal Arrays
      • Application Note: Dynamically Manipulating Application Signal Arrays
      • Application Note: Dynamically Manipulating Application Signal Arrays
    • PHY Dashboard
    • Sample Replay Files
  • 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 © 2024 | All Rights Reserved

On this page
  • Objective
  • Tips for Learning
  • Summary of Rules
  • The following rules are not yet supported
  • Command and Queries
  • Examples:
  • neoVI PRO Text API
  • Using the Text API
  • Root Objects
  • Analog Output Objects
  • Collection Objects
  • Function Block Objects
  • J1939 Objects
  • Message Objects
  • Signal Objects
  • ASCII Chart
Edit on GitHub
  1. Vehicle Network Interface Hardware

Vehicle Spy Text API

Objective

The purpose of the Text API is to provide a simple text based command set for Vehicle Spy 3 to allow third party applications to take advantage of the power of Vehicle Spy without rewriting much code. The Text API command set is text based so it can be easily used over many interfaces such as RS232, USB, Ethernet, or Wireless. It is also independent of the operating system or development environment of the host. The command set is similar to what may be found in a programmable instrument consisting of commands and responses. You can easily write an object or function wrapper around the Text API. This will allow a more convenient use in professional languages such as C#, Visual Basic, LabVIEW, or C/C++. The Text API could also exist as a simple macro language itself.

Tips for Learning

The best way to learn the Text API is to experiment. The Text API terminal in Vehicle Spy 3 is a great tool for this purpose. Also, because most of the commands are based on the XML tags, you can just open the vs3 file in a text editor to see what properties can be manipulated via this extremely flexible API.

Summary of Rules

  • All commands start with the default root object.

  • Commands are separated by a <CR>,<LF> or <CR><LF> combination.

  • Commands are case insensitive. Arguments can be case sensitive if they are text based such as Description properties.

  • All objects and properties have the same text as their XML element names. Properties can be changed by calling out the property and supplying an argument. Property values can be returned by using a question mark ? to query the property.

The following rules are not yet supported

  • There is special encoding to support non ASCII, extended characters, the % escape character, and the ; comment character. Where % will be followed with the Text number in four digit hex form. For example, %000D would equal CR, %000A would be <LF>. The four digit Text allows Unicode support for text arguments such as descriptions.

  • The comment character is the semicolon. After the semicolon all characters are ignored until the next command.

  • The Text API is available as UNICODE via the Vehicle Spy 3 DLL.

Command and Queries

The basic communication consists of commands and queries. Commands set a property or execute a method. Queries request a property. Commands and Queries will return one of two of possible responses: ok or er. "ok" means that the command completed successfully. "er" means there was a problem with the command. The ok will have text following the command that indicates what command completed and any return values. Events can be either asked for with a method or can appear asynchronously in the receive stream. You also must specify, or "register", which events you wish to receive.

Table 1: Syntax of Commands, Queries, and Events

Type
Syntax of Command
Syntax of Successful Response

Command

methodname {arguments}

ok methodname

Queries

methodname?

ok methodname {propertyvalue}

Examples:

A successful start command Host: Start Vehicle Spy 3:ok start A unsuccessful root command Host: Startasdf Vehicle Spy 3: er command not found:startasdf A successful query Host: AutoDetectHardware? Vehicle Spy 3: ok autodetecthardware 1 example: LoadFile Method This command starts with root object and ends with a carriage return. Host: loadfile text.vs3<CR> Vehicle Spy 3: ok loadfile

neoVI PRO Text API

The neoVI PRO supports two APIs, first is the Text API and the second is the neoVI RAW API. The Text API is the default API on the USB, COM, and Ethernet (via TCP) ports; therefore, all of the Text API commands here work with the Vehicle Spy 3 code running in the neoVI PRO.

Using the Text API

The following table indicates how you can interact with the Text API.

Application
Source
Comment

Vehicle Spy 3

Text API Terminal

Allows you to manually type in Text API commands and see their responses.

Vehicle Spy 3

Function Blocks

Allows you to send and receive Text API commands.

Vehicle Spy 3

Via COM or TCP port

Vehicle Spy 3 can act as a COM or TCP server. Setup via Tools/Options.

neoVI PRO

neoVI PRO setup

The neoVI PRO setup allows you to send commands to neoVI PRO on the control panel.

neoVI PRO

via USB, COM and TCP ports

DLL

The TextAPI method of the icsneo40.dll

Not yet supported.

Root Objects

Command Name
Description
Example

Root Objects for Application Signals

all?

returns all application signals that are not remote signals in a key=value comma separated string. This is used to efficiently read all app signals over a slower network.

all?

allsetup?

returns all application signals that are not remote signals in a key=description comma separated string. This is used to efficiently read all app signals descriptions over a slower network.

apprestore

Restores application signals from disk.

appsave

Saves application signals to disk. Application Signals must be enabled for saving. Signals are saved in a file in the same path as the vs3 file. {vs3 file name}.appini

as

as(index or key)

Root Objects for Diagnostic Jobs

dg

Accesses a specific diagnostic jobs by an index or a key.

dg(0).start ; starts a diag job.

Root Objects for Files and Paths

copyfile

Copies a file in the data directory to another in the data directory. Source and target are separated by a comma. Make sure the file is accessible and not in use.

copyfile MyTestfile.vs3,CopyOfMyTest.vs3

deletefile

Removes a file in the data directory. Make sure the file is accessible and not in use.

deletefile FileToDelete.vs3

dir

Returns the files in the root of the compact flash card or the Vehicle Spy data directory. A filter spec determines which files to return.

dir? \*.\*

diskspace

returns the amount of diskspace both available and total in kilobytes.

diskspace?

filedetails

Returns information size, time/date on a file in the data directory/neoVI PRO compact flash card.

filedetails? test.vs3

loadfile

Loads a setup file from the data directory. This command should not be called from the same instance of Vehicle spy.

loadfile test.vs3

renamefile

Renames a file in the data directory. The input and output files names are separated by a comma. Make sure the file is accessible and not in use.

renamefile FileName.vs3,NewNameForFile.vs3

status

Returns the loaded file and whether the file is running.

status?

Root Objects for Function Blocks

fb

fb.count? ;asks for the number of function blocks

fb(index or key)

fb(1).start ;starts the first function block. fb(tst2).stop ;stops the function block with key tst2.

Objects for GPS or Joystick

gps

Accesses the GPS object.

gps.latitude? gps.longitude? gps.altitude? gps.speed? gps.isvalid?

JoystickEnabled

Indicates whether the joystick is enabled or not.

JoystickSelected

Indicates which joystick is used.

Root Objects for Graphical Panels or User Interface

gp(index or key)

Graphical Panel objects.

gp(index or key).all?

returns all graphical panel control values in a key=value comma separated string. This is used to efficiently read all graphical panel data over a slower network.

gp(dia1).all?

gp(index or key).allsetup?

returns the graphical panel as an XML string.

gpallsetup?

returns all graphical panels in a key=description comma separated string. This is used to efficiently read all panel descriptions over a slower network.

ui

Root Objects for Hardware

ao

Accesses a specific analog outputs by an index or a key. See the topic on transmit message objects.

ao(0).value 3.42

id

Returns the current neoVI PRO firmware ID.

id? ;get the neoVI PRO ID.

io0isoutput or io1isoutput

Returns/Sets whether MISC1 pin is an output or input.

io0isoutput 1 ;make MISC1 and output

io0value

Returns/Sets the value of the MISC 1 pin on neoVI PRO on the DB15 connector.

io0value?

io1value

Returns/Sets the value of the MISC 2 pin on neoVI PRO on the DB15 connector.

io1value 1

ixcbusenabled

Returns/Sets whether the ixcbus is enabled.

ixcbusnetwork

Returns/Sets the network where the IXCBus protocol is used.

Root Objects for J1939

j1939dm1srcall

Returns a comma separated list of SRC addresses that have active DTC's

j1939dm1srcall?

J1939dm1src(address)

j1939dm1src(0)?

Root Objects for Messages

db

db(index or key)

db(0).description? ; retrieve the name

mg

mg(index or key)

mg(0).clearstats ;clears the stats of first msg

tx

tx.additem ;adds a message at the end of the collection

tx(index or key)

Accesses a specific transmit message by an index or a key. See the topic on transmit message objects.

tx(1).Arbid 234 ;sets the arb id in hex

Root Objects for Simulation

ecu

SimulationEnabled

Sets/Returns whether simulation is used or you are connecting to hardware.

SimulationPath

Sets/Returns the path of the file used for simulation mode.

Root Objects for Vehicle Spy

AutoDetectHardware

Sets whether Vehicle Spy will detect hardware or not.

AutoDetectHardware 1 ;sets hardware to autodetect. AutoDetectHardware? ;asks for the autodetect setting.

isrunning

Returns whether if Vehicle Spy is running or not.

isrunning?

Start

Starts Vehicle Spy.

Stop

Stops Vehicle Spy.

timedate

Returns/Sets the time date of the clock.

timedate?

Analog Output Objects

Command Name
Description
Example

calculatefromsignal

Returns/Sets whether analog outputs are automatically calculated using busdecoder mode or can be set via the Text API. The power default is automatically calculated.

ao(0).calculatefromsignal 0 ; allow manual control

EnableCalibratedValues

Returns/Sets whether analog outputs are scaled according to the calibration scaling. Disable this feature to perform calibration.

ao(0).EnableCalibratedValues 0 ; disable for calibration

messagekey

Returns/Sets the key of the message attached to this analog output.

signalkey

Returns/Sets the key of the signal attached to this analog output. This is used in conjunction with signal key.

value

Returns/Sets the value of the output. This is only valid if calculatefromsignal is false.

ao(0).value 3.21 ; sets output to 3.21V

Collection Objects

Command Name
Description
Example

Additem

Adds an item to the end of the collection.

fb.additem ;adds an item to the end of the collection.

Count

Indicates how many items in the collection. Read only.

tx.count? ;how many tx messages are defined?

DeleteAllObjects

Removes all items from the collection.

as.deleteallobjects ;remove all of the app signals.

KeyExists

Determines if the specified key exists in the collection.

tx.keyexists out0 ;does this key exist in the collection?

ReturnIndexFromKey

Finds the key in the collection and returns the index. If the key is not found it returns -1.

tx.returnindexfromkey out0

Function Block Objects

Command Name
Description
Example

save

Saves the function block data.

start

Starts the function block.

fb(0).start ;starts the first function block.

stop

Stops the function block.

trigger

Triggers the function block.

J1939 Objects

Command Name
Description
Example

dtc(code).spn

Returns the SPN number for requested DTC (specified by code)

j1939dm1src(0).dtc(0).spn?

dtc(code).FMI

Returns the FMI number for requested DTC (specified by code)

j1939dm1src(0).dtc(0).fmi?

dtc(code).oc

Returns the OC number for requested DTC (specified by code)

j1939dm1src(0).dtc(0).co?

Message Objects

Command Name
Description
Example

ByteStringX

Sets the filter bytes for a network in hex.

mg(0).ByteString0 110

CFTimeOutsMs

Specifies the Consecutive Frame timeout in milliseconds.

ClearStats

Clears all statistical information associated with the message. Does not clear signal stats.

mg(0).ClearStats

Compile

Compiles filter bytes and equations and then makes changes activate.

Description {Text Description}

Sets the description for a message.

Set the description for message number 4 as Engine Data: mg(3).description Engine Data

DisplayColor

Sets/Returns the color the message is displayed with.

mg(0).DisplayColor 0 ;display black

EnableISO15765

This enables long messaging on CAN based off of ISO15765.

EnRxEvent {Return Msg, Return Value, Return Stats}

sg(in3433).EnRxEvent

ExpectedLength

Sets the expected length of a specific message.

FlowCArbID

Sets/Returns CAN id used for the flow control frame in iso15765 messaging.

FlowCBlockSize

Sets/Returns the block sized used in long can messaging.

FlowCSTmin

Sets/Returns the flow control STMin.

refresh

Updates message table. This is useful when making changes to messages via text API

mg.refresh

sg

sg(index or key)

sg(0).value? ;Asks for the Value of the first signal

Signal Objects

Command Name
Description
Example

value

Sets/Gets the value.

Description {Text Description}

Sets the description for a signal.

Set the description for signal number 4 as throttle position: mg(0).sig(3).description Throttle Position

DisplayColor

Sets/Returns the color the message is displayed.

mg(0).DisplayColor 0 ;display black

Equation

Gets/Sets the equation.

Format

Get/Sets the equation format.

refresh

Updates signal information. This is useful when making changes to signals via text API.

ASCII Chart

    0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
0  NUL SOH STX ETX EOT ENQ ACK BEL BS  HT  LF  VT  FF  CR  SO  SI
1  DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM  SUB ESC FS  GS  RS  US
2   SP  !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /
3   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?
4   @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O
5   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _
6   `   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o
7   p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~ DEL
PreviousneoECU Sleep ModeNextVehicle Spy Text API: ECU Object

Accesses the collection of Application Signals. See the topic on .

Accesses a specific application signal by an index or a key. Set the topic on objects.

Accesses the collection of Function Blocks. See the topic on .

Accesses a specific function block by an index or a key. Set the topic on objects.

Controls the user interface of neoVI PRO. Described in a .

; also returns list of DTCs for specified address

Accesses the collection of database messages. See the topic on .

Accesses a specific by an index or a key. See the topic on message objects.

Accesses the collection of Messages. See the topic on .

Accesses a specific by an index or a key. See the topic on message objects.

Accesses the collection of Transmit Messages. See the topic on .

Accesses the ecu subobject. This is discussed in a .

Accesses the collection of Signals. See the topic on .

Accesses a specific by an index or a key. See the topic on message objects.

separate topic
separate topic
Collection Objects
Signal
Collection Objects
function block
J1939 Object
Collection Objects
message object
Collection Objects
message object
Collection Objects
collection objects
Signal object