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
UNKNOWNinstead ofFEED - CDIL: added
CdilStatusTypevalues for the configuration and backfeed error codes 255–262 and 290–292 - PF Edge: out-of-range values in
playSound(),setVolume()andsetHapticFeedbackDuration()now return a failed future instead of throwing CompositeCodesConfig.getPropsMap()no longer containsENABLED- Fixed typos in CDIL status descriptions and made symbology error messages consistent
- Documented the no-scan timeout unit as tenths of a second
- PF Edge: an empty or blank status is now reported as
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
AppCacheResourcesnow 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
LabelInforeporting 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 containsENABLED, so it can be passed back toupdateProperties()- 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 WRITEcommand and use\r\nline endings - PF Edge: the
eRFIDMaxRetriesstatus spelling is now recognised as well aseRFIMaxRetries - A PF Edge adapter can now connect again after
disconnect()
LibraryConstants.SDK_VERSIONis now initialised automatically when aDeviceManageris created; callingLibraryConstants.init()from the app is no longer needed- The Maven publication version now follows
distributionVersioninstead of1.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.ngtandEdgeRFID1.ngtare 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'sResourceManager.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(extendsSoundCapability) for PF Edge printers, exposingstopSound()to stop any sound currently playing, using the newAudio.Stop-xJSON command
Version 1.1.8.0
- Added
LabelPositionCapabilityfor PF6059, PF6140, and PF Edge printers, exposing:setLabelOffset(horizontalDots, verticalDots)/getLabelOffset()— shifts the printed label position (TSPLSHIFTcommand on PF Edge,IPrinterExtendedon CDIL)setOverfeedDistance(overfeedDots)/getOverfeedDistance()— advances the supply after printing
- Renamed
PrinterInfo.getTotalServicePrinted()togetTotalLabelsPrinted(), now backed by theStats.Media.TotalLabel-dconfig key on PF Edge (previouslyPrinter.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"
- 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
Version 1.1.7.1
- Added support for
eRFIDNoRFIDLabelRFID error alert from PF Edge devices, mapping it toEdgeStatusType.RFID_NO_RFID_LABELwith description"Error: RFID label NOT detected"
Version 1.1.7.0
- Added
SensoryFeedbackNotificationsCapabilityfor PF Edge devices, exposing real-time telemetry events for haptic and audio feedback:SensoryFeedbackTypeenum:AUDIO,HAPTICSensoryFeedbackStateenum:ONGOING,STOPPEDSensoryFeedbackNotificationCallbackinterface:onSensoryFeedbackNotification(SensoryFeedbackType, SensoryFeedbackState)setSensoryFeedbackNotificationCallback(callback)on the capability to register/unregister listeners
- Handles four
Alert.PeriStatelemetry 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.RFIDErrevent, mapping known RFID alert codes intoEdgePrinterStatusupdates through the existing printer status callback flow - Added PFEdge support for the new
eMotorStallsystem-status error - Fixed PFEdge
calibrateRFID()to send the requiredxRunRfidCalvalue forRFID.Cal.Execute-x
Version 1.1.6.6
- Added
BatteryChargingStatusCapabilityandBatteryChargingStatusCallbackfor PFEdge devices, based on theAlert.SysStaevent and itsSMB AVG Time to Fullfield - 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 convertSBattery.TimetoChgdFull-dvalues 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()andgetRemainingTimeToFullCharge()toBatteryInfofor PFEdge devices, based on theSBattery.TimetoChgdFull-dconfiguration 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
RfidRetryCapabilityandSoundSelectionCapabilityon PFEdge devices (RFID-hardware guard, value parsing, command payloads, and argument validation)
Version 1.1.6.3
- Implemented
SoundSelectionCapability(extendsSoundCapability) for PFEdge devices, exposing:getSoundEnabled()/setSoundEnabled(bool): enable or disable scanner audiogetScanOKSound()/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()
- No Scan Timeout
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
RfidCapabilityinterface. 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.