# Tutorial: DPS Programming Automation

### Overview

The goal of this tutorial is to show how to use Diagnostic Jobs with Function Blocks and Graphical Panels to program ECUs using GM's DPS application. The end result will be a button on a graphical panel that will flash 2 archive files, one right after the other. This tutorial uses the same basic steps as tutorial 5, the only real difference is the diagnostic service used. A finished copy of this example can be found in the **Examples tab** of the Vehicle Spy Logon screen labeled as **DPS Automation Example**.\
\
To achieve this goal, Tutorial 6 will guide cover the steps listed below:

1. Create 2 DPS Programming jobs.
2. Create a Function Block to launch the services.
3. Make a Graphical Panel for the end user.
4. Use what was created.


---

# Agent Instructions: 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:

```
GET https://docs.intrepidcs.com/vspy-3-documentation/3.9.17/vehicle-spy-tutorials/tutorial-dps-programming-automation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
