zpl.tools
Media and sensors

^SS - Set Media Sensors

Overrides every media-sensor threshold and LED intensity by hand instead of calibrating.

^SS writes the media, web, ribbon and label-length values a calibration otherwise measures. It is the manual counterpart to ~JC, for stock the calibration keeps reading wrong. The correct numbers come from a media sensor profile or from the printer's configuration label.

Syntax

^SSw,m,r,l,m2,r2,a,b,c

Support

Recognised, deliberately skippedparsed: none · state: none · rendered: none

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 replaces the values ~JC measures. All nine arguments describe how the sensor hardware reads the stock, which cannot change the image. The label-length argument looks like an exception. It sets the calibrated length of the printer, and the page size comes from the dimensions in the API request. 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

wWeb thresholdoptional · integer

The sensor level at which the printer decides that it reads the gap between labels.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
mMedia thresholdoptional · integer

The sensor level at which the printer decides that it reads label stock.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
rRibbon thresholdoptional · integer

The sensor level at which the printer decides a ribbon is present.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
lLabel lengthoptional · dots

The calibrated label length of the printer, not the page size of a render.

Default
the auto-calibrated value
Accepted range
1 to 32000 dots
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
m2Media LED intensityoptional · integer

Brightness of the LED that lights the media sensor.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
r2Ribbon LED intensityoptional · integer

Brightness of the LED that lights the ribbon sensor.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
aMark thresholdoptional · integer

The sensor level at which the printer decides it found a black mark.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
bMark media thresholdoptional · integer

The sensor level for label stock that the black-mark sensor reads.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.
cMark LED intensityoptional · integer

Brightness of the LED that lights the black-mark sensor.

Default
the auto-calibrated value
Accepted range
0 to 100
Invalid value
not documented, and we have not measured it. The renderer does not parse or measure this command.
Test coverage
No test at the minimum, maximum or one step outside the range.

Behavior

The nine arguments form three groups: thresholds that say what a sensor reading means, LED intensities that say how bright the sensor light is, and one length. The arguments are positional, so a mark threshold needs every argument before it.

The guide writes the values zero-padded, three digits for each threshold and intensity and four for the length. The real maximum for each depends on the printer platform, so the documented ranges are the outer envelope rather than a promise. The Stripe S-300 and S-500 ignore the two LED intensities.

The label length argument looks like the exception that reaches the image, and it is not. It sets the length the printer believes it calibrated, and the dimensions in the API request size the returned page. ^LL does not help either: the renderer parses it and then ignores it.

The next calibration undoes anything set here, unless ^XS turns dynamic calibration off. ^SI is the narrower version of this command, for one value at a time.

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.

  • The guide (45541L-004, page 267) gives all three LED intensities a range of 000 to 100, the same as the thresholds. Labelary documents 0 to 255 for them. This page follows the guide. — not pinned by a test
  • The guide requires a three-digit value for each threshold and a four-digit value for the label length. It states that the maximum for each depends on the printer platform. Labelary states plain numeric ranges and gives no digit-count rule. — not pinned by a test

Example

All nine values supplied, zero-padded the way the guide writes them.

^XA
^SS050,080,070,0812,050,050,070,030,050
^FO50,50^A0N,40,40^FDManual sensor levels^FS
^XZ

Open in viewer