> For the complete documentation index, see [llms.txt](https://guide.cronuszen.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.cronuszen.com/gpcscripting/gpc-script-guide/troubleshooting/compiler-diagnostic-catalog/function-specific-warnings-gpc9xxx.md).

# Function-specific warnings (GPC9xxx)

GPC9xxx warnings are tied to specific built-in functions rather than to language constructs. Whether one appears — and on which device — depends on the target device, because the underlying concern is a property of that device's firmware.

### GPC9000 — Deprecated Data Function

```
Function '{name}' is deprecated — {reason}
```

For example: `Function 'dchar' is deprecated — Use 'dint8' instead.`

**Severity:** Warning (tagged *deprecated*)

The data-section reader functions were renamed so the name says the size of the value it reads: `dchar` is now `dint8`, `dbyte` is now `duint8`, and `dword` is now `dint16`. The old names still work but are deprecated — the message names the exact replacement; switch to it. This warning appears on the **Cronus Zen** and **Cronus Zen 32**. On the **CronusMAX Plus** and **XAim** the original names are not deprecated, so no warning is given there.

***

### GPC9001 — set\_pvar in Loop

```
'set_pvar': Using set_pvar in a loop may shorten device lifespan. You can ignore this warning if you know what you're doing.
```

**Severity:** Warning

Writing persistent variables repeatedly in a loop wears out the device's storage: persistent variables live in EEPROM-type memory with a limited number of write cycles, so a `set_pvar` that runs every iteration of `main` can shorten the device's lifespan. Guard the write with a condition so it only happens when the value actually changes. On the **Cronus Zen 32** the firmware already protects against this — it only writes when the value changed, and at most once per cycle — so this warning does not appear there. On the **Cronus Zen**, **CronusMAX Plus**, and **XAim** the firmware has no such guard, so the warning fires and the concern is real.

***

### GPC9002 — `sensitivity` Excess Arguments

```
Function 'sensitivity' no longer accepts 6 parameters. Deadzone adjustment and cutoff values are ignored. Remove the last 3 arguments.
```

**Severity:** Warning

The `sensitivity()` built-in is called with its old 6-argument form. `sensitivity()` originally took 6 parameters (including deadzone adjustment and cutoff values); current firmware only honors the first 3 — the extra 3 arguments are accepted for backward compatibility but do nothing. Remove the last 3 arguments. This warning behaves the same on all devices.


---

# 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://guide.cronuszen.com/gpcscripting/gpc-script-guide/troubleshooting/compiler-diagnostic-catalog/function-specific-warnings-gpc9xxx.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.
