interrupt handling

Dependencies:  

readerComm.h

Committer:
rwclough
Date:
2015-03-05
Revision:
2:bd5afc5aa139
Parent:
1:1eb96189824d
Child:
3:eaae5433ab45

File content as of revision 2:bd5afc5aa139:

/*
    Header file for readerComm.cpp
*/

//  Prototypes
void initialSettings(void);
void spiDirectCommand(uint8_t *buffer);
void spiWriteSingle(uint8_t *buffer, uint8_t length);
void spiReadSingle(uint8_t *buffer, uint8_t number);
void spiReadContinuous(uint8_t *buffer, uint8_t length);
void spiRawWrite(uint8_t *buffer, uint8_t length);
void stopDecoders(void);
void runDecoders(void);
void txNextSlot(void);
void disableSlotCounter(void);
void trf7970Reset(void);
void turnRfOn(void);
void turnRfOff(void);
void writeIsoControl(uint8_t iso_control);
void resetIrqStatus(void);
void iso15693FindTag(void);
void Iso15693Anticollision(uint8_t *mask, uint8_t length);

//  Booleans
#define     DESELECT    1
#define     SELECT      0
#define     ADDRESS     0
#define     COMMAND     1
#define     WRITE       0
#define     READ        1

//  Direct commands
#define IDLE                        0x00
#define SOFT_INIT                   0x03
#define INITIAL_RF_COLLISION        0x04
#define RESPONSE_RF_COLLISION_N     0x05
#define RESPONSE_RF_COLLISION_0     0x06
#define RESET                       0x0F
#define TRANSMIT_NO_CRC             0x10
#define TRANSMIT_CRC                0x11
#define DELAY_TRANSMIT_NO_CRC       0x12
#define DELAY_TRANSMIT_CRC          0x13
#define TRANSMIT_NEXT_SLOT          0x14
#define CLOSE_SLOT_SEQUENCE         0x15
#define STOP_DECODERS               0x16
#define RUN_DECODERS                0x17
#define CHECK_INTERNAL_RF           0x18
#define CHECK_EXTERNAL_RF           0x19
#define ADJUST_GAIN                 0x1A

//  Registers
#define CHIP_STATUS_CONTROL         0x00
#define ISO_CONTROL                 0x01
#define ISO_14443B_OPTIONS          0x02
#define ISO_14443A_OPTIONS          0x03
#define TX_TIMER_EPC_HIGH           0x04
#define TX_TIMER_EPC_LOW            0x05
#define TX_PULSE_LENGTH_CONTROL     0x06
#define RX_NO_RESPONSE_WAIT_TIME    0x07
#define RX_WAIT_TIME                0x08
#define MODULATOR_CONTROL           0x09
#define RX_SPECIAL_SETTINGS         0x0A
#define REGULATOR_CONTROL           0x0B
#define IRQ_STATUS                  0x0C
#define IRQ_MASK                    0x0D
#define COLLISION_POSITION          0x0E
#define RSSI_LEVELS                 0x0F
#define SPECIAL_FUNCTION_1          0x10
#define SPECIAL_FUNCTION_2          0x11
#define RAM_0                       0x12
#define RAM_1                       0x13
#define FIFO_IRQ_LEVELS_ADJ         0x14
#define RESERVED                    0x15
#define NFC_LOW_DETECTION           0x16
#define NFCID                       0x17
#define NFC_TARGET_LEVEL            0x18
#define NFC_TARGET_PROTOCOL         0x19
#define TEST_SETTINGS_1             0x1A
#define TEST_SETTINGS_2             0x1B
#define FIFO_CONTROL                0x1C
#define TX_LENGTH_BYTE_1            0x1D
#define TX_LENGTH_BYTE_2            0x1E
#define FIFO                        0x1F

//  BITs
#define BIT0                        0x01    // 0b00000001
#define BIT1                        0x02    // 0b00000010
#define BIT2                        0x40    // 0b00000100
#define BIT3                        0x08    // 0b00001000
#define BIT4                        0x10    // 0b00010000
#define BIT5                        0x20    // 0b00100000
#define BIT6                        0x40    // 0b01000000
#define BIT7                        0x80    // 0b10000000

//  Misc
#define SIXTEEN_SLOTS               0x06
#define ONE_SLOT                    0x26