Я получил считыватель Speedway R420 RFID. Пытаясь прочитать теги. Он работает на реальной модели, подключенной к эмулятору или реальному устройству Android, но во время полевого теста она не удается. Изучая журналы, мне удалось уточнить, что он терпит неудачу во время достаточно простой работы. Вот черновой код: < /p>
val reader = ImpinjReader()
reader.name = "ATZ Reader"
reader.connectTimeout = 60000
reader.connect(readerHostname) //10.1.30.172
reader.setKeepaliveListener { impinjReader, keepaliveEvent ->
Timber.d("Keepalive received from %s, %s, %s",
impinjReader.name, impinjReader.address, keepaliveEvent)
_connectStatus.tryEmit(RfIdStatus.Success)
}
reader.setConnectionLostListener {
if(!it.isConnected) {
logger.logRFID("Los connection ${it.name}, ${it.address}")
_connectStatus.tryEmit(RfIdStatus.Disconnected)
}
else
_connectStatus.tryEmit(RfIdStatus.Success)
}
reader.tagReportListener = tagReportListener
val settings = reader.queryDefaultSettings()
reader.applySettings(settings) //Exception thrown at this line
reader.saveSettings()
reader.start()
CoroutineScope(newSingleThreadContext("rfid reader")).launch {
while (true) {
delay(10000)
try {
reader.queryTags()
_connectStatus.emit(RfIdStatus.Success)
logger.logRFID("Tags queried")
} catch (e: OctaneSdkException) {
logger.logRFID("Tags query error ${e.message}")
reader.disconnect()
break
}
}
}
< /code>
Вот Stacktrace: < /p>
OctaneSdk exception:
M_FieldError
LLRP [420] : //C1G2RFControl/ModeIndex : out-of-range
177
P_ParameterError
183
P_ParameterError
186
P_ParameterError
222
P_ParameterError
330
P_ParameterError
335
P_FieldError
1
A_OutOfRange
at com.impinj.octane.ImpinjReader.addRoSpec(ImpinjReader.java:1220)
at com.impinj.octane.ImpinjReader.applySettingsWithOptionalFactoryReset(ImpinjReader.java:1050)
at com.impinj.octane.ImpinjReader.applySettings(ImpinjReader.java:1008)
at com.impinj.octane.ImpinjReader.applySettings(ImpinjReader.java:1068)
at ru.avangard.refueler.features.datacollector.service.RfidReaderClient.setVariantA(RfidReaderClient.kt:70)
at ru.avangard.refueler.features.datacollector.service.RfidReaderClient.start(RfidReaderClient.kt:48)
at ru.avangard.refueler.features.datacollector.service.DataCollectorService$startRfidReaderClient$1.invokeSuspend(DataCollectorService.kt:131)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Любые идеи, подсказки, подсказки?{
"antennas": {
"antennaCollectionCreatedBySerializer": false,
"antennaConfigs": [
{
"enabled": true,
"isMaxRxSensitivity": true,
"isMaxTxPower": true,
"portName": "Antenna Port 1",
"portNumber": 1,
"rxSensitivityinDbm": 0.0,
"txPowerinDbm": 0.0
},
{
"enabled": true,
"isMaxRxSensitivity": true,
"isMaxTxPower": true,
"portName": "Antenna Port 2",
"portNumber": 2,
"rxSensitivityinDbm": 0.0,
"txPowerinDbm": 0.0
},
{
"enabled": true,
"isMaxRxSensitivity": true,
"isMaxTxPower": true,
"portName": "Antenna Port 3",
"portNumber": 3,
"rxSensitivityinDbm": 0.0,
"txPowerinDbm": 0.0
},
{
"enabled": true,
"isMaxRxSensitivity": true,
"isMaxTxPower": true,
"portName": "Antenna Port 4",
"portNumber": 4,
"rxSensitivityinDbm": 0.0,
"txPowerinDbm": 0.0
}
],
"isMaxRxSensitivity": true,
"isMaxTxPower": true,
"polarizationEnabled": false,
"rxSensitivityinDbm": 0.0,
"txPowerinDbm": 0.0
},
"autoStart": {
"firstDelayInMs": 0,
"gpiPortNumber": 0,
"mode": "Immediate",
"periodInMs": 0,
"utcTimestamp": 0
},
"autoStop": {
"durationInMs": 0,
"gpiPortNumber": 0,
"mode": "None",
"timeout": 0
},
"filters": {
"Mode": "None",
"TagFilter1": {
"BitCount": 0,
"BitPointer": 0
},
"TagFilter2": {
"BitCount": 0,
"BitPointer": 0
},
"tagSelectFilterList": []
},
"gpis": {
"gpiCollectionCreatedBySerializer": false,
"gpiConfigs": [
{
"debounceInMs": 0,
"isEnabled": false,
"portNumber": 1
},
{
"debounceInMs": 0,
"isEnabled": false,
"portNumber": 2
},
{
"debounceInMs": 0,
"isEnabled": false,
"portNumber": 3
},
{
"debounceInMs": 0,
"isEnabled": false,
"portNumber": 4
}
]
},
"gpos": {
"gpoCollectionCreatedBySerializer": false,
"gpoConfigs": [
{
"gpoPulseDurationMsec": 0,
"mode": "Normal",
"portNumber": 1
},
{
"gpoPulseDurationMsec": 0,
"mode": "Normal",
"portNumber": 2
},
{
"gpoPulseDurationMsec": 0,
"mode": "Normal",
"portNumber": 3
},
{
"gpoPulseDurationMsec": 0,
"mode": "Normal",
"portNumber": 4
}
]
},
"holdReportsOnDisconnect": true,
"keepalives": {
"enableLinkMonitorMode": false,
"enabled": false,
"linkDownThreshold": 0,
"periodInMs": 0
},
"lowDutyCycle": {
"EmptyFieldTimeoutInMs": 0,
"FieldPingIntervalInMs": 0,
"IsEnabled": false
},
"readerMode": "AutoSetDenseReaderDeepScan",
"reducedPowerFrequenciesInMhz": [],
"report": {
"includeAntennaPortNumber": false,
"includeChannel": false,
"includeCrc": false,
"includeDopplerFrequency": false,
"includeFastId": false,
"includeFirstSeenTime": true,
"includeGpsCoordinates": false,
"includeLastSeenTime": true,
"includePcBits": false,
"includePeakRssi": false,
"includePhaseAngle": false,
"includeSeenCount": true,
"mode": "Individual",
"optimizedReadOps": []
},
"searchMode": "DualTarget",
"session": 2,
"tagPopulationEstimate": 32,
"truncatedReply": {
"bitPointer": 32,
"epcLengthInWords": 0,
"gen2v2TagsOnly": false,
"isEnabled": false,
"tagMask": ""
},
"txFrequenciesInMhz": [],
"xArray": {
"spatialConfig": {
"direction": {
"diagnosticReportEnabled": false,
"enabledSectors": [],
"entryReportEnabled": true,
"exitReportEnabled": true,
"fieldOfView": "READER_SELECTED",
"isMaxTxPower": true,
"mode": "HighPerformance",
"tagAgeIntervalSeconds": 2,
"txPowerinDbm": 0.0,
"updateIntervalSeconds": 2,
"updateReportEnabled": true,
"userTagPopulationLimit": 0
},
"location": {
"computeWindowSeconds": 10,
"diagnosticReportEnabled": false,
"disabledAntennaList": [],
"entryReportEnabled": true,
"exitReportEnabled": true,
"isMaxTxPower": true,
"locationAlgorithmControl": [],
"tagAgeIntervalSeconds": 20,
"txPowerinDbm": 0.0,
"updateIntervalSeconds": 5,
"updateReportEnabled": true
},
"mode": "Inventory",
"placement": {
"facilityXLocationCm": 0,
"facilityYLocationCm": 0,
"heightCm": 400,
"orientationDegrees": 0
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/760 ... e-settings
Octane SDK (Impinj RFID Reader) не может сохранить настройки ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Laravel Octane, как Octane управляет PostgreSQL Connections под Swoole/Roadrunner?
Anonymous » » в форуме Php - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка интеграции Zebra RFID: com.zebra.rfid.api3.OperationFailureException
Anonymous » » в форуме Android - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-