2. Method List

2.1. getPlatformVersion

Gets the Android OS version.

Future<String?> getPlatformVersion()

Return Value

Type

Description

Future<String?>

Android OS version

Sample Code

Future<String?> version = _a3xdPlugin.getPlatformVersion();
version.then((futureResult) {
   
});

2.2. getSDKVersion

Gets the A3XD SDK version.

Future<String?> getSDKVersion()

Return Value

Type

Description

Future<String?>

SDK version

Sample Code

Future<String?> version = _a3xdPlugin.getA3XDSDKVersion();
version.then((futureResult) {
   
});

2.3. getA3XDFlutterVersion

Gets the Flutter Plugin version.

Future<String?> getA3XDFlutterVersion()

Return Value

Type

Description

Future<String?>

Flutter Plugin version

Sample Code

Future<String?> version = _a3xdPlugin.getA3XDFlutterVersion();
version.then((futureResult) {
   
});

2.4. setLogLevel

Sets the log level.

Future<void> setLogLevel(A3XDLogLevel level)

Parameters

Argument Name

Type

Description

level

A3XDLogLevel

Log level A3XDLogLevel

Sample Code

_a3xdPlugin.setLogLevel(A3XDLogLevel.Error);

2.5. getLogLevel

Gets the log level.

Future<A3XDLogLevel?> getLogLevel()

Return Value

Type

Description

Future<A3XDLogLevel?>

Log level A3XDLogLevel

Sample Code

Future<A3XDLogLevel?> level = _a3xdPlugin.getLogLevel();
level.then((futureResult) {
  
});

2.6. setLog

Sets log output enabled or disabled.

Future<void> setLog(bool enable)

Parameters

Argument Name

Type

Description

enable

bool

true: Enabled
false: Disabled

Sample Code

_a3xdPlugin.setLog(true);

2.7. removeSDKLog

Removes all output logs.

Future<void> removeSDKLog()

Sample Code

_a3xdPlugin.removeSDKLog();

2.8. isConnected

Gets the connection status.

Future<bool?> isConnected()

Return Value

Type

Description

Future<bool?>

true: Connected
false: Not connected

Sample Code

Future<bool?> isConnected = _a3xdPlugin.isConnected();
isConnected.then((futureResult) {
  
});

2.9. isPowerOn

Gets the power on/off status of the AsReader.

Future<bool?> isPowerOn()

Return Value

Type

Description

Future<bool?>

true: Power on
false: Power off

Sample Code

Future<bool?> isPowerOn = _a3xdPlugin.isPowerOn();
isPowerOn.then((futureResult) {
  
});

2.10. isOpen

Gets the USB port status.

Future<bool?> isOpen()

Return Value

Type

Description

Future<bool?>

true: Enabled
false: Disabled

Sample Code

Future<bool?> isOpen = _a3xdPlugin.isOpen();
isOpen.then((futureResult) {
  
});

2.11. setPower

Sets the A3XD power on or off.

Future<void> setPower(bool enable)

Parameters

Argument Name

Type

Description

enable

bool

true: Turn A3XD power on
false: Turn A3XD power off

Sample Code

_a3xdPlugin.setPower(true);

2.12. setPowerWithOption

Turns on the AsReader power and applies settings simultaneously. After executing this method, the settings content after configuration is received via the ON_COMPLETED_PREPARATION callback method.

⚠️ Note
ASR-M30S supports only the beep setting.

⚠️ Note
ASR-A30D, ASR-A31D, and ASR-M30S do not support the aimer setting.

Future<void> setPowerWithOption(bool power, bool beep, bool vib, bool led, bool aimer, bool powerOnBeep)

Parameters

Argument Name

Type

Description

power

bool

Power on/off
true: On
false: Off

beep

bool

Beep on/off
true: On
false: Off

vib

bool

Vibration on/off
true: On
false: Off

led

bool

LED on/off
true: On
false: Off

aimer

bool

Aimer on/off
true: On
false: Off

powerOnBeep

bool

Power-on beep on/off
true: On
false: Off

Sample Code

_a3xdPlugin.setPowerWithOption(true, true, true, true, true, true);

2.13. setReaderSettings

Configures AsReader settings. After executing this method, the setting result is received via the ON_SET_READER_SETTING_SUCCESS callback method.

⚠️ Note
ASR-M30S supports only the beep setting.

⚠️ Note
ASR-A30D, ASR-A31D, and ASR-M30S do not support the aimer setting.

Future<void> setReaderSettings(bool beep, bool vib, bool led, bool aimer)

Parameters

Argument Name

Type

Description

beep

bool

Beep on/off
true: On
false: Off

vib

bool

Vibration on/off
true: On
false: Off

led

bool

LED on/off
true: On
false: Off

aimer

bool

Aimer on/off
true: On
false: Off

Sample Code

_a3xdPlugin.setReaderSettings(true, true, true, true);

2.14. getBattery

Gets the AsReader battery information. After executing this method, the battery information is received via the ON_BATTERY_STATE_RECEIVED callback method.

Future<void> getBattery()

Sample Code

_a3xdPlugin.getBattery();

2.15. getReaderInfo

Gets AsReader information. After executing this method, AsReader information is received via the ON_READER_INFO_RECEIVED, ON_READER_ABOUT_INFO, and ON_RECEIVED_RFID_MODULE_VERSION callback methods.

Future<void> getReaderInfo(int type)

Parameters

Argument Name

Type

Description

type

int

0xB1 or 0xB2: Request firmware information
0x01: Request RF module information
0xB0: Request all AsReader setting information

Sample Code

_a3xdPlugin.getReaderInfo(0xb1);

2.16. isM30SDevice

Gets whether the currently used device is an M30S.

Future<bool?> isM30SDevice()

Return Value

Type

Description

Future<bool?>

true: Is M30S
false: Is not M30S

Sample Code

Future<bool?> status = _a3xdPlugin.isM30SDevice();
status.then((futureResult) {

});

2.17. setMaxTagValue

Sets the maximum number of RF tags that can be read in a single inventory.

Future<void> setMaxTagValue(int value)

Parameters

Argument Name

Type

Description

value

int

Max RF tags readable in one inventory

Sample Code

_a3xdPlugin.setMaxTagValue(1);

2.18. getMaxTagValue

Gets the maximum number of RF tags that can be read in a single inventory.

Future<int?> getMaxTagValue()

Return Value

Type

Description

Future<int?>

Max RF tags readable in one inventory

Sample Code

Future<int?> value = _a3xdPlugin.getMaxTagValue();
value.then((futureResult) {
  
});

2.19. setMaxTimeValue

Sets the maximum time for a single inventory.

Future<void> setMaxTimeValue(int value)

Parameters

Argument Name

Type

Description

value

int

Max time for one inventory (unit: sec.)

Sample Code

_a3xdPlugin.setMaxTimeValue(1);

2.20. getMaxTimeValue

Gets the maximum time for a single inventory.

Future<int?> getMaxTimeValue()

Return Value

Type

Description

Future<int?>

Max time for one inventory

Sample Code

Future<int?> value = _a3xdPlugin.getMaxTimeValue();
value.then((futureResult) {
  
});

2.21. setRepeatCycleValue

Sets the number of inventory rounds to repeat in a single inventory.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setRepeatCycleValue(int value)

Parameters

Argument Name

Type

Description

value

int

Inventory rounds to repeat in one inventory

Sample Code

_a3xdPlugin.setRepeatCycleValue(1);

2.22. getRepeatCycleValue

Gets the number of inventory rounds to repeat in a single inventory.

⚠️ Note
ASR-M30S does not support this feature.

Future<int?> getRepeatCycleValue()

Return Value

Type

Description

Future<int?>

Inventory rounds to repeat in one inventory

Sample Code

Future<int?> value = _a3xdPlugin.getRepeatCycleValue();
value.then((futureResult) {
  
});

2.23. setRSSIEnable

Sets whether to acquire RSSI during inventory.

Future<void> setRSSIEnable(bool enable)

Parameters

Argument Name

Type

Description

enable

bool

true: Add
false: Do not add

Sample Code

_a3xdPlugin.setRSSIEnable(true);

2.24. getRSSIEnable

Gets whether to acquire RSSI during inventory.

Future<bool?> getRSSIEnable()

Return Value

Type

Description

Future<bool?>

true: Add
false: Do not add

Sample Code

Future<bool?> enable = _a3xdPlugin.getRSSIEnable();
enable.then((futureResult) {

});

2.25. startInventory

Starts inventory. After executing this method, inventoried data is received via the ON_TAG_RECEIVED callback method. After executing this method, the result of automatic inventory completion is received via the ON_AUTO_INVENTORY_FINISHED callback method.

⚠️ Note
ASR-M30S does not support the repeatCycle setting.

Future<void> startInventory(int maxTags, int maxTime, int repeatCycle)

Parameters

Argument Name

Type

Description

maxTags

int

Max number of RF tags to read

maxTime

int

Max time for one inventory

repeatCycle

int

Max inventory rounds for one inventory

Sample Code

_a3xdPlugin.startInventory(0, 0, 0);

2.26. startInventoryRSSI

Starts inventory. After executing this method, inventoried data including RSSI information is received via the ON_TAG_WITH_RSSI_RECEIVED callback method.

⚠️ Note
ASR-M30S does not support the repeatCycle setting.

Future<void> startInventoryRSSI(int maxTags, int maxTime, int repeatCycle)

Parameters

Argument Name

Type

Description

maxTags

int

Max number of RF tags to read

maxTime

int

Max read time

repeatCycle

int

Number of repeated reads

Sample Code

_a3xdPlugin.startInventoryRSSI(0, 0, 0);

2.27. startInventoryTagID

Starts inventory. After executing this method, inventoried data including TID information is received via the ON_TAG_WITH_TID_RECEIVED callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> startInventoryTagID(int maxTags, int maxTime, int repeatCycle)

Parameters

Argument Name

Type

Description

maxTags

int

Max number of RF tags to read

maxTime

int

Max read time

repeatCycle

int

Number of repeated reads

Sample Code

_a3xdPlugin.startInventoryTagID(0, 0, 0);

2.28. startRFMDecode

Starts inventory for temperature/humidity RF tags. After executing this method, data from inventoried temperature/humidity RF tags is received via the ON_PC_EPC_SENSOR_DATA_RECEIVED callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> startRFMDecode(int codeType, int maxTags, int maxTime, int repeatCycle)

Parameters

Argument Name

Type

Description

codeType

int

Tag sensor type (0x02: Humidity, 0x03: Temperature)

maxTags

int

Max number of RF tags to read

maxTime

int

Max read time

repeatCycle

int

Number of repeated reads

Sample Code

_a3xdPlugin.startRFMDecode(0x02, 0, 0, 0);

2.29. stopDecode

Stops inventory.

Future<void> stopDecode()

Sample Code

_a3xdPlugin.stopDecode();

2.30. setRegion

Sets the AsReader region. After executing this method, the hopping mode setting result is received via the DID_RECEIVE_REGION callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setRegion(int region)

Parameters

Argument Name

Type

Description

region

int

KOREA (0x11), USA Wide (0x21), USA Narrow (0x22), EUROPE (0x31), JAPAN (0x41), CHINA (0x51),(0x52), BRAZIL (0x61),(0x62), AU HK (0x71)

Sample Code

_a3xdPlugin.setRegion(0x11);

2.31. getRegion

Gets the AsReader region. After executing this method, the region is received via the ON_REGION_RECEIVED callback method.

Future<void> getRegion()

Sample Code

_a3xdPlugin.getRegion();

2.32. setSmartHopping

Sets the hopping mode. After executing this method, the region setting result is received via the DID_SET_SMART_MODE callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setSmartHopping(bool isOn)

Parameters

Argument Name

Type

Description

isOn

bool

true: Smart hopping mode
false: Normal mode

Sample Code

_a3xdPlugin.setSmartHopping(true);

2.33. getFrequencyHoppingMode

Gets the hopping mode. After executing this method, the hopping mode is received via the ON_RECEIVE_SMART_MODE callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> getFrequencyHoppingMode()

Sample Code

_a3xdPlugin.getFrequencyHoppingMode();

2.34. setOptimumFrequencyHoppingTable

Sets the hopping table. After executing this method, the hopping table setting result is received via the DID_SET_OPTI_FREQ_HP_TABLE callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setOptimumFrequencyHoppingTable()

Sample Code

_a3xdPlugin.setOptimumFrequencyHoppingTable();

2.35. getFrequencyHoppingTable

Gets the hopping table. After executing this method, the hopping table is received via the ON_GET_FREQUENCY_HOPPING_TABLE_SUCCESS callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> getFrequencyHoppingTable()

Sample Code

_a3xdPlugin.getFrequencyHoppingTable();

2.36. setChannel

Sets the channel. After executing this method, the channel setting result is received via the ON_SET_CHANNEL_SUCCESS callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setChannel(int num, int offset)

Parameters

Argument Name

Type

Description

num

int

Channel number

offset

int

Channel offset

Sample Code

_a3xdPlugin.setChannel(0, 0);

2.37. getChannel

Gets the channel. After executing this method, the channel is received via the ON_CHANNEL_RECEIVED callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> getChannel()

Sample Code

_a3xdPlugin.getChannel();

2.38. setSession

Sets the Session. After executing this method, the Session setting result is received via the ON_SET_SESSION_SUCCESS callback method.

Future<void> setSession(int session)

Parameters

Argument Name

Type

Description

session

int

S0:0, S1:1, S2:2, S3:3

Sample Code

_a3xdPlugin.setSession(0);

2.39. getSession

Gets the Session. After executing this method, the Session is received via the ON_SESSION_RECEIVED callback method.

 Future<void> getSession()

Sample Code

_a3xdPlugin.getSession();

2.40. setAntiCollisionMode

Sets the anti-collision algorithm. After executing this method, the anti-collision algorithm setting result is received via the ON_SET_ANTICOLLISION_MODE_SUCCESS callback method.

⚠️ Note
ASR-M30S does not support this feature.

 Future<void> setAntiCollisionMode(int mode, int start, int max, int min, int counter)

Parameters

Argument Name

Type

Description

mode

int

Anti-collision mode: Fixed Q (0x00), Dynamic Q (0x01)

start

int

Q start position

max

int

Q maximum value

min

int

Q minimum value

counter

int

Counter

Sample Code

_a3xdPlugin.setAntiCollisionMode(0x00, 0, 0, 0, 1);

2.41. getAntiCollisionMode

Gets the anti-collision algorithm. After executing this method, the anti-collision algorithm is received via the ON_RECEIVED_ANTIMODE callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> getAntiCollisionMode()

Sample Code

_a3xdPlugin.getAntiCollisionMode();

2.42. setFhLbtParam

Sets FH and LBT parameters. After executing this method, the FH and LBT parameter setting result is received via the ON_SET_FH_LBT_PARAM_SUCCESS callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setFhLbtParam(int readTime, int idleTime, int senseTime, int rfLevel, int fhMode, int lbtMode, int cwMode)

Parameters

Argument Name

Type

Description

readTime

int

Read time

idleTime

int

Idle time

senseTime

int

Carrier sense time

rfLevel

int

Target frequency level

fhMode

int

On (0x01 or higher) / Off (0x00)

lbtMode

int

On (0x01 or higher) / Off (0x00)

cwMode

int

On (0x01) / Off (0x00)

Sample Code

_a3xdPlugin.setFhLbtParam(0, 0, 0, 0, 0x01, 0x01, 0x01);

2.43. getFhLbtParam

Gets FH and LBT parameters. After executing this method, the FH and LBT parameters are received via the ON_FH_LBT_RECEIVED callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> getFhLbtParam()

Sample Code

_a3xdPlugin.getFhLbtParam();

2.44. setModulation

Sets the modulation mode. After executing this method, the modulation mode setting result is received via the DID_SET_MODULATION callback method.

Future<void> setModulation(String mode)

Parameters

Argument Name

Type

Description

mode

String

Modulation mode

Sample Code

_a3xdPlugin.setModulation('160KHz, FM0, DR=64/3');

2.45. getModulation

Gets the modulation mode. After executing this method, the modulation mode is received via the ON_MODULATION_RECEIVED callback method.

Future<void> getModulation()

Sample Code

_a3xdPlugin.getModulation();

2.46. setTriggerStopCondition

Sets the conditions for stopping inventory. After executing this method, the stop condition setting result is received via the ON_SET_TRIGGER_STOP_CONDITION_SUCCESS callback method.

⚠️ Note
ASR-M30S does not support this feature.

Future<void> setTriggerStopCondition(int maxTags, int maxTime, int repeatCycle)

Parameters

Argument Name

Type

Description

maxTags

int

Max number of RF tags to read

maxTime

int

Max read time

repeatCycle

int

Number of repeated reads

Sample Code

_a3xdPlugin.setTriggerStopCondition(0, 0, 0);

2.47. readTagMemory

Reads data from the specified memory bank of the target RF tag. After executing this method, the read data is received via the ON_TAG_MEMORY_RECEIVED and ON_TAG_MEMORY_LONG_RECEIVED callback methods.

Future<void> readTagMemory(int password, String targetEPC, A3XDMemoryBank memoryBank, A3XDReadMemoryType readType)

Parameters

Argument Name

Type

Description

password

int

Access password

targetEPC

String

Target EPC data

memoryBank

A3XDMemoryBank

Target memory bank A3XDMemoryBank

readType

A3XDReadMemoryType

Read memory bank type A3XDReadMemoryType

Sample Code

_a3xdPlugin.readTagMemory(12345678, '0123456789', A3XDMemoryBank.RESERVED, A3XDReadMemoryType.NORMAL);

2.48. readTagMemoryWithTimeout

Reads data from the specified memory bank of the target RF tag until the timeout expires. After executing this method, the read data is received via the ON_TAG_MEMORY_RECEIVED and ON_TAG_MEMORY_LONG_RECEIVED callback methods.

Future<void> readTagMemoryWithTimeout(int password, String targetEPC, A3XDMemoryBank memoryBank, A3XDReadMemoryType readType, int timeout)

Parameters

Argument Name

Type

Description

password

int

Access password

targetEPC

String

Target EPC data

memoryBank

A3XDMemoryBank

Target memory bank A3XDMemoryBank

readType

A3XDReadMemoryType

Read memory bank type A3XDReadMemoryType

timeout

int

Timeout time

Sample Code

_a3xdPlugin.readTagMemoryWithTimeout(12345678, '0123456789', A3XDMemoryBank.RESERVED, A3XDReadMemoryType.NORMAL, 10);

2.49. readTagMemoryWithData

Reads data from the specified memory bank of the target RF tag. After executing this method, the read data is received via the ON_TAG_MEMORY_RECEIVED and ON_TAG_MEMORY_LONG_RECEIVED callback methods.

Future<void> readTagMemoryWithData(int password, String targetEPC, A3XDMemoryBank memoryBank, A3XDReadMemoryType readType, int startAddress, int dataLength, int timeout)

Parameters

Argument Name

Type

Description

password

int

Access password

targetEPC

String

Target EPC data

memoryBank

A3XDMemoryBank

Target memory bank A3XDMemoryBank

readType

A3XDReadMemoryType

Read memory bank type A3XDReadMemoryType

startAddress

int

Start address of data to read (word)

dataLength

int

Length of data to read (word)

timeout

int

Timeout time

Sample Code

_a3xdPlugin.readTagMemoryWithData(12345678, '0123456789', A3XDMemoryBank.RESERVED, A3XDReadMemoryType.NORMAL, 0, 2, 10);

2.50. writeTagMemory

Writes data to the specified memory bank of the target RF tag. After executing this method, the write result is received via the ON_WRITE_TO_TAG_MEMORY_SUCCESS callback method.

Future<void> writeTagMemory(int password, String targetEPC, A3XDMemoryBank memoryBank, A3XDWriteMemoryType writeType, Uint8List writeData)

Parameters

Argument Name

Type

Description

password

int

Access password

targetEPC

String

Target EPC data

memoryBank

A3XDMemoryBank

Target memory bank A3XDMemoryBank

writeType

A3XDWriteMemoryType

Write type A3XDWriteMemoryType

writeData

Uint8List

Data to write

Sample Code

Uint8List byteList = Uint8List.fromList([0x12, 0x34, 0x56, 0x78]);
_a3xdPlugin.writeTagMemory(12345678, '0123456789', A3XDMemoryBank.RESERVED, A3XDWriteMemoryType.NORMAL, byteList);

2.51. writeTagMemoryWithTimeout

Attempts to write data to the specified memory bank of the target RF tag until the timeout expires. After executing this method, the write result is received via the ON_WRITE_TO_TAG_MEMORY_SUCCESS callback method.

Future<void> writeTagMemoryWithTimeout(int password, String targetEPC, A3XDMemoryBank memoryBank, A3XDWriteMemoryType writeType, Uint8List writeData, int timeout)

Parameters

Argument Name

Type

Description

password

int

Access password

targetEPC

String

Target EPC data

memoryBank

A3XDMemoryBank

Target memory bank A3XDMemoryBank

writeType

A3XDWriteMemoryType

Write type A3XDWriteMemoryType

writeData

Uint8List

Data that needs to be written

timeout

int

Timeout time

Sample Code

Uint8List byteList = Uint8List.fromList([0x12, 0x34, 0x56, 0x78]);
_a3xdPlugin.writeTagMemoryWithTimeout(12345678, '0123456789', A3XDMemoryBank.RESERVED, A3XDWriteMemoryType.NORMAL, byteList, 10);

2.52. writeTagMemoryWithData

Writes data to the specified memory bank of the target RF tag. After executing this method, the write result is received via the ON_WRITE_TO_TAG_MEMORY_SUCCESS callback method.

Future<void> writeTagMemoryWithData(int password, String targetEPC, A3XDMemoryBank memoryBank, A3XDWriteMemoryType writeType, int startAddress,  Uint8List writeData, int timeout)

Parameters

Argument Name

Type

Description

password

int

Access password

targetEPC

String

Target EPC data

memoryBank

A3XDMemoryBank

Target memory bank A3XDMemoryBank

writeType

A3XDWriteMemoryType

Write type A3XDWriteMemoryType

startAddress

int

Write start position of the tag

writeData

Uint8List

Data to write

timeout

int

Timeout time

Sample Code

Uint8List byteList = Uint8List.fromList([0x12, 0x34, 0x56, 0x78]);
_a3xdPlugin.writeTagMemoryWithData(12345678, '0123456789', A3XDMemoryBank.RESERVED, A3XDWriteMemoryType.NORMAL, 0, byteList, 10);

2.53. lockTagMemory

Locks the specified memory bank of the target RF tag. After executing this method, the RF tag lock result is received via the ON_LOCK_TAG_MEMORY_SUCCESS callback method.

Future<void> lockTagMemory(int password, String targetEPC, int lockData)

Parameters

Argument Name

Type

Description

password

int

Password

targetEPC

String

Target EPC data

lockData

int

A total of 24 bits of data is required. If less than 24 bits, pad the beginning with dummy zeros.

Sample Code

_a3xdPlugin.lockTagMemory(12345678, '0123456789', 0);

2.54. lockTagMemoryWithTimeout

Attempts to lock the specified memory bank of the target RF tag until the timeout expires. After executing this method, the RF tag lock result is received via the ON_LOCK_TAG_MEMORY_SUCCESS callback method.

Future<void> lockTagMemoryWithTimeout(int password, String targetEPC, int lockData, int timeout)

Parameters

Argument Name

Type

Description

password

int

Password

targetEPC

String

Target EPC data

lockData

int

A total of 24 bits of data is required. If less than 24 bits, pad the beginning with dummy zeros.

timeout

int

Timeout time

Sample Code

_a3xdPlugin.lockTagMemoryWithTimeout(12345678, '0123456789', 0, 10);

2.55. killTag

Kills the RF tag. After executing this method, the RF tag kill result is received via the ON_KILL_TAG_MEMORY_SUCCESS callback method.

Future<void> killTag(int password, String targetEPC)

Parameters

Argument Name

Type

Description

password

int

Password

targetEPC

String

Target EPC data

Sample Code

_a3xdPlugin.killTag(12345678, '0123456789');

2.56. updateRegistry

Sets the registry update function. (Settings are saved to AsReader’s flash memory). After executing this method, the registry update function setting result is received via the DID_UPDATE_REGISTRY callback method.

Future<void> updateRegistry()

Sample Code

_a3xdPlugin.updateRegistry();

2.57. getContinuousMode

Gets the continuous scan status.
After executing this method, the continuous scan status is received via the ON_RECEIVE_CONTINUOUS_MODE callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> getContinuousMode()

Sample Code

_a3xdPlugin.getContinuousMode();

2.58. setContinuousMode

Sets the continuous scan status.
After executing this method, the continuous scan setting result is received via the DID_SET_CONTINUOUS_MODE callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> setContinuousMode(bool isOn)

Parameters

Argument Name

Type

Description

isOn

bool

true: Continuous scan
false: Single scan

Sample Code

_a3xdPlugin.setContinuousMode(true);

2.59. getAutoOffTime

Gets the device’s auto-off time.
After executing this method, the auto-off time is received via the ON_RECEIVE_AUTO_OFF_TIME callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> getAutoOffTime()

Sample Code

_a3xdPlugin.getAutoOffTime();

2.60. setAutoOffTime

Sets the device’s auto-off time.
After executing this method, the auto-off time setting result is received via the DID_SET_AUTO_OFF_TIME callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> setAutoOffTime(int time)

Parameters

Argument Name

Type

Description

time

int

Auto-off time (0-1800s)
0: Do not auto-off

Sample Code

_a3xdPlugin.setAutoOffTime(10);

2.61. getHidMode

Gets whether the connected AsReader device is set to the HID mode.
After executing this method, the HID status will be received via the ON_RECEIVE_HID_MODE callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> getHidMode() 

Sample Code

_a3xdPlugin.getHidMode();

2.62. setHidMode

Sets the connected AsReader’s operation mode.
After executing this method, the result will be received via the DID_SET_HID_MODE callback method.

Future<void> setHidMode(bool hidMode)

Parameters

Argument Name

Type

Description

hidMode

bool

true: HID mode
false: Not HID mode

Sample Code

_a3xdPlugin.setHidMode(true);

2.63. getQValue

Gets the Q value setting set to the connected AsReader device.
After executing this method, the device’s Q value is received via the ON_RECEIVE_Q_VALUE callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> getQValue()

Sample Code

_a3xdPlugin.getQValue();

2.64. setQValue

Sets a Q value setting to the connected AsReader device.
After executing this method, the Q value setting result is received via the DID_SET_Q_VALUE callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> setQValue(int value)

Parameters

Argument Name

Type

Description

value

int

Q value

Sample Code

_a3xdPlugin.setQValue(1);

2.65. getSessionFlag

Gets the SessionFlag setting set to the AsReader device.
After executing this method, the device’s SessionFlag is received via the ON_RECEIVE_SESSION_FLAG callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> getSessionFlag()

Sample Code

_a3xdPlugin.getSessionFlag();

2.66. setSessionFlag

Sets a SessionFlag setting to the connected AsReader device.
After executing this method, the SessionFlag setting result is received via the DID_SET_SESSION_FLAG callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> setSessionFlag(int sessionFlag)

Parameters

Argument Name

Type

Description

sessionFlag

int

SessionFlag

Sample Code

_a3xdPlugin.setSessionFlag(1);

2.67. getDutyRatio

Gets the duty ratio setting set to the AsReader device.
After executing this method, the AsReader’s duty ratio is received via the ON_RECEIVE_DUTY_RATIO callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> getDutyRatio()

Sample Code

_a3xdPlugin.getDutyRatio();

2.68. setDutyRatio

Sets a duty ratio setting to the connected AsReader device.

Range: 0-15 0: Full load; 1: 5%; 2: 10%; 3: 15%; 4: 20%; 5: 25%; 6: 30%; 7: 35%; 8: 40%; 9: 45%; 10: 50%; 11: 55%; 12: 60%; 13: 70%; 14: 80%; 15: 90% *e.g., 5% means stopping for 5% of the dutyRatioBaseTime set by setDutyRatioBaseTime described later. After executing this method, the duty ratio setting result is received via the DID_SET_DUTY_RATIO callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> setDutyRatio(int dutyRatio)

Parameters

Argument Name

Type

Description

dutyRatio

int

Duty ratio

Sample Code

_a3xdPlugin.setDutyRatio(1);

2.69. getDutyRatioBaseTime

Gets the duty ratio base time setting set to the connected AsReader device.
After executing this method, the duty ratio base time is received via the ON_RECEIVE_DUTY_RATIO_BASE_TIME callback method.

Future<void> getDutyRatioBaseTime()

Sample Code

_a3xdPlugin.getDutyRatioBaseTime();

2.70. setDutyRatioBaseTime

Sets a duty ratio base time setting to the attached AsReader device(Range: 0-65000ms). After executing this method, the duty ratio base time setting result is received via the DID_SET_DUTY_RATIO_BASE_TIME callback method.

⚠️ Note
Only ASR-M30S supports this feature.

Future<void> setDutyRatioBaseTime(int dutyRatioBaseTime)

Parameters

Argument Name

Type

Description

dutyRatioBaseTime

int

Duty ratio base time

Sample Code

_a3xdPlugin.setDutyRatioBaseTime(1000);