Skip to content

Commit 8209930

Browse files
authored
Merge pull request #50 from cslrfid/develop
Develop
2 parents 5552ea0 + c362af9 commit 8209930

File tree

66 files changed

+3412
-4717
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+3412
-4717
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ android {
1212
minSdk 23
1313
targetSdk 35
1414
versionCode 42
15-
versionName "2.14.31"
15+
versionName "2.14.38"
1616
}
1717
}
1818

app/src/main/java/com/csl/cs108ademoapp/AccessTask.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public enum TaskCancelRReason {
2525
Button button; String buttonText;
2626
TextView registerRunTime, registerTagGot, registerVoltageLevel;
2727
TextView registerYield, registerTotal;
28-
boolean invalidRequest;
28+
boolean invalidRequest, selectOne = false;
2929
String selectMask; int selectBank, selectOffset;
3030
String strPassword; int powerLevel;
3131
RfidReaderChipData.HostCommands hostCommand;
@@ -49,7 +49,7 @@ public enum TaskCancelRReason {
4949
int batteryCountInventory_old;
5050
boolean bSkipClearFilter = false;
5151

52-
public AccessTask(Button button, boolean invalidRequest,
52+
public AccessTask(Button button, boolean invalidRequest, boolean selectOne,
5353
String selectMask, int selectBank, int selectOffset,
5454
String strPassword, int powerLevel, RfidReaderChipData.HostCommands hostCommand,
5555
boolean bEnableErrorPopWindow, Runnable updateRunnable) {
@@ -58,6 +58,7 @@ public AccessTask(Button button, boolean invalidRequest,
5858
this.registerVoltageLevel = registerVoltageLevel;
5959

6060
this.invalidRequest = invalidRequest; MainActivity.csLibrary4A.appendToLog("invalidRequest = " + invalidRequest);
61+
this.selectOne = selectOne;
6162
this.selectMask = selectMask;
6263
this.selectBank = selectBank;
6364
this.selectOffset = selectOffset;
@@ -72,7 +73,7 @@ public AccessTask(Button button, boolean invalidRequest,
7273
}
7374
preExecute();
7475
}
75-
public AccessTask(Button button, TextView textViewWriteCount, boolean invalidRequest,
76+
public AccessTask(Button button, TextView textViewWriteCount, boolean invalidRequest, boolean selectOne,
7677
String selectMask, int selectBank, int selectOffset,
7778
String strPassword, int powerLevel, RfidReaderChipData.HostCommands hostCommand,
7879
int qValue, int repeat, boolean resetCount, boolean bSkipClearFilter,
@@ -86,6 +87,7 @@ public AccessTask(Button button, TextView textViewWriteCount, boolean invalidReq
8687
this.registerTotal = registerTotalView;
8788

8889
this.invalidRequest = invalidRequest; MainActivity.csLibrary4A.appendToLog("invalidRequest = " + invalidRequest);
90+
this.selectOne = selectOne;
8991
this.selectMask = selectMask;
9092
this.selectBank = selectBank;
9193
this.selectOffset = selectOffset;
@@ -96,6 +98,7 @@ public AccessTask(Button button, TextView textViewWriteCount, boolean invalidReq
9698
if (repeat > 255) repeat = 255;
9799
this.repeat = repeat;
98100
this.bSkipClearFilter = bSkipClearFilter;
101+
if (bSkipClearFilter) this.selectOne = false;
99102
if (resetCount) {
100103
total = 0;
101104
tagList.clear();
@@ -151,19 +154,18 @@ else if (hostCommand == RfidReaderChipData.HostCommands.CMD_18K6CKILL) {
151154
invalidRequest = true; MainActivity.csLibrary4A.appendToLog("setAccessRetry is failed");
152155
}
153156
}
154-
MainActivity.csLibrary4A.appendToLog("setSelectCriteria: invalidRequest = " + invalidRequest + ", repeat = " + repeat + ", bSkipClearFilter = " + bSkipClearFilter + ", powerLevel = " + powerLevel + ", skipSelect = " + skipSelect);
155157
if (invalidRequest == false) {
156158
if (DEBUG) MainActivity.csLibrary4A.appendToLog("AccessTask(): powerLevel = " + powerLevel);
157159
int matchRep = 1;
158160
if (repeat > 1) matchRep = repeat;
159-
if (bSkipClearFilter == false) {
161+
if (false && bSkipClearFilter == false) {
160162
MainActivity.csLibrary4A.appendToLog("Going to setSelectCriteria disable");
161163
MainActivity.csLibrary4A.setSelectCriteriaDisable(-1);
162164
}
163165
if (powerLevel < 0 || powerLevel > 330) invalidRequest = true;
164166
else if (skipSelect == false) {
165-
MainActivity.csLibrary4A.appendToLog("setSelectCriteria: Going to setSelectTag");
166-
if (MainActivity.csLibrary4A.setSelectedTag(selectMask, selectBank, selectOffset, powerLevel, qValue, matchRep) == false) {
167+
MainActivity.csLibrary4A.appendToLog("AccessTask.preExecute goes to setSelectTag");
168+
if (MainActivity.csLibrary4A.setSelectedTag(selectOne, selectMask, selectBank, selectOffset, powerLevel, qValue, matchRep) == false) {
167169
invalidRequest = true; MainActivity.csLibrary4A.appendToLog("setSelectedTag is failed with selectMask = " + selectMask + ", selectBank = " + selectBank + ", selectOffset = " + selectOffset + ", powerLevel = " + powerLevel);
168170
}
169171
}
@@ -178,6 +180,7 @@ else if (skipSelect == false) {
178180
if (MainActivity.csLibrary4A.checkHostProcessorVersion(MainActivity.csLibrary4A.getMacVer(), 2, 6, 8)) {
179181
MainActivity.csLibrary4A.setInvModeCompact(false);
180182
}
183+
//MainActivity.csLibrary4A.setTagRead(0);
181184
MainActivity.csLibrary4A.sendHostRegRequestHST_CMD(hostCommand);
182185
}
183186
}
@@ -226,6 +229,7 @@ else if (rx000pkgData != null) {
226229
if (rx000pkgData.decodedError != null) { endingMessaage = rx000pkgData.decodedError; ending = true; }
227230
else if (repeat > 0 && resultError.length() == 0) {
228231
resultError = "";
232+
if (true) MainActivity.csLibrary4A.appendToLog("Debug_InvCfg: AccessTask.doInBackground goes to setMatchRep with repeat = " + repeat);
229233
MainActivity.csLibrary4A.setMatchRep(repeat);
230234
MainActivity.csLibrary4A.sendHostRegRequestHST_CMD(hostCommand);
231235
} else {
@@ -319,7 +323,7 @@ protected void onPostExecute(String result) {
319323
}
320324

321325
void DeviceConnectTask4RegisterEnding() {
322-
MainActivity.csLibrary4A.setAccessCount(0);
326+
//MainActivity.csLibrary4A.setAccessCount(0);
323327
String strErrorMessage = "";
324328
if (false) {
325329
boolean success = false;

app/src/main/java/com/csl/cs108ademoapp/AccessTask1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ void setup() {
196196
}
197197
MainActivity.csLibrary4A.appendToLog("HelloA: accOffset=" + accOffset + ", accSizeNow=" + accSizeNow + ", accSize=" + accSize);
198198
MainActivity.csLibrary4A.appendToLog("HelloK: invalidRequest=" + invalidRequest);
199-
accessTask = new AccessTask(button, invalidRequest,
199+
accessTask = new AccessTask(button, invalidRequest, true,
200200
selectMask, selectBank, selectOffset,
201201
strPassword, powerLevel, hostCommand, tryCount==tryCountMax, updateRunnable);
202202
}

app/src/main/java/com/csl/cs108ademoapp/CustomIME.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ else if (MainActivity.sharedObjects == null || MainActivity.csLibrary4A == null)
143143
String strSgtin = null;
144144
if (MainActivity.csLibrary4A.getWedgeOutput() == 1) {
145145
strSgtin = MainActivity.csLibrary4A.getUpcSerial(strEpc);
146-
MainActivity.csLibrary4A.appendToLog("strSgtin = " + (strSgtin == null ? "null" : strSgtin));
146+
appendToLog("strSgtin = " + (strSgtin == null ? "null" : strSgtin));
147147
if (strSgtin == null) strEpc = null;
148148
}
149149
boolean matched = false;
@@ -164,7 +164,7 @@ else if (MainActivity.sharedObjects == null || MainActivity.csLibrary4A == null)
164164
strValue = MainActivity.csLibrary4A.getWedgePrefix() + strValue;
165165
if (MainActivity.csLibrary4A.getWedgeSuffix() != null)
166166
strValue += MainActivity.csLibrary4A.getWedgeSuffix();
167-
MainActivity.csLibrary4A.appendToLog("CustomIME, serviceRunnable: wedgeDelimiter = " + MainActivity.csLibrary4A.getWedgeDelimiter());
167+
appendToLog("CustomIME, serviceRunnable: wedgeDelimiter = " + MainActivity.csLibrary4A.getWedgeDelimiter());
168168
switch (MainActivity.csLibrary4A.getWedgeDelimiter()) {
169169
default:
170170
strValue += "\n";
@@ -181,7 +181,7 @@ else if (MainActivity.sharedObjects == null || MainActivity.csLibrary4A == null)
181181
case -1:
182182
break;
183183
}
184-
MainActivity.csLibrary4A.appendToLog("CustomIME BtData to Keyboard: " + strValue);
184+
appendToLog("CustomIME BtData to Keyboard: " + strValue);
185185
ic.commitText(strValue, 1);
186186
}
187187
}
@@ -190,7 +190,7 @@ else if (MainActivity.sharedObjects == null || MainActivity.csLibrary4A == null)
190190
}
191191
int iDelayms = 500;
192192
if (inventoring) iDelayms = 100;
193-
MainActivity.csLibrary4A.appendToLog("CustomIME BtData set next time as " + iDelayms);
193+
appendToLog("CustomIME BtData set next time as " + iDelayms);
194194
mHandler.postDelayed(serviceRunnable, iDelayms);
195195
}
196196
};
@@ -215,6 +215,7 @@ void startStopHandler() {
215215
inventoryBarcodeTask.execute();
216216
} else {
217217
MainActivity.csLibrary4A.setPowerLevel(MainActivity.csLibrary4A.getWedgePower());
218+
MainActivity.csLibrary4A.appendToLog("Debug_Compact: CustomIME.startStopHandler");
218219
MainActivity.csLibrary4A.startOperation(RfidReaderChipData.OperationTypes.TAG_INVENTORY_COMPACT);
219220
inventoryRfidTask = new InventoryRfidTask();
220221
inventoryRfidTask.execute();

app/src/main/java/com/csl/cs108ademoapp/InventoryRfidTask.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public enum TaskCancelRReason {
6363
Handler handler = new Handler(); boolean bValidVibrateNewAll = false; boolean bUseVibrateMode0 = false;
6464

6565
void inventoryHandler_setup() {
66+
MainActivity.csLibrary4A.appendToLog("InventoryRfidTask.inventoryHandler_setup set runningInventoryRfidTask as true ");
6667
MainActivity.sharedObjects.runningInventoryRfidTask = true;
6768
total = 0; allTotal = 0; yield = 0;
6869
if (tagsList != null) {
@@ -165,6 +166,7 @@ protected String doInBackground(Void... a) {
165166
if (rx000pkgData.decodedError != null) endingMessaage = rx000pkgData.decodedError;
166167
if (continousRequest) {
167168
MainActivity.csLibrary4A.batteryLevelRequest();
169+
MainActivity.csLibrary4A.appendToLog("Debug_Compact: InventoryRfidTask.doInBackground");
168170
MainActivity.csLibrary4A.startOperation(RfidReaderChipData.OperationTypes.TAG_INVENTORY_COMPACT);
169171
} else ending = true;
170172
}
@@ -293,14 +295,15 @@ void tagHandler() {
293295
if (DEBUG) MainActivity.csLibrary4A.appendToLog("InventoryRfidTask: !!! rx000pkgData.Pc length = " + strPc.length());
294296
continue;
295297
}
296-
int extraLength = 0;
298+
/*int extraLength = 0;
297299
if (extra1Bank != -1 && rx000pkgData.decodedData1 != null) extraLength += rx000pkgData.decodedData1.length;
298300
if (extra2Bank != -1 && rx000pkgData.decodedData2 != null) extraLength += rx000pkgData.decodedData2.length;
299301
if (extraLength != 0) {
300302
byte[] decodedEpcNew = new byte[rx000pkgData.decodedEpc.length - extraLength];
301303
System.arraycopy(rx000pkgData.decodedEpc, 0, decodedEpcNew, 0, decodedEpcNew.length);
302304
rx000pkgData.decodedEpc = decodedEpcNew;
303-
}
305+
}*/
306+
MainActivity.csLibrary4A.appendToLog("ApData: decodedEpc = " + MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.decodedEpc) + ", data1,2 = " + MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.decodedData1) + ", " + MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.decodedData2));
304307
String strEpc = MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.decodedEpc);
305308
if (DEBUG) MainActivity.csLibrary4A.appendToLog("HelloC: decodePc = " + strPc + ", decodedEpc = " + strEpc + ", iFlags = " + String.format("%2X", iFlag));
306309
portstatus = INVALID_CODEVALUE; backport1 = INVALID_CODEVALUE; backport2 = INVALID_CODEVALUE; codeSensor = INVALID_CODEVALUE; codeRssi = INVALID_CODEVALUE; codeTempC = INVALID_CODEVALUE; brand = null;
@@ -335,15 +338,19 @@ void tagHandler() {
335338
}
336339

337340
boolean bFastId = false; boolean bTempId = false;
341+
MainActivity.csLibrary4A.appendToLog("bFastId is false with MainActivity.mDid = " + MainActivity.mDid + ", getFastId = " + MainActivity.csLibrary4A.getFastId());
338342
if (MainActivity.mDid != null) {
339-
MainActivity.csLibrary4A.appendToLog("mDid = " + MainActivity.mDid);
340343
if (MainActivity.mDid.indexOf("E28011") == 0) {
341344
int iValue = Integer.valueOf(MainActivity.mDid.substring("E28011".length()), 16);
342345
MainActivity.csLibrary4A.appendToLog(String.format("iValue = 0x%02X", iValue));
343-
if ((iValue & 0x20) != 0) bFastId = true;
346+
if ((iValue & 0x20) != 0) {
347+
bFastId = true; MainActivity.csLibrary4A.appendToLog("bFastId is true");
348+
}
344349
if (DEBUG) MainActivity.csLibrary4A.appendToLog("HelloK: iValue = " + String.format("%02X", iValue));
345350
}
346-
} else if (MainActivity.csLibrary4A.getFastId() > 0) bFastId = true;
351+
} else if (MainActivity.csLibrary4A.getFastId() > 0) {
352+
bFastId = true; MainActivity.csLibrary4A.appendToLog("bFastId is true");
353+
}
347354
if (DEBUG) MainActivity.csLibrary4A.appendToLog("HelloK: strMdid = " + strMdid + ", MainMdid = " + MainActivity.mDid + ", bFastId = " + bFastId);
348355

349356
int iPc = Integer.parseInt(strPc, 16);
@@ -549,13 +556,14 @@ else if (readerDevice.getstrExtra2() != null) {
549556
if (ALLOW_WEDGE) MainActivity.sharedObjects.serviceArrayList.add(strEpc);
550557

551558
boolean bAddDevice = true; String strValue = null;
559+
MainActivity.csLibrary4A.appendToLog("bProtectOnly = " + bProtectOnly);
552560
if (bSgtinOnly) {
553561
strValue = MainActivity.csLibrary4A.getUpcSerial(strEpc);
554562
MainActivity.csLibrary4A.appendToLog("bSgtinOnly = " + bSgtinOnly + ", strValue = " + (strValue == null ? "null" : strValue));
555563
if (strValue == null) bAddDevice = false;
556564
} else if (bProtectOnly) {
565+
bAddDevice = false;
557566
if (strExtra1 != null) {
558-
bAddDevice = false;
559567
strValue = strExtra1.substring(strExtra1.length() - 1);
560568
int iValue = Integer.parseInt(strValue, 16);
561569
MainActivity.csLibrary4A.appendToLog("bProtectOnly = " + bProtectOnly + ", strExtra1 = " + (strExtra1 == null ? "null" : strExtra1) + ", iValue = " + iValue);
@@ -833,7 +841,9 @@ void DeviceConnectTask4InventoryEnding(TaskCancelRReason taskCancelReason) {
833841
MainActivity.csLibrary4A.appendToLog("INVENDING: Toasting");
834842
if (mytoast != null) mytoast.show();
835843
}
836-
if (button != null) button.setText("Start"); MainActivity.sharedObjects.runningInventoryRfidTask = false;
844+
if (button != null) button.setText("Start");
845+
MainActivity.csLibrary4A.appendToLog("InventoryRfidTask.DeviceConnectTask4InventoryEnding set runningInventoryRfidTask as false ");
846+
MainActivity.sharedObjects.runningInventoryRfidTask = false;
837847
if (endingMessaage != null) {
838848
CustomPopupWindow customPopupWindow = new CustomPopupWindow(MainActivity.mContext);
839849
customPopupWindow.popupStart(endingMessaage, false);

app/src/main/java/com/csl/cs108ademoapp/MainActivity.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package com.csl.cs108ademoapp;
22

3+
import static com.csl.cslibrary4a.RfidReader.TagType.TAG_ALIEN;
4+
import static com.csl.cslibrary4a.RfidReader.TagType.TAG_ASYGNTAG;
5+
import static com.csl.cslibrary4a.RfidReader.TagType.TAG_CTESIUS;
6+
import static com.csl.cslibrary4a.RfidReader.TagType.TAG_EM_BAP;
7+
38
import android.content.Context;
49
import android.content.Intent;
510
import android.net.Uri;
@@ -48,6 +53,7 @@
4853
import com.csl.cs108ademoapp.fragments.UcodeFragment;
4954
import com.csl.cslibrary4a.Cs108Library4A;
5055
import com.csl.cslibrary4a.ReaderDevice;
56+
import com.csl.cslibrary4a.RfidReader;
5157

5258
public class MainActivity extends AppCompatActivity {
5359
final boolean DEBUG = false; final String TAG = "Hello";
@@ -73,6 +79,7 @@ public class MainActivity extends AppCompatActivity {
7379
Handler mHandler = new Handler();
7480

7581
public static String mDid; public static int selectHold; public static int selectFor;
82+
public static RfidReader.TagType tagType;
7683
public static class Config {
7784
public String configPassword, configPower, config0, config1, config2, config3;
7885
};
@@ -199,7 +206,7 @@ private void selectItem(DrawerPositions position) {
199206
fragment = new InventoryRfidSearchFragment(false);
200207
break;
201208
case MULTIBANK:
202-
fragment = InventoryRfidiMultiFragment.newInstance(true, null);
209+
fragment = InventoryRfidiMultiFragment.newInstance(true, null, null);
203210
break;
204211
case SIMINVENTORY:
205212
fragment = InventoryRfidSimpleFragment.newInstance(false, null);
@@ -224,7 +231,7 @@ private void selectItem(DrawerPositions position) {
224231
fragment = new ImpinjM775Fragment();
225232
break;
226233
case ALIEN:
227-
fragment = InventoryRfidiMultiFragment.newInstance(true, "E2003");
234+
fragment = InventoryRfidiMultiFragment.newInstance(true, TAG_ALIEN, "E2003");
228235
break;
229236
case UCODE8:
230237
fragment = new Ucode8Fragment();
@@ -233,7 +240,7 @@ private void selectItem(DrawerPositions position) {
233240
fragment = new UcodeFragment();
234241
break;
235242
case BAPCARD:
236-
fragment = InventoryRfidiMultiFragment.newInstance(true, "E200B0");
243+
fragment = InventoryRfidiMultiFragment.newInstance(true, TAG_EM_BAP, "E200B0");
237244
break;
238245
case COLDCHAIN:
239246
fragment = new ColdChainFragment();
@@ -257,10 +264,10 @@ private void selectItem(DrawerPositions position) {
257264
fragment = new FdmicroFragment();
258265
break;
259266
case CTESIUS:
260-
fragment = InventoryRfidiMultiFragment.newInstance(true, "E203510");
267+
fragment = InventoryRfidiMultiFragment.newInstance(true, TAG_CTESIUS, "E203510");
261268
break;
262269
case ASYGNTAG:
263-
fragment = InventoryRfidiMultiFragment.newInstance(true, "E283A");
270+
fragment = InventoryRfidiMultiFragment.newInstance(true, TAG_ASYGNTAG, "E283A");
264271
break;
265272

266273
case REGISTER:

0 commit comments

Comments
 (0)