mbed code for the Kinoma team's wireless assignment

Dependencies:   mbed

Fork of idd_hw5_kinoma_rememberkeys by Sean McQueen

Committer:
smcqueen
Date:
Sun Nov 09 21:23:55 2014 +0000
Revision:
0:372076a79d90
send read status through Digital Out

Who changed what in which revision?

UserRevisionLine numberNew contents of line
smcqueen 0:372076a79d90 1 #include "mbed.h"
smcqueen 0:372076a79d90 2 #include "Adafruit_PN532.h"
smcqueen 0:372076a79d90 3
smcqueen 0:372076a79d90 4 #define SS PTD0
smcqueen 0:372076a79d90 5 // PTD1 is also LED_BLUE, it will blink during SPI communication.
smcqueen 0:372076a79d90 6 #define SCK PTD1
smcqueen 0:372076a79d90 7 #define MOSI PTD2
smcqueen 0:372076a79d90 8 #define MISO PTD3
smcqueen 0:372076a79d90 9
smcqueen 0:372076a79d90 10 DigitalOut kinoma(D8);
smcqueen 0:372076a79d90 11 int previous = 0;
smcqueen 0:372076a79d90 12
smcqueen 0:372076a79d90 13 Adafruit_PN532 nfc(SCK, MISO, MOSI, SS);
smcqueen 0:372076a79d90 14
smcqueen 0:372076a79d90 15 void loop(void);
smcqueen 0:372076a79d90 16
smcqueen 0:372076a79d90 17 int main() {
smcqueen 0:372076a79d90 18 kinoma = 0;
smcqueen 0:372076a79d90 19 nfc.begin();
smcqueen 0:372076a79d90 20
smcqueen 0:372076a79d90 21 uint32_t versiondata = nfc.getFirmwareVersion();
smcqueen 0:372076a79d90 22 if (! versiondata) {
smcqueen 0:372076a79d90 23 while (1); // halt
smcqueen 0:372076a79d90 24 }
smcqueen 0:372076a79d90 25
smcqueen 0:372076a79d90 26 nfc.SAMConfig();
smcqueen 0:372076a79d90 27
smcqueen 0:372076a79d90 28 while(1) { loop(); }
smcqueen 0:372076a79d90 29 }
smcqueen 0:372076a79d90 30
smcqueen 0:372076a79d90 31
smcqueen 0:372076a79d90 32 void loop(void) {
smcqueen 0:372076a79d90 33 uint8_t success;
smcqueen 0:372076a79d90 34 uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };
smcqueen 0:372076a79d90 35 uint8_t uidLength;
smcqueen 0:372076a79d90 36
smcqueen 0:372076a79d90 37 success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
smcqueen 0:372076a79d90 38
smcqueen 0:372076a79d90 39 if (success) {
smcqueen 0:372076a79d90 40 previous = 1;
smcqueen 0:372076a79d90 41
smcqueen 0:372076a79d90 42 if (uidLength == 4)
smcqueen 0:372076a79d90 43 {
smcqueen 0:372076a79d90 44 uint8_t tag_1 = 250;
smcqueen 0:372076a79d90 45 uint8_t tag_2 = 186;
smcqueen 0:372076a79d90 46 uint8_t tag_3 = 106;
smcqueen 0:372076a79d90 47 uint8_t tag_4 = 10;
smcqueen 0:372076a79d90 48 kinoma = 1;
smcqueen 0:372076a79d90 49 }
smcqueen 0:372076a79d90 50 } else if (previous == 0){
smcqueen 0:372076a79d90 51 kinoma = 0;
smcqueen 0:372076a79d90 52 } else {
smcqueen 0:372076a79d90 53 previous = 0;
smcqueen 0:372076a79d90 54 }
smcqueen 0:372076a79d90 55 }