Skip to content

Instantly share code, notes, and snippets.

@treby
Last active October 4, 2015 22:38
Show Gist options
  • Save treby/2710657 to your computer and use it in GitHub Desktop.
Save treby/2710657 to your computer and use it in GitHub Desktop.
Read & Repeat IDm/PMm using RC-S620/S and LCD (Arduino Sketch)
#include <LiquidCrystal.h>
#include <RCS620S.h>
#define COMMAND_TIMEOUT 400
#define POLLING_INTERVAL 500
#define LED_PIN 13
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
RCS620S rcs620s;
int mode;
void setup() {
int ret;
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
Serial.begin(115200);
lcd.begin(16, 2);
mode = 0;
ret = rcs620s.reset();
ret = rcs620s.initDevice();
while(!ret) {}
lcd.print("IDm Snatcher");
}
void loop() {
int ret, i;
digitalWrite(LED_PIN, HIGH);
switch (mode)
{
case 0: // Reader
ret = rcs620s.polling(0xFFFF);
if(ret) {
lcd.clear();
lcd.print("Snatched IDm:");
lcd.setCursor(0, 1);
for(i = 0; i < 8; i++)
{
if(rcs620s.idm[i] / 0x10 == 0) lcd.print(0);
lcd.print(rcs620s.idm[i], HEX);
rcs620s.reset();
}
mode = 1;
}
rcs620s.rfOff();
break;
case 1: // Emulatior
rcs620s.emulating(0xFFFF, rcs620s.idm, rcs620s.pmm);
break;
}
digitalWrite(LED_PIN, LOW);
delay(POLLING_INTERVAL);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment