major USB update

This commit is contained in:
roel@libnfc.org 2012-12-04 23:39:18 +00:00
commit 902cb3c00b
44 changed files with 649 additions and 513 deletions

View file

@ -12,27 +12,10 @@
#ifndef __COMMON_H
#define __COMMON_H
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include <at91sam7s512.h>
typedef unsigned char byte_t;
//-----------------------------------------------------------------------------
// ISO 14443A
//-----------------------------------------------------------------------------
typedef struct {
uint8_t atqa[2];
uint8_t sak;
uint8_t ats_len;
uint8_t ats[20]; //FIXME: size?
} __attribute__((__packed__)) iso14a_card_select_t;
typedef enum ISO14A_COMMAND {
ISO14A_CONNECT = 1,
ISO14A_NO_DISCONNECT = 2,
ISO14A_APDU = 4,
ISO14A_RAW = 8,
ISO14A_REQUEST_TRIGGER = 0x10,
ISO14A_APPEND_CRC = 0x20,
ISO14A_SET_TIMEOUT = 0x40
} iso14a_command_t;
#endif

View file

@ -24,12 +24,23 @@ typedef BYTE uint8_t;
#endif
typedef struct {
uint32_t cmd;
uint32_t arg[3];
union {
uint8_t asBytes[48];
uint32_t asDwords[12];
} d;
uint32_t cmd;
uint32_t arg[3];
union {
uint8_t asBytes[48];
uint32_t asDwords[12];
} d;
} PACKED HidCommand;
#define USB_CMD_DATA_SIZE 512
typedef struct {
uint32_t cmd;
uint32_t arg[3];
union {
uint8_t asBytes[USB_CMD_DATA_SIZE];
uint32_t asDwords[USB_CMD_DATA_SIZE/4];
} d;
} PACKED UsbCommand;
// For the bootloader