Skip to main content
Version: 1.1.8.4

Release Notes

Version 1.1.8.4​

  • More fixes from the iOS port review:
    • PF Edge: an empty or blank status is now reported as UNKNOWN instead of FEED
    • CDIL: added CdilStatusType values for the configuration and backfeed error codes 255–262 and 290–292
    • PF Edge: out-of-range values in playSound(), setVolume() and setHapticFeedbackDuration() now return a failed future instead of throwing
    • CompositeCodesConfig.getPropsMap() no longer contains ENABLED
    • Fixed typos in CDIL status descriptions and made symbology error messages consistent
    • Documented the no-scan timeout unit as tenths of a second

Version 1.1.8.3​

  • Fixes and cleanups from a review of the SDK made while porting it to iOS:
    • Fixed an infinite loop (100% CPU) when decoding truncated or corrupt label preview data, e.g. after a BLE disconnection; it now fails with an error
    • AppCacheResources now rejects resource names that would resolve outside the cache directory (e.g. ../x)
    • AppMemoryResources.getAll() now returns an unmodifiable view of the resources
    • Fixed PF Edge LabelInfo reporting label width and length swapped
    • Fixed getSymbologyConfig() / getSymbologySettings() failing completely when the printer did not return one of the integer parameters
    • UpcEanConfig.getPropsMap() no longer contains ENABLED, so it can be passed back to updateProperties()
    • CDIL: Code39 and Interleaved 2 of 5 settings now read back every parameter that can be written; MSI check digits range is now 1–2 (0 is not supported by CDIL)
    • CDIL: symbology set sessions are always closed, even if applying a setting fails
    • CDIL: registerResource() now fails the returned future on error instead of completing successfully
    • CDIL: printImage() no longer breaks the lookup of previously registered resources
    • PF Edge: RFID print jobs now always separate the template from the RFID WRITE command and use \r\n line endings
    • PF Edge: the eRFIDMaxRetries status spelling is now recognised as well as eRFIMaxRetries
    • A PF Edge adapter can now connect again after disconnect()
  • LibraryConstants.SDK_VERSION is now initialised automatically when a DeviceManager is created; calling LibraryConstants.init() from the app is no longer needed
  • The Maven publication version now follows distributionVersion instead of 1.0.0-SNAPSHOT
  • The AAR now ships consumer ProGuard/R8 rules, so apps that enable R8 don't fail on the optional TSC SDK and keep the vendor SDK classes intact
  • Zebra adapters are now documented as not supported yet
  • Removed unused internal code
  • Updated PF Reference app:
    • Supply Actions: replaced the fixed-value toggles with sliders for Backfeed, Overfeed and Label Offset X/Y
    • Added a pencil button next to each slider to enter an exact value with the keyboard and apply it
    • Added a Reset button that sets Overfeed, Label Offset and (on CDIL devices) Backfeed back to 0
    • The Backfeed Test button now prints a sample label on CDIL devices too
    • Tapping a slider without changing its value no longer prints a label
    • Fixed the default CDIL template name used for scan & print
    • EdgeRFID0.ngt and EdgeRFID1.ngt are now protected default resources and cannot be deleted

Version 1.1.8.2​

  • Implemented hasResource() for CDIL devices (PF6059, PF6140, MO9442), previously unsupported. Delegates to the CDIL SDK's ResourceManager.checkResource() to check whether a resource is actually registered on the device, instead of relying only on the local cache

Version 1.1.8.1​

  • Added SoundStopCapability (extends SoundCapability) for PF Edge printers, exposing stopSound() to stop any sound currently playing, using the new Audio.Stop-x JSON command

Version 1.1.8.0​

  • Added LabelPositionCapability for PF6059, PF6140, and PF Edge printers, exposing:
    • setLabelOffset(horizontalDots, verticalDots) / getLabelOffset() — shifts the printed label position (TSPL SHIFT command on PF Edge, IPrinterExtended on CDIL)
    • setOverfeedDistance(overfeedDots) / getOverfeedDistance() — advances the supply after printing
  • Renamed PrinterInfo.getTotalServicePrinted() to getTotalLabelsPrinted(), now backed by the Stats.Media.TotalLabel-d config key on PF Edge (previously Printer.TotalS.Printed)
  • Updated PF Reference app:
    • Split "Printer Actions" into a new "Supply Actions" section containing Backfeed, plus new Overfeed and Label Offset X/Y controls (enabled only for devices supporting LabelPositionCapability)
    • Updated the device info dialog to show "Total Labels Printed" instead of "Total Service Printed"

Version 1.1.7.1​

  • Added support for eRFIDNoRFIDLabel RFID error alert from PF Edge devices, mapping it to EdgeStatusType.RFID_NO_RFID_LABEL with description "Error: RFID label NOT detected"

Version 1.1.7.0​

  • Added SensoryFeedbackNotificationsCapability for PF Edge devices, exposing real-time telemetry events for haptic and audio feedback:
    • SensoryFeedbackType enum: AUDIO, HAPTIC
    • SensoryFeedbackState enum: ONGOING, STOPPED
    • SensoryFeedbackNotificationCallback interface: onSensoryFeedbackNotification(SensoryFeedbackType, SensoryFeedbackState)
    • setSensoryFeedbackNotificationCallback(callback) on the capability to register/unregister listeners
  • Handles four Alert.PeriSta telemetry events from the PF Edge printer: eHapticFeedbackInProgress, eAudioPlaying, eHapticFeedbackStopped, eAudioPlayStopped
  • Updated PF Reference app:
    • Merged the former separate "Audio" and "Haptic Response" sections into a single collapsible "Sensory Feedback" section
    • Added "Enable Sensory Feedback Notifications" switch (off by default, enabled only when connected to a PF Edge device); when active, displays live status messages for audio and haptic feedback events

Version 1.1.6.9​

  • Added a new overload to the printImage function in PrinterAdapter so we can now specify a backfeed to the image to be printed if needed (now also to the printImage(Bitmap...) overload)

Version 1.1.6.8​

  • Added a new overload to the printImage function in PrinterAdapter so we can now specify a backfeed to the image to be printed if needed

Version 1.1.6.7​

  • Added PFEdge support for the new Alert.RFIDErr event, mapping known RFID alert codes into EdgePrinterStatus updates through the existing printer status callback flow
  • Added PFEdge support for the new eMotorStall system-status error
  • Fixed PFEdge calibrateRFID() to send the required xRunRfidCal value for RFID.Cal.Execute-x

Version 1.1.6.6​

  • Added BatteryChargingStatusCapability and BatteryChargingStatusCallback for PFEdge devices, based on the Alert.SysSta event and its SMB AVG Time to Full field
  • Updated charging status callbacks to notify both on charging-state transitions and on remaining-time updates while the battery is charging
  • Fixed PFEdge BatteryInfo.getRemainingTimeToFullCharge() parsing to convert SBattery.TimetoChgdFull-d values into minutes
  • Updated the PF Reference app status bar to show the charging state and remaining charge time inline with the printer status

Version 1.1.6.5​

  • Added isCharging() and getRemainingTimeToFullCharge() to BatteryInfo for PFEdge devices, based on the SBattery.TimetoChgdFull-d configuration item
  • Added battery charging status and remaining time to full charge to the Get Device Info output in the PF Reference app

Version 1.1.6.4​

  • Added unit test coverage for RfidRetryCapability and SoundSelectionCapability on PFEdge devices (RFID-hardware guard, value parsing, command payloads, and argument validation)

Version 1.1.6.3​

  • Implemented SoundSelectionCapability (extends SoundCapability) for PFEdge devices, exposing:
    • getSoundEnabled() / setSoundEnabled(bool): enable or disable scanner audio
    • getScanOKSound() / setScanOKSound(int): assign a sound to Good Scan events (values: Good Scan, Lookup Pass, Lookup Fail, Scan No Read, Scan Error)
    • getNoReadSound() / setNoReadSound(int): assign a sound to No Read events
  • Added test functionality in the PF Reference app (Audio section): Sound Enabled switch at the top disables all audio controls when off; dropdowns to assign sounds to Good Scan and No Read events

Version 1.1.6.2​

  • Implemented RfidRetryCapability with Max Retry Error and Label Retry Attempts (only available for the PFEdge for now)
  • Implemented test functionality in the PF Reference app to be able to play with the added RfidRetryCapability

Version 1.1.6.1​

  • Improved release documentation

Version 1.1.6.0​

  • Added Haptic Response capability
  • Added RFID capability for PFEdge devices
  • When connecting to a PFEdge device from a companion device via BLE, now the library will automatically save a bluetooth name by default to trigger the "BT name set callback"

Version 1.1.5.19​

  • Added Haptic Response capability

Version 1.1.5.18​

  • Improved RFID detection on PFEdge devices.
  • Refactored getDeviceInfo on PFEdge devices to prevent possible timeouts when requesting many configuration settings at once.

Version 1.1.5.17​

  • Added new functionality to the printImage() function, now its possible to specify a quantity of labels to print and the x,y position of the image.

  • Added new Error Codes for PFEdge devices:

    •  Error: TPH Broken 
    •  Error: TPH Bad Cable 
    •  Error: TPH Over Heat 
    •  Error: Motor Over Heat 
    •  Error: On Docking Station 
    •  Error: Main Battery Out 

Version 1.1.5.16​

  • Improved internal Unit Tests

Version 1.1.5.15​

  • Fixed a problem with the PFEdge device not being able to connect to old Android companion devices running Android 10 or lower
  • Improved how SingleCommand configuration operations are handled internally (like the ones used for configuring multiple barcode simbologies at once).

Version 1.1.5.14​

  • Fixed a small bug inside the PFReference app that was causing a crash when trying to connect to a CDIL device from a companion device

Version 1.1.5.13​

  • Fixed a bug for CDIL devices that was preventing the update of multiple barcode parameters at once
  • Refactored Resync() and CalibrateBlackmark() that were not implemented for PFEdge devices (calibrateBM).
  • Implemented unregisterAllResources() for CDIL devices.

Version 1.1.5.12​

  • Added new edge.aar (v2.12) library that fixes FW upgrade problems via BLE

Version 1.1.5.11​

  • Added getSupplyMode() / setSupplyMode() to PrinterAdapter to select the type of suply being used (Blackmark/Continuous/Gap)
  • Refactored PFReference app application to have a consistent UX through many of the different controls
  • Added the general scanner configuration settings to the PFReference app

Version 1.1.5.10​

  • Added new Printer infos for PFEdge devices:
    • Kernel Version
    • Build Number
    • Android OS Version
    • Control Board Version
    • Print engine Hardware Version
    • Total Printed (in)
    • Total Service Printed
    • RFID Module Version
    • RFID Module Region

Version 1.1.5.9​

  • Reworked resync/calibrateBlackmark functionality
  • For PFEdge, .ngt formats now can include a PRINT command, if the command is not there the library will add it automatically
  • Added some PrinterInfos that were missing for CDIL, including battery percentage and voltage. This is still not a final version, some of the values related to FW versions or model names are not correct for PF6059s

Version 1.1.5.8​

  • Added general scanner configuration functions to ScannerAdapter:
    • No Scan Timeout setNoScanTimeout(long timeoutMs) / getNoScanTimeout()
    • Aim Duration setAimDuration(long aimDurationMs) / getAimDuration()
    • Linear Security Level setLinearSecurityLevel(int securityLevel) / getLinearSecurityLevel()
    • Bi-Directional Redundancy setBidirectionalRedundancy(boolean enabled) / isBidirectionalRedundancy()
    • PickList Mode setPickListMode(boolean enabled) / isPickListMode()
    • Reset to Default resetScannerConfiguration()

Version 1.1.5.7​

Introduce FeedButtonCapability on PF6140DeviceAdapter, exposing getFeedButtonMode(), setFeedButtonMode() and setFeedButtonCallback().

  • The CDIL trigger listener now properly routes FeedButton and Trigger events to their respective callbacks instead of ignoring feed button presses.
  • Add FeedButtonMode enum (FEED/FORWARD) and FeedButtonCallback as new public API types.
  • Add DeviceConnection source field to ScannedData so consumers using a shared ScanCallback across multiple simultaneous device connections can identify which device produced each scan event.

Version 1.1.5.4​

  • Finalize sample apps - PF Quick Start and PF Reference
  • Update tutorials

Version 1.1.5.1​

  • Added RFID print-and-encode support for PF Edge (NG/TSC) and PF6059 (CDIL) printers via the new RfidCapability interface.
  • printAndEncodeRfid(): prints a label template and writes EPC/user memory to an RFID inlay simultaneously.
  • getReadRfidPower() / setReadRfidPower(): read and configure RFID antenna read power (PF Edge: 1–27, PF6059: -15 to 23).
  • getWriteRfidPower() / setWriteRfidPower(): read and configure RFID antenna write power (PF Edge: 1–27, PF6059: -15 to 23).
  • calibrateRFID(): on PF Edge, sends a single RFID calibration command; on PF6059, runs media calibration followed by automatic RFID antenna power calibration.
  • isRFIDEnabled(): runtime check to confirm whether the connected device has RFID hardware active.