> For the complete documentation index, see [llms.txt](https://docs.intrepidcs.com/vspy-3-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intrepidcs.com/vspy-3-documentation/3.9.15/vehicle-spy-tutorials/tutorial-dps-programming-automation/part-1-create-dps-programming-job.md).

# Part 1 - Create DPS Programming Job

### 1. Logon to Vehicle Spy:

After Vehicle Spy is opened and a logon name is selected, use the main menu bar to select **File> New**.

### 2. Create a DPS Diagnostic Job:

Open the Setup Diagnostics window by using the main menu bar to select **Spy Networks> Diagnostics**. Use the **+ button** to add a **GMLAN > DPS Programming** job.

### 3. Edit Description and Basic Settings:

The first thing to change is the **Job Description**. In this tutorial, more than one DPS programming service will be setup. If the default descriptions are not changed, it will be difficult to tell them apart. Name this first DPS setup **DW CAN ECU**. Other important settings to verify in the **Setup** tab (Figure 1) are the DPS Archive File to program and the **Diagnostic Pins** to program on.

![Figure 1: The DPS Programming Basics tab.](https://2396693198-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlRJv2XDCMeZSU0VbeZlG%2Fuploads%2Fgit-blob-01ccaa3d3da272e26b23d4f4865b6247aea541ff%2Fspyexampledps1.1.gif?alt=media)

### 4. Verify the J2534 DLL Options:

The **J5234 DLL** Options tab (Figure 2) has options for configuring J2534 communication. Normally, the defaults are acceptable.

![Figure 2: The J2534 DLL options for DPS Programming.](https://2396693198-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlRJv2XDCMeZSU0VbeZlG%2Fuploads%2Fgit-blob-d743cf823180b91d582f2b1ff971ea9a78690702%2Fspyexampledps1.2.gif?alt=media)

### 5. Verify the Location of DPS.exe:

The DPS Exe field on the **Setup** tab (Figure 3) should point to the location of the DPS.exe file. If DPS is installed in a different directory than what is shown, click **Browse** and select the proper directory.

![Figure 3: Use the Setup tab to select the location of the main DPS executable file.](https://2396693198-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlRJv2XDCMeZSU0VbeZlG%2Fuploads%2Fgit-blob-787790170647f954a3f17977cf37531ef875c129%2Fexampledps1.3.gif?alt=media)

### 6. Create Another Job:

Add a second DPS Programming service for a second ECU to program naming it **SW CAN ECU**. If you are following along with the finished example, change the DPS archive file to a valid archive file for both Diagnostic Jobs.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.intrepidcs.com/vspy-3-documentation/3.9.15/vehicle-spy-tutorials/tutorial-dps-programming-automation/part-1-create-dps-programming-job.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
