PASII/CandeII_1.4/Include/atr_decoder.h

35 lines
836 B
C

#ifndef _ATR_DECODER_H_
#define _ATR_DECODER_H_
#include "armcm0.h"
#include "sc_reader.h"
#define ATR_MAX_T_LENGTH (31)
#define DEFAULT_FD (0x11)
#pragma pack(push, 1)
typedef struct {
uint8_t TS;
uint8_t T0;
uint8_t T[ATR_MAX_T_LENGTH];
//
uint8_t Check;
uint8_t ILength; //Interface characters length
uint8_t HLength; //Historical characters length
uint8_t TotalLength;
uint8_t Th_Start;
} SC_ATR;
#pragma pack(pop)
void atr_reset(void);
bool atr_decode(SC_ATR *atr);
uint8_t atr_decoder_get_extra_guard_time(void);
uint8_t atr_decoder_get_waiting_integer(void);
bool atr_decoder_get_clock_stop(bool *high);
bool atr_decoder_allow_pps(void);
bool atr_decoder_allow_switch_mode(void);
uint8_t atr_decoder_get_protocol(void);
uint8_t atr_decoder_get_FD(void);
#endif //_ATR_DECODER_H_