For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

Last updated