interrupt handling
readerComm.h@5:93c612f43ec2, 2015-04-01 (annotated)
- Committer:
- soumi_ghsoh
- Date:
- Wed Apr 01 22:06:40 2015 +0000
- Revision:
- 5:93c612f43ec2
- Parent:
- 4:9ab0d84bbd07
- Child:
- 6:3c510c297e2f
TAG read with multiple instances of RX complete IRQ; Imp changes: reduced RX wait time, Vin=3V/AGC ON, RX_IN2(main) , RX_IN1(aux)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
soumi_ghsoh | 5:93c612f43ec2 | 1 | |
rwclough | 1:1eb96189824d | 2 | /* |
rwclough | 2:bd5afc5aa139 | 3 | Header file for readerComm.cpp |
rwclough | 1:1eb96189824d | 4 | */ |
rwclough | 1:1eb96189824d | 5 | |
rwclough | 1:1eb96189824d | 6 | // Prototypes |
soumi_ghsoh | 5:93c612f43ec2 | 7 | void SpiInit1(void); |
soumi_ghsoh | 5:93c612f43ec2 | 8 | void SpiInit2(void); |
rwclough | 4:9ab0d84bbd07 | 9 | void trf797xInitialSettings(void); |
rwclough | 4:9ab0d84bbd07 | 10 | void trf797xDirectCommand(uint8_t *buffer); |
rwclough | 4:9ab0d84bbd07 | 11 | void trf797xWriteSingle(uint8_t *buffer, uint8_t length); |
rwclough | 4:9ab0d84bbd07 | 12 | void trf797xReadSingle(uint8_t *buffer, uint8_t number); |
rwclough | 4:9ab0d84bbd07 | 13 | void trf797xReadContinuous(uint8_t *buffer, uint8_t length); |
rwclough | 4:9ab0d84bbd07 | 14 | void trf797xRawWrite(uint8_t *buffer, uint8_t length); |
rwclough | 4:9ab0d84bbd07 | 15 | void trf797xStopDecoders(void); |
rwclough | 4:9ab0d84bbd07 | 16 | void trf797xRunDecoders(void); |
rwclough | 4:9ab0d84bbd07 | 17 | void trf797xTxNextSlot(void); |
rwclough | 4:9ab0d84bbd07 | 18 | void trf797xtDisableSlotCounter(void); |
rwclough | 4:9ab0d84bbd07 | 19 | void trf797xReset(void); |
rwclough | 4:9ab0d84bbd07 | 20 | void trf797xTurnRfOn(void); |
rwclough | 4:9ab0d84bbd07 | 21 | void trf797xTurnRfOff(void); |
rwclough | 4:9ab0d84bbd07 | 22 | void trf797xWriteIsoControl(uint8_t iso_control); |
rwclough | 1:1eb96189824d | 23 | void iso15693FindTag(void); |
rwclough | 4:9ab0d84bbd07 | 24 | void iso15693Anticollision(uint8_t *mask, uint8_t length); |
soumi_ghsoh | 5:93c612f43ec2 | 25 | void PowerUpNFC(void); |
soumi_ghsoh | 5:93c612f43ec2 | 26 | void NFCInit(void); |
soumi_ghsoh | 5:93c612f43ec2 | 27 | void RegisterReInitNFC(void); |
soumi_ghsoh | 5:93c612f43ec2 | 28 | // Booleans |
rwclough | 1:1eb96189824d | 29 | #define DESELECT 1 |
rwclough | 1:1eb96189824d | 30 | #define SELECT 0 |
rwclough | 1:1eb96189824d | 31 | #define ADDRESS 0 |
rwclough | 1:1eb96189824d | 32 | #define COMMAND 1 |
rwclough | 1:1eb96189824d | 33 | #define WRITE 0 |
rwclough | 1:1eb96189824d | 34 | #define READ 1 |
soumi_ghsoh | 5:93c612f43ec2 | 35 | //led |
soumi_ghsoh | 5:93c612f43ec2 | 36 | #define LED_ON 0 |
soumi_ghsoh | 5:93c612f43ec2 | 37 | #define LED_OFF 1 |
soumi_ghsoh | 5:93c612f43ec2 | 38 | #define FALSE 0 |
soumi_ghsoh | 5:93c612f43ec2 | 39 | #define TRUE 1 |
rwclough | 1:1eb96189824d | 40 | |
soumi_ghsoh | 5:93c612f43ec2 | 41 | // Direct commands for trf797x |
rwclough | 1:1eb96189824d | 42 | #define IDLE 0x00 |
rwclough | 1:1eb96189824d | 43 | #define SOFT_INIT 0x03 |
rwclough | 1:1eb96189824d | 44 | #define INITIAL_RF_COLLISION 0x04 |
rwclough | 1:1eb96189824d | 45 | #define RESPONSE_RF_COLLISION_N 0x05 |
rwclough | 1:1eb96189824d | 46 | #define RESPONSE_RF_COLLISION_0 0x06 |
rwclough | 1:1eb96189824d | 47 | #define RESET 0x0F |
rwclough | 1:1eb96189824d | 48 | #define TRANSMIT_NO_CRC 0x10 |
rwclough | 1:1eb96189824d | 49 | #define TRANSMIT_CRC 0x11 |
rwclough | 1:1eb96189824d | 50 | #define DELAY_TRANSMIT_NO_CRC 0x12 |
rwclough | 1:1eb96189824d | 51 | #define DELAY_TRANSMIT_CRC 0x13 |
rwclough | 1:1eb96189824d | 52 | #define TRANSMIT_NEXT_SLOT 0x14 |
rwclough | 1:1eb96189824d | 53 | #define CLOSE_SLOT_SEQUENCE 0x15 |
rwclough | 1:1eb96189824d | 54 | #define STOP_DECODERS 0x16 |
rwclough | 1:1eb96189824d | 55 | #define RUN_DECODERS 0x17 |
rwclough | 1:1eb96189824d | 56 | #define CHECK_INTERNAL_RF 0x18 |
rwclough | 1:1eb96189824d | 57 | #define CHECK_EXTERNAL_RF 0x19 |
rwclough | 1:1eb96189824d | 58 | #define ADJUST_GAIN 0x1A |
rwclough | 1:1eb96189824d | 59 | |
soumi_ghsoh | 5:93c612f43ec2 | 60 | // Registers for trf797x |
rwclough | 1:1eb96189824d | 61 | #define CHIP_STATUS_CONTROL 0x00 |
rwclough | 1:1eb96189824d | 62 | #define ISO_CONTROL 0x01 |
rwclough | 1:1eb96189824d | 63 | #define ISO_14443B_OPTIONS 0x02 |
rwclough | 1:1eb96189824d | 64 | #define ISO_14443A_OPTIONS 0x03 |
rwclough | 1:1eb96189824d | 65 | #define TX_TIMER_EPC_HIGH 0x04 |
rwclough | 1:1eb96189824d | 66 | #define TX_TIMER_EPC_LOW 0x05 |
rwclough | 1:1eb96189824d | 67 | #define TX_PULSE_LENGTH_CONTROL 0x06 |
rwclough | 1:1eb96189824d | 68 | #define RX_NO_RESPONSE_WAIT_TIME 0x07 |
rwclough | 1:1eb96189824d | 69 | #define RX_WAIT_TIME 0x08 |
rwclough | 1:1eb96189824d | 70 | #define MODULATOR_CONTROL 0x09 |
rwclough | 1:1eb96189824d | 71 | #define RX_SPECIAL_SETTINGS 0x0A |
rwclough | 1:1eb96189824d | 72 | #define REGULATOR_CONTROL 0x0B |
rwclough | 1:1eb96189824d | 73 | #define IRQ_STATUS 0x0C |
rwclough | 1:1eb96189824d | 74 | #define IRQ_MASK 0x0D |
rwclough | 1:1eb96189824d | 75 | #define COLLISION_POSITION 0x0E |
rwclough | 1:1eb96189824d | 76 | #define RSSI_LEVELS 0x0F |
rwclough | 1:1eb96189824d | 77 | #define SPECIAL_FUNCTION_1 0x10 |
rwclough | 1:1eb96189824d | 78 | #define SPECIAL_FUNCTION_2 0x11 |
rwclough | 1:1eb96189824d | 79 | #define RAM_0 0x12 |
rwclough | 1:1eb96189824d | 80 | #define RAM_1 0x13 |
rwclough | 1:1eb96189824d | 81 | #define FIFO_IRQ_LEVELS_ADJ 0x14 |
rwclough | 1:1eb96189824d | 82 | #define RESERVED 0x15 |
rwclough | 1:1eb96189824d | 83 | #define NFC_LOW_DETECTION 0x16 |
rwclough | 2:bd5afc5aa139 | 84 | #define NFCID 0x17 |
rwclough | 1:1eb96189824d | 85 | #define NFC_TARGET_LEVEL 0x18 |
rwclough | 1:1eb96189824d | 86 | #define NFC_TARGET_PROTOCOL 0x19 |
rwclough | 1:1eb96189824d | 87 | #define TEST_SETTINGS_1 0x1A |
rwclough | 1:1eb96189824d | 88 | #define TEST_SETTINGS_2 0x1B |
rwclough | 2:bd5afc5aa139 | 89 | #define FIFO_CONTROL 0x1C |
rwclough | 2:bd5afc5aa139 | 90 | #define TX_LENGTH_BYTE_1 0x1D |
rwclough | 2:bd5afc5aa139 | 91 | #define TX_LENGTH_BYTE_2 0x1E |
rwclough | 2:bd5afc5aa139 | 92 | #define FIFO 0x1F |
rwclough | 2:bd5afc5aa139 | 93 | |
rwclough | 2:bd5afc5aa139 | 94 | // BITs |
rwclough | 2:bd5afc5aa139 | 95 | #define BIT0 0x01 // 0b00000001 |
rwclough | 2:bd5afc5aa139 | 96 | #define BIT1 0x02 // 0b00000010 |
rwclough | 2:bd5afc5aa139 | 97 | #define BIT2 0x40 // 0b00000100 |
rwclough | 2:bd5afc5aa139 | 98 | #define BIT3 0x08 // 0b00001000 |
rwclough | 2:bd5afc5aa139 | 99 | #define BIT4 0x10 // 0b00010000 |
rwclough | 2:bd5afc5aa139 | 100 | #define BIT5 0x20 // 0b00100000 |
rwclough | 2:bd5afc5aa139 | 101 | #define BIT6 0x40 // 0b01000000 |
rwclough | 2:bd5afc5aa139 | 102 | #define BIT7 0x80 // 0b10000000 |
rwclough | 2:bd5afc5aa139 | 103 | |
rwclough | 2:bd5afc5aa139 | 104 | // Misc |
rwclough | 2:bd5afc5aa139 | 105 | #define SIXTEEN_SLOTS 0x06 |
rwclough | 2:bd5afc5aa139 | 106 | #define ONE_SLOT 0x26 |
soumi_ghsoh | 5:93c612f43ec2 | 107 |