diff options
author | Bartosz Stebel <bartoszstebel@gmail.com> | 2015-04-19 05:03:44 +0200 |
---|---|---|
committer | Sergiusz 'q3k' BazaĆski <q3k@q3k.org> | 2015-08-31 22:48:36 +0200 |
commit | e04883e09f8aea5c21c0f438b6bdeae23f3972be (patch) | |
tree | bbdc0911035737e571920afbb585e9036e245b96 | |
parent | 93f976357de46711217c1bfeca92063b82aca9f4 (diff) | |
download | doorman-e04883e09f8aea5c21c0f438b6bdeae23f3972be.tar.gz doorman-e04883e09f8aea5c21c0f438b6bdeae23f3972be.tar.bz2 doorman-e04883e09f8aea5c21c0f438b6bdeae23f3972be.tar.xz doorman-e04883e09f8aea5c21c0f438b6bdeae23f3972be.zip |
gnuj
-rw-r--r-- | admin/lib/proto.py | 6 | ||||
-rw-r--r-- | admin/options.py | 4 | ||||
-rw-r--r-- | arduino/src/config.h | 2 | ||||
-rw-r--r-- | arduino/src/doorman.ino | 3 | ||||
-rw-r--r-- | arduino/src/pc.cpp | 5 | ||||
-rw-r--r-- | arduino/src/rf.cpp | 3 |
6 files changed, 18 insertions, 5 deletions
diff --git a/admin/lib/proto.py b/admin/lib/proto.py index 025dc99..16c0ae3 100644 --- a/admin/lib/proto.py +++ b/admin/lib/proto.py @@ -22,10 +22,14 @@ class Proto(object): def send(self, command): cmd = str(command) + '\n' print cmd - self.fd.write(cmd) + for i in cmd: + sleep(0.02) + self.fd.write(i) def recv(self): line = self.fd.readline() print line + if line[0] != '$': + return self.recv() cmd = Command.from_str(line) if cmd.command == 'E': raise RemoteException(cmd.hash, cmd.uid) diff --git a/admin/options.py b/admin/options.py index 6f6fc5f..5b63d32 100644 --- a/admin/options.py +++ b/admin/options.py @@ -1,4 +1,4 @@ -url = '/dev/ttyUSB6' +url = '/dev/ttyACM1' serial = dict( baudrate = 19200, timeout = 60, @@ -21,4 +21,4 @@ hash_bytes = 64 mac_bytes = 64 -init_sleep = 5 +init_sleep = 3 diff --git a/arduino/src/config.h b/arduino/src/config.h index 29b60c0..d941578 100644 --- a/arduino/src/config.h +++ b/arduino/src/config.h @@ -13,7 +13,7 @@ /** Size of stored hash. */ #define EMEM_HASH_SIZE (32) /** Flag that indicates (if defined) verbose mode (for diagnostic) */ -//#define DEBUG 1 +#define DEBUG 1 /** * Flag that indicates (if defined) keyboard simulation mode (for diagnostic). * In this mode keyboard always return pin. diff --git a/arduino/src/doorman.ino b/arduino/src/doorman.ino index b240970..4cf4790 100644 --- a/arduino/src/doorman.ino +++ b/arduino/src/doorman.ino @@ -35,6 +35,9 @@ extern boolean pc_send_flag; void setup() { Serial.begin(19200); keypad_init(); + #ifdef DEBUG + Serial.println("Initializing NFC.."); + #endif rf_init(); pinMode(DOOR_CTRN, OUTPUT); #ifdef DEBUG diff --git a/arduino/src/pc.cpp b/arduino/src/pc.cpp index 6d3dc97..5c8080c 100644 --- a/arduino/src/pc.cpp +++ b/arduino/src/pc.cpp @@ -22,12 +22,14 @@ extern unsigned char g_Hash[]; * @return Returns true if message was received, false otherwise. */ boolean pc_parse(){ + //Serial.write('#'); static int pc_idx=0; char in = 0; // for incoming serial data // send data only when you receive data: while (Serial.available() > 0) { //read the incoming byte: in = Serial.read(); + //Serial.write(in); if (in=='$') { //Start condition pc_idx=0; @@ -258,6 +260,9 @@ void pc_comm(){ emem_print(); } else if (pc_bytes[1]=='G' || pc_bytes[1]=='g'){ pc_send_flag=true; +#ifdef DEBUG + Serial.println("send flag true"); +#endif } else { #ifdef DEBUG Serial.println("Unknown command"); diff --git a/arduino/src/rf.cpp b/arduino/src/rf.cpp index 2f12c01..8a0c76e 100644 --- a/arduino/src/rf.cpp +++ b/arduino/src/rf.cpp @@ -12,6 +12,7 @@ Adafruit_PN532 rfid(3, 4); void rf_init(void) { rfid.begin(); #ifdef DEBUG + Serial.println("firm?"); uint32_t versiondata = rfid.getFirmwareVersion(); Serial.print("Found chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX); Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC); @@ -32,7 +33,7 @@ boolean rf_comm(unsigned long * p_rfid) { uint8_t mifareLength; success = rfid.readPassiveTargetID(PN532_MIFARE_ISO14443A, - &mifareBytes[0], &mifareLength); + &mifareBytes[0], &mifareLength, 100); if (success){ #ifdef DEBUG Serial.print("RFID Tag: "); |