00001
00037 #ifndef _SCD_LOGGER_H_
00038 #define _SCD_LOGGER_H_
00039
00040 #include <stdint.h>
00041
00042 #define LOG_BUFFER_SIZE 3000 // static for simplicity
00043
00044
00046 struct log_struct {
00047 uint8_t log_buffer[LOG_BUFFER_SIZE];
00048 uint32_t position;
00049 };
00050 typedef struct log_struct log_struct_t;
00051
00052
00061 typedef enum {
00062
00063 LOG_BYTE_ATR_FROM_ICC = (0x00 << 2 | 0x00),
00064 LOG_BYTE_ATR_TO_TERMINAL = (0x01 << 2 | 0x00),
00065 LOG_BYTE_TO_TERMINAL = (0x02 << 2 | 0x00),
00066 LOG_BYTE_FROM_TERMINAL = (0x03 << 2 | 0x00),
00067 LOG_BYTE_TO_ICC = (0x04 << 2 | 0x00),
00068 LOG_BYTE_FROM_ICC = (0x05 << 2 | 0x00),
00069
00070
00071 LOG_TERMINAL_CLK_ACTIVE = (0x10 << 2 | 0x00),
00072 LOG_TERMINAL_RST_LOW = (0x11 << 2 | 0x00),
00073 LOG_TERMINAL_TIME_OUT = (0x12 << 2 | 0x00),
00074 LOG_TERMINAL_ERROR_RECEIVE = (0x13 << 2 | 0x00),
00075 LOG_TERMINAL_ERROR_SEND = (0x14 << 2 | 0x00),
00076
00077
00078 LOG_ICC_ACTIVATED = (0x20 << 2 | 0x00),
00079 LOG_ICC_DEACTIVATED = (0x21 << 2 | 0x00),
00080 LOG_ICC_RST_HIGH = (0x22 << 2 | 0x00),
00081 LOG_ICC_ERROR_RECEIVE = (0x23 << 2 | 0x00),
00082 LOG_ICC_ERROR_SEND = (0x24 << 2 | 0x00),
00083 LOG_ICC_INSERTED = (0x25 << 2 | 0x00),
00084
00085
00086
00087 LOG_TIME_DATA_TO_ICC = (0x30 << 2 | 0x03),
00088 LOG_TIME_GENERAL = (0x31 << 2 | 0x03),
00089
00090 LOG_ERROR_MEMORY = (0x32 << 2 | 0x00),
00091 LOG_WDT_RESET = (0x33 << 2 | 0x00),
00092
00093 }SCD_LOG_BYTE;
00094
00099 typedef enum{
00100 LOG_COM_SIDE_ICC = 0,
00101 LOG_COM_SIDE_TERMINAL = 1,
00102 LOG_COM_SIDE_BOTH = 2,
00103 }LOG_COM_SIDE;
00104
00106 void ResetLogger(log_struct_t *logger);
00107
00109 uint8_t LogByte1(log_struct_t *logger, SCD_LOG_BYTE type, uint8_t byte_a);
00110
00112 uint8_t LogByte2(log_struct_t *logger, SCD_LOG_BYTE type, uint8_t byte_a,
00113 uint8_t byte_b);
00114
00116 uint8_t LogByte3(log_struct_t *logger, SCD_LOG_BYTE type, uint8_t byte_a,
00117 uint8_t byte_b, uint8_t byte_c);
00118
00120 uint8_t LogByte4(log_struct_t *logger, SCD_LOG_BYTE type, uint8_t byte_a,
00121 uint8_t byte_b, uint8_t byte_c, uint8_t byte_d);
00122
00123
00124 #endif // _SCD_LOGGER_H_
00125