cebf746

Dependents:   CEBF746_Master CEBF746_Slave_withTPM CEBF746_Master_New

Committer:
gandol2
Date:
Fri Oct 28 06:02:38 2016 +0000
Revision:
15:a640557e1778
Parent:
13:0d15bf5eee8c
161028_2rd Test OK

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gandol2 0:1c4544e653cd 1 #ifndef _CUBE_CEBF746_H_
gandol2 0:1c4544e653cd 2 #define _CUBE_CEBF746_H_
gandol2 0:1c4544e653cd 3
gandol2 1:9cdb963ed27f 4
gandol2 1:9cdb963ed27f 5
gandol2 6:f1ec76e536ef 6 #define DEBUG_CEBF746
gandol2 6:f1ec76e536ef 7 #ifdef DEBUG_CEBF746
gandol2 6:f1ec76e536ef 8 #define PRINTD_CEBF746(arg1,arg2...) printf(arg1,##arg2)
gandol2 6:f1ec76e536ef 9 #endif
gandol2 1:9cdb963ed27f 10
gandol2 15:a640557e1778 11 #define CEBF746_CMD_WAIT() SPI_WAIT(50)
gandol2 7:29386624a20f 12
gandol2 7:29386624a20f 13 #define CEB_BUF_SIZE 16
gandol2 10:dfbdb5885250 14 #define CEB_CRC_SIZE 2
gandol2 9:50facfecef45 15 #define WRITE_SELF_TEST_RET_CODE 0xA0
gandol2 15:a640557e1778 16 #define WRITE_SELF_TEST_DATA {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10} // 16byte data
gandol2 8:da02e9d56be6 17 #define READ_SELF_TEST_DATA "ReadTestString-" // 16byte data
gandol2 7:29386624a20f 18
gandol2 0:1c4544e653cd 19 /* CEBF716_FUNCTION */
gandol2 0:1c4544e653cd 20 typedef enum {
gandol2 6:f1ec76e536ef 21 FUNC_READ_STATUS = 0x01, // read status register
gandol2 6:f1ec76e536ef 22 FUNC_WRITE_ENC_DATA = 0x02, // 암호화 필요 데이터 Write
gandol2 6:f1ec76e536ef 23 FUNC_READ_ENC_DATA = 0x03, // 암호화된 데이터 Read
gandol2 6:f1ec76e536ef 24 FUNC_WRITE_DEC_DATA = 0x04, // 암호화 필요 데이터 Write
gandol2 6:f1ec76e536ef 25 FUNC_READ_DEC_DATA = 0x05, // 복호화된 데이터 Read
gandol2 10:dfbdb5885250 26 FUNC_WRITE_SELF_TEST = 0x80, //
gandol2 10:dfbdb5885250 27 FUNC_READ_SELF_TEST = 0x81, //
gandol2 0:1c4544e653cd 28 } CEBF716_FUNCTION;
gandol2 0:1c4544e653cd 29
gandol2 0:1c4544e653cd 30
gandol2 0:1c4544e653cd 31
gandol2 0:1c4544e653cd 32
gandol2 0:1c4544e653cd 33
gandol2 0:1c4544e653cd 34 /* CEBF716_COMMAND_RETURN_CODE */
gandol2 0:1c4544e653cd 35 typedef enum {
gandol2 0:1c4544e653cd 36 SUCESS = 0x00, // No errors
gandol2 0:1c4544e653cd 37
gandol2 0:1c4544e653cd 38
gandol2 0:1c4544e653cd 39 } CEBF716_COMMAND_RETURN_CODE;
gandol2 0:1c4544e653cd 40
gandol2 1:9cdb963ed27f 41
gandol2 10:dfbdb5885250 42 typedef struct _encDataStr{
gandol2 10:dfbdb5885250 43 uint8_t encData[16]; //
gandol2 10:dfbdb5885250 44 uint16_t keyCrc;
gandol2 10:dfbdb5885250 45 } encDataStr;
gandol2 10:dfbdb5885250 46
gandol2 1:9cdb963ed27f 47 typedef struct _spiDataStr{
gandol2 10:dfbdb5885250 48 uint16_t size; // buf + crc16 size
gandol2 1:9cdb963ed27f 49 uint8_t *buf;
gandol2 12:3f5b2a723813 50 uint16_t keycrc16; // crc16 of buf[]
gandol2 10:dfbdb5885250 51 uint16_t crc16; // crc16 of buf[]
gandol2 1:9cdb963ed27f 52 } spiDataStr;
gandol2 1:9cdb963ed27f 53
gandol2 3:fb27d3b1fa0b 54
gandol2 6:f1ec76e536ef 55 void cebf746_use_init(void);
gandol2 13:0d15bf5eee8c 56 void cebf746_print_cmd(uint8_t opCode);
gandol2 6:f1ec76e536ef 57 int16_t cebf746_packet_write(CEBF716_FUNCTION cebf746_command, spiDataStr* sendPacketStruct);
gandol2 7:29386624a20f 58 int16_t cebf746_packet_read(CEBF716_FUNCTION cebf746_command, spiDataStr* readPacketStruct);
gandol2 12:3f5b2a723813 59 void cebf746_set_packet(spiDataStr* setSpiDataStr, uint16_t size, uint8_t * buf);
gandol2 11:900c14faf070 60 void _cebf746_print_packet(uint16_t size, uint8_t* buf, uint16_t crc16);
gandol2 5:e805b956e247 61 void cebf746_print_packet(spiDataStr* in);
gandol2 3:fb27d3b1fa0b 62
gandol2 0:1c4544e653cd 63 #endif /* _CUBE_CEBF746_H_ */