@@ -571,6 +571,16 @@ class ChameleonCommunicator {
571571 return VikingCard .fromBytes (resp.data);
572572 }
573573
574+ Future <IoProxCard ?> readIoProx () async {
575+ var resp = await sendCmd (ChameleonCommand .scanIoProxTag);
576+
577+ if (resp! .data.isEmpty) {
578+ return null ;
579+ }
580+
581+ return IoProxCard .fromBytes (resp.data);
582+ }
583+
574584 Future <void > setEM410XEmulatorID (Uint8List uid) async {
575585 await sendCmd (ChameleonCommand .setEM410XemulatorID, data: uid);
576586 }
@@ -583,6 +593,10 @@ class ChameleonCommunicator {
583593 await sendCmd (ChameleonCommand .setVikingEmulatorID, data: uid);
584594 }
585595
596+ Future <void > setIoProxEmulatorID (Uint8List uid) async {
597+ await sendCmd (ChameleonCommand .setIoProxEmulatorID, data: uid);
598+ }
599+
586600 Future <void > writeEM410XtoT55XX (
587601 Uint8List uid, Uint8List newKey, List <Uint8List > oldKeys) async {
588602 List <int > keys = [];
@@ -631,6 +645,20 @@ class ChameleonCommunicator {
631645 data: Uint8List .fromList ([...uid, ...newKey, ...keys]));
632646 }
633647
648+ Future <void > writeIoProxToT55XX (
649+ Uint8List uid, Uint8List newKey, List <Uint8List > oldKeys) async {
650+ List <int > keys = [];
651+
652+ keys.addAll (newKey);
653+
654+ for (var oldKey in oldKeys) {
655+ keys.addAll (oldKey);
656+ }
657+
658+ await sendCmd (ChameleonCommand .writeIoProxToT5577,
659+ data: Uint8List .fromList ([...uid, ...newKey, ...keys]));
660+ }
661+
634662 Future <void > setSlotTagName (
635663 int index, String name, TagFrequency frequency) async {
636664 await sendCmd (ChameleonCommand .setSlotTagNick,
@@ -963,6 +991,11 @@ class ChameleonCommunicator {
963991 (await sendCmd (ChameleonCommand .getVikingEmulatorID))! .data);
964992 }
965993
994+ Future <IoProxCard > getIoProxEmulatorID () async {
995+ return IoProxCard .fromBytes (
996+ (await sendCmd (ChameleonCommand .getIoProxEmulatorID))! .data);
997+ }
998+
966999 Future <DeviceSettings > getDeviceSettings () async {
9671000 var resp = (await sendCmd (ChameleonCommand .getDeviceSettings))! .data;
9681001 if (resp[0 ] != 5 ) {
0 commit comments