+ // usage:
+ if (strlen(cmd)<3) {
+ PrintAndLog("Usage: hf 15 cmd readmulti [options] <uid|s|u|*> <start#> <count#>");
+ PrintAndLog(" options:");
+ PrintAndLog(" -2 use slower '1 out of 256' mode");
+ PrintAndLog(" uid (either): ");
+ PrintAndLog(" <8B hex> full UID eg E011223344556677");
+ PrintAndLog(" s selected tag");
+ PrintAndLog(" u unaddressed mode");
+ PrintAndLog(" * scan for tag");
+ PrintAndLog(" start#: page number to start 0-255");
+ PrintAndLog(" count#: number of pages");
+ return 0;
+ }
+
+ prepareHF15Cmd(&cmd, &c,(uint8_t[]){ISO15_CMD_READMULTI},1);
+ reqlen=c.arg[0];
+
+ pagenum=strtol(cmd,NULL,0);
+
+ // skip to next space
+ while (*cmd!=' ' && *cmd!='\t') cmd++;
+ // skip over the space
+ while (*cmd==' ' || *cmd=='\t') cmd++;
+
+ pagecount=strtol(cmd,NULL,0);
+ if (pagecount>0) pagecount--; // 0 means 1 page, 1 means 2 pages, ...
+
+ req[reqlen++]=(uint8_t)pagenum;
+ req[reqlen++]=(uint8_t)pagecount;
+
+ reqlen=AddCrc(req,reqlen);
+
+ c.arg[0]=reqlen;