^XS - Set Dynamic Calibration
Turns the printer's automatic between-label recalibration on or off.
^XS controls whether the printer keeps re-measuring as it prints. Each argument
switches off one part of that: the label length, the sensor thresholds, or the sensor
gain. All three are on by default, which lets a printer cope with a roll that changes as
it goes. Switch them off to pin the printer to values set by hand.
Syntax
^XSa,b,cSupport
Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.
This command decides whether the printer recalibrates the length, threshold and gain during the print. A recalibration changes printer settings, never the image. The renderer does not parse this command. It reports IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary is also silent, so the rendered label is identical in both engines. — not pinned by a test
Labelary renders this command.
Parameters
aDynamic lengthoptional · Y or NWhether the printer measures the label length again automatically.
- Default
- Y
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
- Test coverage
- No documented value is exercised by a test (Y, N).
Y- Enable dynamic label-length calibration (default)
N- Disable it
bDynamic thresholdoptional · Y or NWhether the printer measures the sensor thresholds again automatically.
- Default
- Y
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
- Test coverage
- No documented value is exercised by a test (Y, N).
Y- Enable dynamic threshold calibration (default)
N- Disable it
cDynamic gainoptional · Y or NWhether the printer measures the sensor gain again automatically.
- Default
- Y
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
- Test coverage
- No documented value is exercised by a test (Y, N).
Y- Enable dynamic gain calibration (default)
N- Disable it
Behavior
This command decides whether a manual override survives. Dynamic calibration
re-measures the same values ^SS and ^SI set, so on a printer it overwrites them
sooner or later unless the matching argument here is N. An ^SS with dynamic
calibration still on is the common reason a hand-tuned threshold does not stick.
Each argument is independent, so the useful combinations are partial. ^XSN,Y,Y fixes
the label length and leaves the printer free to re-measure the sensor thresholds.
None of that reaches the image. The renderer does not parse this command. It reports
IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary is also
silent, so the rendered label is identical in both engines.
Differences from the specification
Labelary against the ZPL II guide
Where Labelary — our compatibility target — behaves differently from the printed specification.
^XShas no page and no command-index entry in the guide edition this service holds (45541L-004, 2006). Every parameter fact on this page comes from Labelary's reference. — not pinned by a test
Example
All three kinds of dynamic calibration switched off ahead of a label:
^XA
^XSN,N,N
^FO50,50^A0N,40,40^FDNo dynamic calibration^FS
^XZ
Related commands
~JCSet Media Sensor CalibrationThis command runs a full calibration of both the label length and the sensor thresholds.~JLSet Label LengthThis command makes the printer feed media to measure the label length.^SSSet Media SensorsThis command overrides every media-sensor threshold and LED intensity by hand, without a calibration.^MNMedia TrackingThis command tells the printer whether the stock is continuous, or has a gap, web or black mark between labels.